更换代理集合来源,通常是改 url、改 path,或改 type(http / file / inline)。资料要求每个集合有必须且不重复的名称,path 也不可重复,并建议名称不要和策略组重复。改源前先记下这些名字和与名称相关的过滤、覆写规则,避免改完之后其它配置按旧名找不到集合,或两个 provider 争同一路径。
适用条件
适用于准备更换某 proxy-providers 条目的远程地址、本地文件或 inline 内容,且配置里还有策略组或其他集合的场合。适用于启用了 filter 或名称覆写、旧规则可能绑在旧节点名上的场合。本页未列出全部引用语法;要记录的是它明确要求唯一、或明确可能与策略组冲突的名称,以及会按名称筛选、改写节点的那些字段。
应记录的名称与判断依据
- 集合名称。名称必须,例如
provider1,不能重复,建议不要和策略组名称重复。这是proxy-providers下的键名。更换来源时若顺便改名,所有按该名称指向此集合的地方都会对不上。判断:记下当前键名,并列出已有策略组名称,确认新名也不会冲突。 path。可选但不可重复;不填时使用url的 MD5 作为文件名。更换url而不写path,落盘文件名会随 MD5 改变;更换path则可能与另一 provider 冲突,或越出 HomeDir /SAFE_PATHS。判断:记下现用路径,或记下「由 url MD5 生成」这一事实。新路径仍须唯一,且落在启动参数-d的 HomeDir 或SAFE_PATHS内(Windows 下分号分割,其他系统下冒号分割)。- 过滤与覆写所依赖的名称形态。
filter与exclude-filter按节点名称关键词或正则筛选;override.additional-prefix、additional-suffix、proxy-name(pattern/target,支持正则)以及override-expr会改写节点名。来源更换后远程节点名不同,旧正则可能筛空。判断:记下这些字段的原文,而不是只记一个新url。exclude-type按节点type排除,也应一并记下。 type与备用payload。http依赖url,inline使用payload,file使用文件。http或file解析失败时,payload可作为备用代理。判断:记下当前类型和是否存在payload,以免新来源一旦解析失败仍显示旧备用节点,被误判成引用名错了。
health-check.url 是延迟测试地址,interval 是更新时间,二者都不是集合的引用名称,不必当作改源前的命名记录。
失败时下一步
改源后集合消失或与另一组节点缠在一起,先核对该集合名称有没有被改、path 是否重复、新名是否与策略组相同。列表空了则对照已记录的过滤和名称覆写是否仍匹配新来源。解析失败时检查是否仍在使用未更新的 payload。路径触发安全限制时,用已记录路径对照 HomeDir 与 SAFE_PATHS。未记录就已改源时,只能从现有 proxy-providers 键名、path 和策略组名重新盘点,不要把客户端里的显示标题当成配置键名。