01 基础端口与运行字段
这些字段位于 config.yaml 的顶层,控制内核的基础运行方式。
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| port | 数字 | 7890 | HTTP 代理监听端口。 |
| socks-port | 数字 | 7891 | SOCKS5 代理监听端口。 |
| mixed-port | 数字 | 无 | 同时支持 HTTP 与 SOCKS5 的混合端口,推荐只配置这一个端口,系统代理指向它即可。 |
| allow-lan | 布尔 | false | 是否允许局域网内其他设备连接本机的代理端口,路由器/共享场景需开启。 |
| bind-address | 字符串 | * | 配合 allow-lan 使用,指定监听的网卡地址,* 表示监听所有网卡。 |
| mode | 字符串 | rule | 运行模式:rule(按规则分流)、global(全局走同一节点)、direct(全部直连)。 |
| log-level | 字符串 | info | 日志详细程度:silent / error / warning / info / debug。 |
| external-controller | 字符串 | 无 | 开启外部控制 API 的监听地址(如 127.0.0.1:9090),Dashboard 面板依赖此接口。 |
| secret | 字符串 | 无 | 访问 external-controller 接口所需的密钥,局域网暴露该接口时建议设置。 |
| ipv6 | 布尔 | false | 是否启用 IPv6 支持,包括 IPv6 出站连接与规则匹配。 |
提示:推荐只使用
mixed-port 而不单独配置 port 和 socks-port,可以减少一个需要记忆的端口号。02 proxies 节点字段
每个节点是 proxies 列表下的一项,不同协议共享一部分通用字段,另有各自专属的字段。
| 字段 | 适用范围 | 说明 |
|---|---|---|
| name | 通用 | 节点名称,在策略组与界面展示中作为唯一标识,建议不要重复。 |
| type | 通用 | 协议类型:ss(Shadowsocks)、vmess、trojan、snell、socks5 等。 |
| server / port | 通用 | 节点服务器地址与端口。 |
| cipher | ss / snell | 加密方式,如 aes-256-gcm、chacha20-ietf-poly1305。 |
| password | ss / trojan / snell | 连接密码或密钥。 |
| uuid / alterId | vmess | VMess 协议专属的身份标识字段。 |
| udp | 通用 | 是否启用 UDP 转发,影响游戏、语音、DNS 等 UDP 类流量能否走代理。 |
| tls / skip-cert-verify | trojan 等 | 是否启用 TLS 加密,以及是否跳过证书校验(自签名证书场景可能需要)。 |
| network | vmess 等 | 传输层协议,如 tcp、ws(WebSocket)、grpc。 |
# 一个 Trojan 节点的配置示例
proxies:
- name: "HK-01"
type: trojan
server: example.com
port: 443
password: "your-password"
udp: true
skip-cert-verify: false03 proxy-groups 策略组字段
| 字段 | 说明 |
|---|---|
| name | 策略组名称,在 rules 中作为目标策略被引用。 |
| type | select(手动选择)、url-test(自动测速选优)、fallback(故障转移)、load-balance(负载均衡)、relay(多级串联)。 |
| proxies | 该策略组包含的节点名称列表,也可以引用其他策略组名称实现嵌套。 |
| url | url-test / fallback 类型使用的测速地址,通常使用一个轻量的可用性检测接口。 |
| interval | 自动测速的时间间隔(秒),到时间自动重新测速一次。 |
| tolerance | url-test 类型的容差值(毫秒),延迟差异在容差范围内不会频繁切换节点。 |
| use | 引用某个 Proxy Provider 提供的节点列表,而非手动列出的 proxies。 |
# 自动测速策略组示例
proxy-groups:
- name: "PROXY"
type: url-test
proxies: ["HK-01", "SG-01", "JP-01"]
url: "http://www.gstatic.com/generate_204"
interval: 300
tolerance: 5004 rules 规则字段
规则的写法统一为 类型,匹配内容,目标策略,按从上到下顺序匹配,命中即停止。
| 规则类型 | 示例 | 说明 |
|---|---|---|
| DOMAIN | DOMAIN,ad.example.com,REJECT | 精确匹配完整域名。 |
| DOMAIN-SUFFIX | DOMAIN-SUFFIX,github.com,PROXY | 匹配该域名及其所有子域名,最常用。 |
| DOMAIN-KEYWORD | DOMAIN-KEYWORD,ad-track,REJECT | 域名包含指定关键字即匹配。 |
| GEOIP | GEOIP,CN,DIRECT | 按目标 IP 所属国家/地区匹配。 |
| IP-CIDR / IP-CIDR6 | IP-CIDR,192.168.0.0/16,DIRECT | 按 IPv4/IPv6 地址段匹配。 |
| SRC-IP-CIDR | SRC-IP-CIDR,192.168.1.100/32,DIRECT | 按发起请求的源 IP 匹配,常用于局域网多设备差异化分流。 |
| DST-PORT / SRC-PORT | DST-PORT,443,PROXY | 按目标/源端口号匹配。 |
| PROCESS-NAME | PROCESS-NAME,chrome.exe,PROXY | 按发起请求的进程名匹配,仅桌面端支持。 |
| RULE-SET | RULE-SET,reject,REJECT | 引用一个已定义的 rule-providers 规则集。 |
| MATCH | MATCH,PROXY | 兜底规则,必须放在最后一行。 |
05 rule-providers 规则集字段
规则集把大量规则统一放在远程文件中维护,客户端定期拉取更新,避免手动逐条编写。
| 字段 | 说明 |
|---|---|
| type | http(远程 URL)或 file(本地文件)。 |
| behavior | domain(域名列表)、ipcidr(IP 段列表)、classical(完整规则语法混合列表)。 |
| url | type 为 http 时的远程地址。 |
| path | 规则集缓存到本地的文件路径。 |
| interval | 自动更新间隔(秒)。 |
# 定义一个远程规则集,并在 rules 中引用
rule-providers:
reject:
type: http
behavior: domain
url: "https://example.com/reject.txt"
path: ./ruleset/reject.yaml
interval: 86400
rules:
- RULE-SET,reject,REJECT
- MATCH,PROXY提示:更多规则集的实际选型与更新策略,见博客文章《Rule Provider 规则集完全指南》。
06 dns 与 tun 字段
dns 配置字段
| 字段 | 说明 |
|---|---|
| enable | 是否启用内核自带的 DNS 服务器(替代系统 DNS),推荐开启以配合 Fake-IP 使用。 |
| listen | 内核 DNS 服务的本地监听地址,如 0.0.0.0:53。 |
| enhanced-mode | fake-ip 或 redir-host,决定域名解析后续如何配合规则分流。 |
| fake-ip-range | Fake-IP 使用的虚拟地址段,通常使用私有地址段避免冲突。 |
| nameserver | 正常解析使用的上游 DNS 服务器列表。 |
| fallback | 当 nameserver 解析结果被判定为污染时使用的备用 DNS 列表。 |
tun 配置字段
| 字段 | 说明 |
|---|---|
| enable | 是否开启 TUN 模式,需要管理员/root 权限或系统网络扩展授权。 |
| stack | 协议栈实现:gVisor(用户态,兼容性更好)或 System(系统态,性能更高)。 |
| auto-route | 是否自动接管系统路由表,开启后无需手动配置路由规则。 |
| auto-detect-interface | 自动探测出站网卡,避免虚拟网卡与物理网卡路由冲突。 |
提示:TUN 模式与 Fake-IP 通常配合使用效果最好,具体开启步骤与常见问题见进阶配置教程。