Skip to content

配置参考 ​

配置文件基于 INI 格式,通过不同章节定义全局设置、代理服务器、调度组、分流策略和 HTTP 处理。各章节的字段、取值、默认值与约束见对应文档。

章节 ​

章节内容
General日志、DNS 解析机制、本地流量接管与全局设置
Proxy代理传输协议、连接管理与网络出口配置
Proxy Group服务器调度组与出口选择
Proxy Resource外部代理服务器列表资源;节名也接受 Resource
PluginProfile 叠加、启用条件与优先级
Rule匹配条件、目标动作与外部策略文件
Host静态地址、域名别名和上游解析器
KeystoreSSH 私钥与 P12 证书的命名材料
MITMHTTPS 解密范围与 CA
Response固定文本响应
URL RewriteURL 改写、重定向与拒绝
Header Rewrite请求头修改
ScriptHTTP、定时与网络事件脚本

配置格式 ​

章节与配置行 ​

章节使用 [section] 声明,名称按上表大小写书写。无章节名的键值行按 [General] 解析,未知章节被忽略。

键值配置使用 key = value,键和值两端的空白会被去除。代理服务器、调度组、插件和资源使用 name = arguments。分流规则使用逗号分隔的规则行,重写规则使用空白分隔的规则行,具体语法见对应章节。

配置按行解析,一条配置写在一行。空行可用于分隔内容,不支持将一个值换行续写。

值类型与引号规则 ​

配置文件中的值以纯文本书写,支持以下四种基础数据类型:

  • 字符串
    • 写法示例:interface = en0、"https://example.com/check?token=abc,123"
    • 说明:包含普通文本、文件路径、URL、IP 地址及网络网段。若字符串包含空格、逗号 ,、等号 = 或井号 # 等特殊字符,必须使用成对双引号 "" 包裹。
  • 布尔值
    • 写法示例:ipv6 = true、ipv6 = yes、ipv6 = 1
    • 说明:开关状态,支持 true / false、yes / no、1 / 0,大小写不敏感。
  • 数值
    • 写法示例:test-timeout = 5、port = 1080
    • 说明:十进制整数,用于端口号、时间秒数或阈值等,不附加任何单位后缀。
  • 列表
    • 写法示例:dns-server = 223.5.5.5, 119.29.29.29
    • 说明:以英文逗号 , 分隔的多个元素。若列表项本身包含逗号或等号,该项必须使用双引号整体包裹(如 includes="ResA,ResB")。

双引号规则说明:

  • 包含特殊分隔符(逗号、等号、空格、井号)的字符串值或参数必须使用双引号包裹;
  • 双引号字符串内部表示双引号字符本身时,使用 \" 进行转义;
  • 无特殊分隔符的值直接书写,不使用引号。

注释 ​

以 # 或 ; 开头的行是注释。值中首次出现的 # 或 ; 位于值开头或前面有空白时,其后的内容作为行尾注释;紧接值的符号保留为值的一部分。行尾注释识别不区分引号内部与外部。

ini
# 整行注释
[General]
log-level = info # 行尾注释

[Host]
example.com = server:https://dns.example.com/dns-query#route

示例 ​

ini
[General]
log-level = info
dns-server = system

[Proxy]
Node = socks, proxy.example.com, 1080

[Proxy Group]
Group = select, Node, DIRECT, includes=RemoteNodes

[Proxy Resource]
RemoteNodes = https://example.com/nodes.conf, update-interval=86400

[Plugin]
Extension = ./plugins/extension.conf

[Rule]
DOMAIN,example.com,DIRECT
FINAL,Group

[Host]
static.example.com = 192.0.2.1

[MITM]
hostname = *.example.com
ca-p12 = <BASE64_CERT_DATA>
ca-passphrase = <PASSWORD>

[Response]
^http://example\.com/status$ = ready

[URL Rewrite]
^http://example\.com/old$ http://example.com/new 302

[Header Rewrite]
http-request ^http://example\.com/ header-add X-Example 1

[Script]
Request = type=http-request, pattern=^http://example\.com/, script-path=./scripts/request.js