1
0
mirror of https://github.com/nitezs/sub2sing-box.git synced 2024-12-23 14:54:42 -05:00

📝 Modify README and docker compose

This commit is contained in:
Nite07 2024-10-03 01:43:42 +08:00
parent 3729675031
commit 6e99e8f57b
2 changed files with 66 additions and 44 deletions

108
README.md
View File

@ -1,65 +1,87 @@
# sub2sing-box # sub2sing-box
将订阅/节点连接转换为 sing-box 配置的工具。
## 控制台命令 ## 控制台命令
`sub2sing-box <command> -h` 查看帮助 使用 `sub2sing-box <command> -h` 查看各命令的帮助信息。
## Api ## 配置
### GET /convert?data=xxx 示例:
data 为 base64 URL 编码(将编码字符串中`/`替换为`_``+`替换为`-`)的 JSON 结构体,示例 ```json
```
{ {
"subscriptions": ["订阅地址1", "订阅地址2"], "subscriptions": ["订阅地址1", "订阅地址2"],
"proxies": ["代理1", "代理2"], "proxies": ["代理1", "代理2"],
"template": "模板路径/网络地址", "template": "模板路径网络地址",
"delete": "", "delete": "",
"rename": {"原文本": "新文本"}, "rename": { "原文本": "新文本" },
"group-type": "selector", "group-type": "selector",
"sort": "name", "sort": "name",
"sort-type": "asc" "sort-type": "asc"
} }
``` ```
该 JSON 同时可用于 `convert``--config` 参数,以便本地生成 sing-box 配置。 将上述 JSON 内容保存为 `config.json`,然后执行:
例如将上方 JSON 内容存放于 `config.json` 后执行 `sub2sing-box convert -c ./config.json` 即可生成 sing-box 配置,免去每次生成时重复设置参数
## Template 占位符 ```
sub2sing-box convert -c ./config.json
```
- `<all-proxy-tags>`: 插入所有节点标签 即可生成 sing-box 配置,无需每次重复设置参数。
```
{
"type": "selector",
"tag": "节点选择",
"outbounds": ["<all-proxy-tags>", "direct"],
"interrupt_exist_connections": true
}
```
- `<all-country-tags>`: 插入所有国家标签
```
{
"type": "selector",
"tag": "节点选择",
"outbounds": ["<all-country-tags>", "direct"],
"interrupt_exist_connections": true
}
```
- `<国家(地区)二字码>`: 插入国家(地区)所有节点标签,例如 `<tw>`
```
{
"type": "selector",
"tag": "巴哈姆特",
"outbounds": ["<tw>", "direct"],
"interrupt_exist_connections": true
}
```
## Docker
`docker run -p 8080:8080 nite07/sub2sing-box`
## 模板 ## 模板
默认模板(`./templates/example.json`) 是 `tun+fakeip` 配置,大家可以根据需求自行修改 ### 默认模板
默认模板位于 `templates` 目录,使用 `tun+fakeip` 配置,可以根据需求自行修改模板内容。
### 占位符
模板中可使用以下占位符:
- `<all-proxy-tags>`: 插入所有节点标签
- `<all-country-tags>`: 插入所有国家标签
- `<国家(地区)二字码>`: 插入指定国家(地区)所有节点标签,如 `<tw>`
占位符使用示例:
```json
{
"type": "selector",
"tag": "节点选择",
"outbounds": ["<all-proxy-tags>", "direct"],
"interrupt_exist_connections": true
}
{
"type": "selector",
"tag": "节点选择",
"outbounds": ["<all-country-tags>", "direct"],
"interrupt_exist_connections": true
}
{
"type": "selector",
"tag": "巴哈姆特",
"outbounds": ["<tw>", "direct"],
"interrupt_exist_connections": true
}
```
## Docker 使用
```
docker run -p 8080:8080 nite07/sub2sing-box
```
可以挂载目录添加自定义模板
## Server 模式 API
### GET /convert
| query | 描述 |
| ----- | ----------------------------------------------------------------------------------------------------------------------- |
| data | 同上方配置,但需要使用 [base64 URL safe 编码](<https://gchq.github.io/CyberChef/#recipe=To_Base64('A-Za-z0-9%2B/%3D')>) |

View File

@ -1,4 +1,3 @@
version: "3.8"
services: services:
sub2sing-box: sub2sing-box:
image: nite07/sub2sing-box:latest image: nite07/sub2sing-box:latest
@ -7,3 +6,4 @@ services:
- ./templates:/app/templates - ./templates:/app/templates
ports: ports:
- 8080:8080 - 8080:8080
restart: unless-stopped