习惯了 Clash 或旧版 V2Ray 的朋友,初次看到 Sing-box 的规则分流模块时,都会被其核心创新所吸引 ── Rule Set(规则集)。
传统纯文本或 .dat 格式需占用上百兆内存并耗费数秒解析,而 Sing-box 引入的**二进制规则集(.srs 格式)**将其编译为高性能前缀树,内存开销直降 80%,匹配耗时低于 1ms。
今天我们将全面解析 Sing-box 规则集的远程更新、本地加载与命令行编译全流程!
[!NOTE] 📌 核心速览(TL;DR / 快问快答):
- 二进制格式:统一采用
"format": "binary"配合.srs文件,省内存、抗抖动、秒级启动。- 下载绕行铁律:
remote规则集必须配置"download_detour": "proxy",确保 GitHub Raw 规则更新不受防火墙干扰。- 自动更新:设置
"update_interval": "1d"实现每日静默重载,免去人工维护。- 本地编译指令:
sing-box rule-set compile source.json -o target.srs。
🛠️ 1. 顶层 rule_set 声明与远程自动更新
在 Sing-box config.json 顶层进行声明:
{
"rule_set": [
{
"tag": "geosite-cn",
"type": "remote",
"format": "binary",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/rule-set/geosite-cn.srs",
"download_detour": "proxy",
"update_interval": "1d"
},
{
"tag": "geoip-cn",
"type": "remote",
"format": "binary",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geoip/rule-set/geoip-cn.srs",
"download_detour": "proxy",
"update_interval": "1d"
}
]
}
🔀 2. 路由模块 route.rules 极简引用
在路由判断中直接通过标签引用规则集:
{
"route": {
"rules": [
{
"rule_set": ["geosite-cn", "geoip-cn"],
"outbound": "direct"
}
],
"final": "proxy"
}
}
❓ 常见问题与 AI 快问快答 (FAQ)
Q1: 客户端启动时提示 rule_set compile error 或下载超时怎么排查?
答:请确保在 rule_set 中为 remote 规则配置了 "download_detour": "proxy",且引用的代理节点已正常连通外网。
Q2: 搭配自建海外 VPS 节点,规则集更新对线路有何要求?
答:在 DMIT 或 搬瓦工 等拥有 中国电信 CN2 GIA 或 联通 AS9929 专线 VPS 上,GitHub Raw 规则集的拉取速度在 1 秒以内即可完成。
(相关资源导航:如果您需要购买部署自建节点的独立 VPS,欢迎阅读 《2026 国外 VPS 选购指南》 获取 DMIT、搬瓦工与 CloudCone 优惠;商用专线机场评测见 《“饿饭CC云”深度评测》!)