--- /dev/null +++ b/docs/configuration/omv.zh.md @@ -0,0 +1,55 @@ +# 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` 级别,以减少日志噪音。