本文目录
远程规则集是否安全,先看它能改变什么
rule-providers 本身只是规则文件,不能直接读取账号密码;但它可以改变一个域名走直连、代理还是拒绝。来源不明、自动更新又没有回退的规则,风险就在于敏感请求可能被悄悄送到错误出口。
Rule Provider 参与决定域名走代理、直连还是拒绝。一条范围过宽的 DOMAIN-SUFFIX 规则放在前面,就可能让银行、公司后台或内网登录突然经过陌生节点。风险来自路由变化,不需要规则文件拥有读取密码的权限。
连接记录里出现意外策略时,先切回上一份缓存并断开旧连接,再比较规则文件。把异常时间、Provider 名称、命中条目和最终出口放在一起,才能区分维护者误收域名、本地顺序错误或远端内容被替换。
先追到仓库与提交,再复制 raw 地址
添加前必须能回答
- 这个 raw 文件属于哪个公开仓库和维护者
- 仓库提交记录是否与规则主题一致
- 下载内容是 YAML/MRS 文本,而不是登录页、脚本或短链跳转
- 当前配置能否保留上一次下载的本地文件
- 出现错误时是否知道怎样停用这一个 Provider
分支地址会随每次提交变化,适合已经信任且需要更新的规则;提交哈希地址内容固定,适合银行、公司直连等变化少、影响大的规则。两者可以并存,不必把所有来源都设成每小时更新。
让 URL、格式、本地路径和更新时间都看得见
rule-providers:
research:
type: http
behavior: domain
format: yaml
url: https://raw.githubusercontent.com/OWNER/REPO/COMMIT/rules.yaml
path: ./ruleset/research.yaml
interval: 86400
rules:
# REPLACE_WITH_POLICY 必须换成当前配置中已经存在的策略组
- RULE-SET,research,REPLACE_WITH_POLICY
- MATCH,DIRECTOWNER、REPO、COMMIT 和 REPLACE_WITH_POLICY 都是占位内容,复制后不能直接启用。把它们换成已经核对过的仓库、固定提交和现有策略组。
behavior、format 必须与远端内容一致;path 应落在内核有权限写入的位置。把规则引用放在 MATCH 之前,也要避开公司网段、局域网和必须直连的高优先级规则。
更新成功后看规则数量与修改时间,再挑几条熟悉域名检查命中。只看到页面提示“更新完成”,还不能证明当前运行配置真的引用了新文件。
重要规则更新前,用 diff 看它改了什么
RULE_URL='https://raw.githubusercontent.com/OWNER/REPO/COMMIT/rules.yaml'
curl -L --fail --show-error -o rules.new.yaml "$RULE_URL"
sha256sum rules.new.yaml
diff -u rules.last.yaml rules.new.yaml | lessmacOS 可以用 shasum -a 256 代替 sha256sum。哈希只能证明两次文件是否相同,不能证明内容本身可信;真正需要看的仍是新增与删除条目、仓库提交说明和规则主题是否一致。
文件从几千行突然变成几十行、开头出现 <!doctype html>、或视频规则一次加入大量账号与银行域名,都应暂停自动更新。
已经走错策略时,先回退文件再处理账号
如果异常刚好出现在 Provider 更新之后,先恢复上一份规则并断开旧连接。路由恢复以后,再判断敏感请求是否真的经过了错误出口。
异常处置
停止该 Provider 更新
切回上一份缓存或暂时移除 RULE-SET 引用。
重载配置并断开连接
新请求应恢复原策略,旧会话不会自动改出口。
对照仓库变更
确认是误收条目、地址迁移、格式变化还是来源无法验证。
检查敏感账号
如果登录请求曾经过意外出口,查看登录记录并按风险更换凭据。
改用固定提交或替代来源
无法解释的远端文件不再恢复自动更新。
