[Proxy Resource] 外部节点资源
本节用于定义外部代理服务器列表资源,支持从本地文件路径或远程 HTTP/HTTPS URL 加载配置,供 [Proxy Group] 调度组引用。节名支持声明为 [Proxy Resource] 或 [Resource]。
语法声明块
外部节点资源通过标准的 INI 配置行进行声明:
ini
name = source, [options...]各组成部分解析如下:
name:资源的唯一命名标识,供[Proxy Group]调度组的includes选项引用。source:资源地址位置参数,必须作为第一个参数声明。支持本地相对路径、绝对路径或远程 HTTP/HTTPS URL。若地址中包含逗号或等号,需整体使用双引号包裹。[options...]:键值选项(格式为key=value),用于配置资源自动更新周期等控制参数。
字段详解
source(本地路径或 HTTP/HTTPS URL,必填) 资源获取来源;取第一个位置参数作为资源定位地址。update-interval(正整数,单位:秒,未设置) 远程资源的定时拉取与自动刷新周期;未配置时仅在系统启动或手动重载时拉取。- 自定义扩展选项(字符串键值对,默认空字符串) 保留选项,供扩展属性使用。
加载与更新机制
- 异步下载与本地缓存:配置加载时异步拉取远程资源并写入本地缓存;重新启动时优先读取本地有效缓存,不阻塞启动流程。
- 更新失败处理:定时更新或重载时若远程请求失败,系统继续使用本地现有缓存节点。
- 调度组动态集成:调度组声明
includes=ResourceName后,系统将外部资源中定义的代理服务器合入该调度组的候选列表中,共同执行健康检查与路由决策。
配置示例
基础配置
ini
[Proxy Resource]
# 1. 远程 HTTP/HTTPS 节点资源(每 24 小时自动更新)
GlobalNodes = "https://subscribe.example.com/api/v1/client/subscribe?token=<TOKEN>", update-interval=86400
# 2. 备用远程节点资源(每 12 小时自动更新)
BackupNodes = "https://backup.example.com/profiles/nodes.conf", update-interval=43200
# 3. 本地文件节点资源(相对路径)
LocalNodes = ./nodes/local_nodes.conf
[Proxy Group]
# 自动测速组:引用远程节点资源
AutoTest = url-test, includes=GlobalNodes, check-interval=300, tolerance=1
# 故障转移组:主节点故障时顺延使用备用节点资源
FallbackGroup = fallback, ProxyA, includes=BackupNodes, check-interval=60
# 手动选择组:同时引用远程资源与本地文件节点
ManualSelect = select, DIRECT, includes="GlobalNodes,LocalNodes"