Skip to content

[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(正整数,单位:秒,未设置) 远程资源的定时拉取与自动刷新周期;未配置时仅在系统启动或手动重载时拉取。
  • 自定义扩展选项(字符串键值对,默认空字符串) 保留选项,供扩展属性使用。

加载与更新机制 ​

  1. 异步下载与本地缓存:配置加载时异步拉取远程资源并写入本地缓存;重新启动时优先读取本地有效缓存,不阻塞启动流程。
  2. 更新失败处理:定时更新或重载时若远程请求失败,系统继续使用本地现有缓存节点。
  3. 调度组动态集成:调度组声明 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"