From 42689fe6e2f14af0f2bd78364510f4899439130e Mon Sep 17 00:00:00 2001 From: InkerBot Date: Thu, 5 Mar 2026 14:09:24 +0800 Subject: [PATCH] add translated docs --- .../configuration/inbound/mysql.zh.md.patch | 59 ++++++++++++++++ .../patch/docs/configuration/omv.zh.md.patch | 60 ++++++++++++++++ .../configuration/outbound/mysql.zh.md.patch | 68 +++++++++++++++++++ .../outbound/urltest.zh.md.patch | 27 ++++++++ 4 files changed, 214 insertions(+) create mode 100644 works/patch/docs/configuration/inbound/mysql.zh.md.patch create mode 100644 works/patch/docs/configuration/omv.zh.md.patch create mode 100644 works/patch/docs/configuration/outbound/mysql.zh.md.patch create mode 100644 works/patch/docs/configuration/outbound/urltest.zh.md.patch diff --git a/works/patch/docs/configuration/inbound/mysql.zh.md.patch b/works/patch/docs/configuration/inbound/mysql.zh.md.patch new file mode 100644 index 0000000..faf46b7 --- /dev/null +++ b/works/patch/docs/configuration/inbound/mysql.zh.md.patch @@ -0,0 +1,59 @@ +--- /dev/null ++++ b/docs/configuration/inbound/mysql.zh.md +@@ -0,0 +1,56 @@ ++// OMV ++ ++### 结构 ++ ++```json ++{ ++ "type": "mysql", ++ "tag": "mysql-in", ++ ++ ... // 监听字段 ++ ++ "users": [ ++ { ++ "user": "root", ++ "password": "my_password" ++ } ++ ], ++ "tls": {}, ++ "multiplex": {} ++} ++``` ++ ++### 监听字段 ++ ++详见 [监听字段](/configuration/shared/listen/)。 ++ ++### 字段 ++ ++#### users ++ ++MySQL 用户列表,用于握手阶段的身份验证。 ++ ++#### tls ++ ++==必填== ++ ++TLS 配置,详见 [TLS](/configuration/shared/tls/#inbound)。 ++ ++由于 MySQL 协议在握手阶段进行 TLS 协商,TLS 必须启用。 ++ ++#### multiplex ++ ++详见 [多路复用](/configuration/shared/multiplex#inbound)。 ++ ++### 说明 ++ ++MySQL 入站通过 MySQL 协议握手完成 TLS 协商,随后在加密连接上运行 smux 多路复用。 ++ ++连接流程: ++ ++1. 客户端连接并执行标准 MySQL 握手(使用 [go-mysql](https://github.com/go-mysql-org/go-mysql)) ++2. TLS 在 MySQL 握手过程中完成协商 ++3. 握手结束后,smux 会话在 TLS 连接之上进行多路复用 ++4. 每个 smux 流携带 1 字节命令(`0x01` 表示 TCP,`0x03` 表示 UDP)加 SOCKS 地址头 ++ ++在网络观察者眼中,该流量表现为正常的 MySQL TLS 会话。 diff --git a/works/patch/docs/configuration/omv.zh.md.patch b/works/patch/docs/configuration/omv.zh.md.patch new file mode 100644 index 0000000..6285c63 --- /dev/null +++ b/works/patch/docs/configuration/omv.zh.md.patch @@ -0,0 +1,60 @@ +--- /dev/null ++++ b/docs/configuration/omv.zh.md +@@ -0,0 +1,57 @@ ++// OMV ++ ++# OMV 改动说明 ++ ++本页面记录了 OMV(omv-dijiang)在上游 sing-box 基础上所做的全部改动。 ++ ++## MySQL 协议 ++ ++一种将流量伪装为 MySQL TLS 连接的自定义代理协议。 ++ ++- [MySQL 入站](/configuration/inbound/mysql/) ++- [MySQL 出站](/configuration/outbound/mysql/) ++ ++### 工作原理 ++ ++1. 客户端与服务端执行标准 MySQL 握手(使用 [go-mysql](https://github.com/go-mysql-org/go-mysql)) ++2. TLS 在 MySQL 协议握手过程中完成协商(与真实 MySQL 客户端升级 TLS 的方式相同) ++3. 握手结束后,[smux](https://github.com/sagernet/smux) 多路复用运行在加密连接之上 ++4. 每个 smux 流携带命令字节和目标地址,随后代理对应连接 ++ ++在网络观察者眼中,该流量表现为正常的 MySQL TLS 会话(端口 3306)。 ++ ++## 订阅支持 ++ ++`sing-box run` 命令支持通过环境变量从远程 URL 获取配置。 ++ ++### 使用方式 ++ ++```bash ++SING_SUBSCRIPTION_LINK="https://example.com/config.json" \ ++SING_SUBSCRIPTION_CACHE="/path/to/cache.json" \ ++sing-box run -c env ++``` ++ ++### 环境变量 ++ ++#### `SING_SUBSCRIPTION_LINK` ++ ++远程配置的获取地址。仅在配置路径指定为 `env`(即 `-c env`)时生效。 ++ ++#### `SING_SUBSCRIPTION_CACHE` ++ ++可选。本地缓存文件路径。 ++ ++- 成功获取配置后,内容会保存到该文件 ++- 获取失败(网络错误或状态码非 200)时,使用缓存文件作为兜底 ++- 若未设置且获取失败,命令将返回错误 ++ ++## URLTest 延迟惩罚(costs) ++ ++`urltest` 出站组支持 `costs` 字段,可为指定出站添加人工延迟惩罚。 ++ ++详见 [URLTest 出站](/configuration/outbound/urltest/#costs)。 ++ ++## 日志级别调整 ++ ++进程路径查询日志(如 "found process path: ..."、"found user: ...")从 `info` 级别降低为 `debug` 级别,以减少日志噪音。 diff --git a/works/patch/docs/configuration/outbound/mysql.zh.md.patch b/works/patch/docs/configuration/outbound/mysql.zh.md.patch new file mode 100644 index 0000000..ef9a8e7 --- /dev/null +++ b/works/patch/docs/configuration/outbound/mysql.zh.md.patch @@ -0,0 +1,68 @@ +--- /dev/null ++++ b/docs/configuration/outbound/mysql.zh.md +@@ -0,0 +1,65 @@ ++// OMV ++ ++### 结构 ++ ++```json ++{ ++ "type": "mysql", ++ "tag": "mysql-out", ++ ++ "server": "127.0.0.1", ++ "server_port": 3306, ++ "username": "root", ++ "password": "my_password", ++ "tls": {}, ++ "multiplex": {}, ++ ++ ... // 拨号字段 ++} ++``` ++ ++### 字段 ++ ++#### server ++ ++==必填== ++ ++服务器地址。 ++ ++#### server_port ++ ++服务器端口。 ++ ++默认 `3306`。 ++ ++#### username ++ ++MySQL 身份验证用户名。 ++ ++默认 `root`。 ++ ++#### password ++ ++MySQL 身份验证密码。 ++ ++#### tls ++ ++TLS 配置,详见 [TLS](/configuration/shared/tls/#outbound)。 ++ ++若未设置或未启用,将使用不验证证书的 TLS 配置(因为 MySQL 握手隧道必须使用 TLS)。 ++ ++#### multiplex ++ ++详见 [多路复用](/configuration/shared/multiplex#outbound)。 ++ ++`max_connections` 选项控制同时维护的 smux 会话数量(每个会话对应一条独立的 MySQL+TLS 连接),新建流以轮询方式分配到各会话。 ++ ++### 拨号字段 ++ ++详见 [拨号字段](/configuration/shared/dial/)。 ++ ++### 说明 ++ ++MySQL 出站连接到 MySQL 入站服务器,通过 MySQL 客户端握手(使用 [go-mysql](https://github.com/go-mysql-org/go-mysql))完成 TLS 协商,随后在加密连接上建立 smux 会话。 ++ ++每个被代理的连接会开启一条新的 smux 流,流头携带 1 字节命令(`0x01` 表示 TCP,`0x03` 表示 UDP)及目标地址。UDP 连接使用 UDP-over-TCP(UoT)方式传输。 diff --git a/works/patch/docs/configuration/outbound/urltest.zh.md.patch b/works/patch/docs/configuration/outbound/urltest.zh.md.patch new file mode 100644 index 0000000..8d7c5d1 --- /dev/null +++ b/works/patch/docs/configuration/outbound/urltest.zh.md.patch @@ -0,0 +1,27 @@ +--- a/docs/configuration/outbound/urltest.zh.md ++++ b/docs/configuration/outbound/urltest.zh.md +@@ -10,6 +10,9 @@ + "proxy-b", + "proxy-c" + ], ++ "costs": { ++ "proxy-c": 100 ++ }, + "url": "", + "interval": "", + "tolerance": 50, +@@ -26,6 +29,14 @@ + + 用于测试的出站标签列表。 + ++#### costs ++ ++出站标签到额外延迟惩罚(毫秒)的映射。 ++ ++惩罚值会叠加到测量延迟上,用于在不移除出站的情况下降低其优先级。 ++ ++例如,`{"proxy-c": 100}` 会给 `proxy-c` 的测量延迟增加 100ms,使其仅在明显快于其他出站时才会被选中。 ++ + #### url + + 用于测试的链接。默认使用 `https://www.gstatic.com/generate_204`。