From 6e99e8f57bc5112396211bc327cb79fe701351c4 Mon Sep 17 00:00:00 2001 From: Nite07 Date: Thu, 3 Oct 2024 01:43:42 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9D=20Modify=20README=20and=20docker?= =?UTF-8?q?=20compose?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 108 ++++++++++++++++++++++++++------------------ docker-compose.yaml | 2 +- 2 files changed, 66 insertions(+), 44 deletions(-) diff --git a/README.md b/README.md index e013eee..aafaac7 100644 --- a/README.md +++ b/README.md @@ -1,65 +1,87 @@ # sub2sing-box +将订阅/节点连接转换为 sing-box 配置的工具。 + ## 控制台命令 -`sub2sing-box -h` 查看帮助 +使用 `sub2sing-box -h` 查看各命令的帮助信息。 -## Api +## 配置 -### GET /convert?data=xxx +示例: -data 为 base64 URL 编码(将编码字符串中`/`替换为`_`,`+`替换为`-`)的 JSON 结构体,示例 - -``` +```json { "subscriptions": ["订阅地址1", "订阅地址2"], "proxies": ["代理1", "代理2"], - "template": "模板路径/网络地址", + "template": "模板路径或网络地址", "delete": "", - "rename": {"原文本": "新文本"}, + "rename": { "原文本": "新文本" }, "group-type": "selector", "sort": "name", "sort-type": "asc" } ``` -该 JSON 同时可用于 `convert` 的 `--config` 参数,以便本地生成 sing-box 配置。 -例如将上方 JSON 内容存放于 `config.json` 后执行 `sub2sing-box convert -c ./config.json` 即可生成 sing-box 配置,免去每次生成时重复设置参数 +将上述 JSON 内容保存为 `config.json`,然后执行: -## Template 占位符 +``` +sub2sing-box convert -c ./config.json +``` -- ``: 插入所有节点标签 - ``` - { - "type": "selector", - "tag": "节点选择", - "outbounds": ["", "direct"], - "interrupt_exist_connections": true - } - ``` -- ``: 插入所有国家标签 - ``` - { - "type": "selector", - "tag": "节点选择", - "outbounds": ["", "direct"], - "interrupt_exist_connections": true - } - ``` -- `<国家(地区)二字码>`: 插入国家(地区)所有节点标签,例如 `` - ``` - { - "type": "selector", - "tag": "巴哈姆特", - "outbounds": ["", "direct"], - "interrupt_exist_connections": true - } - ``` - -## Docker - -`docker run -p 8080:8080 nite07/sub2sing-box` +即可生成 sing-box 配置,无需每次重复设置参数。 ## 模板 -默认模板(`./templates/example.json`) 是 `tun+fakeip` 配置,大家可以根据需求自行修改 +### 默认模板 + +默认模板位于 `templates` 目录,使用 `tun+fakeip` 配置,可以根据需求自行修改模板内容。 + +### 占位符 + +模板中可使用以下占位符: + +- ``: 插入所有节点标签 +- ``: 插入所有国家标签 +- `<国家(地区)二字码>`: 插入指定国家(地区)所有节点标签,如 `` + +占位符使用示例: + +```json +{ + "type": "selector", + "tag": "节点选择", + "outbounds": ["", "direct"], + "interrupt_exist_connections": true +} + +{ + "type": "selector", + "tag": "节点选择", + "outbounds": ["", "direct"], + "interrupt_exist_connections": true +} + +{ + "type": "selector", + "tag": "巴哈姆特", + "outbounds": ["", "direct"], + "interrupt_exist_connections": true +} +``` + +## Docker 使用 + +``` +docker run -p 8080:8080 nite07/sub2sing-box +``` + +可以挂载目录添加自定义模板 + +## Server 模式 API + +### GET /convert + +| query | 描述 | +| ----- | ----------------------------------------------------------------------------------------------------------------------- | +| data | 同上方配置,但需要使用 [base64 URL safe 编码]() | diff --git a/docker-compose.yaml b/docker-compose.yaml index 4d8f985..f62346e 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,4 +1,3 @@ -version: "3.8" services: sub2sing-box: image: nite07/sub2sing-box:latest @@ -7,3 +6,4 @@ services: - ./templates:/app/templates ports: - 8080:8080 + restart: unless-stopped