跳转至

URL 参数

GET /sub 的查询参数,尽量与 tindy2013/subconverter 保持兼容,老链接可直接替换。

支持的参数

参数 说明 状态
target 输出目标,目前仅 clash
url 订阅链接,多个用 \| 分隔(必填)
config 外部 INI 配置 URL
sort 按节点名排序
udp 强制所有节点开启 UDP
tfo TCP Fast Open
scv skip-cert-verify(跳过证书校验)
emoji subconverter 快捷开关:true=去旧 emoji 后按规则统一加旗;false=去除 emoji 不再加(给不支持 emoji 的客户端)。等价于同时设 add_emoji=<值>remove_emoji=true
add_emoji 是否按规则给节点名前加国旗 emoji(默认 true
remove_emoji 是否先移除节点名中已有的 emoji(默认 true
proxy 本次请求的上游代理,覆盖全局配置(扩展参数)
expand true(默认)把规则内联进配置;false 改为输出 rule-providers 引用远程规则,配置体积大幅减小、规则自动更新
nocache 1 时绕过本次请求的 TTL 缓存,强制重新抓取
flushcache 1 时先清空整个共享缓存再处理本次请求(另有 GET /flushcache 端点)

重命名 / 缓存 / 限流

  • rename:外部配置里写 rename=<正则>@<替换>(支持 \1 / $1 反向引用、空替换),批量改节点名。处理顺序:去 emoji → 重命名 → 加 emoji。
  • 缓存:订阅与规则列表按 URL 做内存 TTL 缓存(默认 300s),避免每次 /sub 都去 GitHub 拉 ~25 个规则列表被限流。cache_ttl: -1s 可关闭。
  • 限流/sub 按客户端 IP 限流(默认 30/min、burst 10),超限返回 429 + Retry-After/version 与 Web 界面不受限。详见 config.example.yaml
  • Subscription-Userinfo:机场返回的流量 / 到期头会透传给客户端,Clash 里直接显示。

emoji 行为(对齐 subconverter)

处理顺序:remove_emoji 去旧 → 再 add_emoji 按正则规则加新旗。规则取自外部配置的 emoji=<正则>,<emoji> 行;未配置时使用内置默认规则集(移植自 subconverter,95 条,已适配 Go RE2)。 优先级:emoji 快捷参数 > add_emoji/remove_emoji > 外部配置 > 默认(均为 true)。 想完全保留原始名字add_emoji=false&remove_emoji=false

暂未实现的参数

以下参数会被识别但走默认值,不影响主流程,后续版本逐步补全:

参数 说明
new_name 新版节点命名
list 仅输出节点列表
fdn filter deprecated nodes
insert 插入节点

布尔参数取值

true / 1 / yes / on 为真,false / 0 / no / off 为假,其余按默认值处理。

编码提醒

urlconfig 都是完整链接,作为参数传入时必须 URL 编码。例如:

  • 原始:https://github.com/you/clash-rule/raw/main/config.init
  • 编码后:https%3A%2F%2Fgithub.com%2Fyou%2Fclash-rule%2Fraw%2Fmain%2Fconfig.init

大多数客户端会自动处理;手动拼接时记得编码。