Profile Format / Overview
配置格式概览
Surfboard 通过结构化的配置文件定义网络行为。本页提供中文入门说明与示例;具体语法与支持范围应以当前应用版本为准。
配置文件包含什么?
配置文件格式
Surfboard 使用与 Surge 兼容的配置格式。配置可以包含 General、Host、Proxy、Proxy Group、Rule、Panel 等区块。
[General]
设置 DNS、测试超时、跳过代理等全局选项。
[Host]
定义自定义 DNS 映射、主机名解析等规则。
[Proxy]
声明代理节点或基础策略,如 direct 与 reject。
[Proxy Group]
创建代理策略组,以便在多种策略之间选择或自动测试。
[Rule]
按域名后缀、IP 地址段、进程等匹配条件进行路由。
基础配置示例
以下示例演示常见区块的排列方式与基础内建策略。
surfboard.conf
# 配置结构示意 · 测试地址不可用于实际连接 [General] dns-server = system [Host] example.com = 192.0.2.1 [Proxy] On = direct Off = reject [Proxy Group] Policy = select, On, Off [Rule] DOMAIN-SUFFIX,example.com,Policy FINAL,On
[General]
全局设置区块,控制 DNS 解析、连接测试、本地监听端口等应用级行为。修改此区块会影响整个配置的网络行为。
dns-server— DNS 服务器列表,system表示使用设备默认,可叠加多个地址,以逗号分隔。doh-server— DNS over HTTPS 服务器,加密 DNS 查询,防止 DNS 泄漏。skip-proxy— 不走代理的域名或 IP 段,如局域网地址、本地服务等。proxy-test-url— 用于测量代理节点延迟的 URL,建议使用响应快、稳定的地址。test-timeout— 延迟测试超时时间(秒),超时视为不可达。ipv6— 是否启用 IPv6,设为false可禁用。http-listen/socks5-listen— 本地 HTTP 或 SOCKS5 代理监听地址与端口。
General 示例
[General] dns-server = system, 8.8.8.8, 8.8.4.4 doh-server = https://1.1.1.1/dns-query skip-proxy = 127.0.0.1, 192.168.0.0/16, 10.0.0.0/8, *.local proxy-test-url = http://www.gstatic.com/generate_204 test-timeout = 5 ipv6 = false
[Host]
自定义 DNS 映射区块,可为特定域名指定解析结果,而不经过常规 DNS 查询。适合内网域名解析、屏蔽指定域名或强制使用特定 IP。
domain = IP— 将域名直接映射到指定 IP 地址(A 记录)。*.example.com = IP— 通配符映射,覆盖该域名的所有子域。domain = other.domain— 类似 CNAME,将查询转发给另一域名。domain = server:IP— 指定用于解析该域名的自定义 DNS 服务器。
Host 示例
[Host] # 将内网域名映射到本地 IP nas.home = 192.168.1.100 # 屏蔽某广告域名 ads.example.com = 0.0.0.0 # 使用自定义 DNS 服务器解析特定域名 corp.internal = server:10.0.0.1
[Proxy]
代理节点声明区块,每行定义一个代理服务器或内置策略。Surfboard 支持多种主流协议;内置的 direct 与 reject 策略可直接使用。
direct— 直连,不走任何代理。reject— 拒绝连接,常用于屏蔽广告或追踪域名。- ss — Shadowsocks,参数包括地址、端口、加密方式(
encrypt-method)、密码。 - vmess — V2Ray VMess,支持 WebSocket + TLS 传输。
- trojan — Trojan,基于 TLS,需提供密码与 SNI。
- hysteria2 — 基于 QUIC 的高速协议,低延迟场景适用。
- http / socks5 — 标准 HTTP 或 SOCKS5 代理。
Proxy 示例
[Proxy] On = direct Off = reject # Shadowsocks 节点示例(地址与密码请替换为实际订阅内容) SS-HK = ss, 1.2.3.4, 8388, encrypt-method=chacha20-ietf-poly1305, password=yourpassword, udp-relay=true # Trojan 节点示例 Trojan-JP = trojan, 1.2.3.4, 443, password=yourpassword, sni=example.com, skip-cert-verify=false
[Proxy Group]
代理策略组将多个节点组合成一个可选择或自动切换的策略,供 Rule 区块引用。策略组本身不直接处理流量,而是在组内节点中决定使用哪一个。
select— 手动选择,用户在应用内点击切换节点。url-test— 自动选择延迟最低的节点,按interval(秒)周期测试。fallback— 按顺序使用节点,当前节点不可达时自动切换到下一个。load-balance— 多节点负载均衡,流量分散到各节点。include-all-proxies = true— 自动将所有已定义节点加入该组。
Proxy Group 示例
[Proxy Group] # 手动选择组 Proxy = select, SS-HK, Trojan-JP, DIRECT # 自动测速选最优节点,每 300 秒重测一次 Auto = url-test, SS-HK, Trojan-JP, url=http://www.gstatic.com/generate_204, interval=300, tolerance=50 # 故障转移:SS-HK 不可用时自动切换到 Trojan-JP Fallback = fallback, SS-HK, Trojan-JP, url=http://www.gstatic.com/generate_204, interval=300
[Rule]
流量路由规则区块,按照从上到下的顺序匹配每条流量,并将其分配到对应策略。第一条匹配的规则生效,未匹配的流量由 FINAL 兜底规则处理。
DOMAIN— 精确匹配完整域名。DOMAIN-SUFFIX— 匹配域名后缀,覆盖主域及其所有子域。DOMAIN-KEYWORD— 匹配域名中包含指定关键词的请求。IP-CIDR— 按 IP 段(CIDR)匹配目标地址。GEOIP— 按目标 IP 的地理位置(国家代码)匹配。PROCESS-NAME— 按发起请求的应用包名匹配(Android)。RULE-SET— 引用外部规则集文件,批量导入规则。FINAL— 默认兜底规则,所有未匹配流量的目标策略,每个配置只能有一条,且必须放在最后。
Rule 示例
[Rule] # 国内常用域名直连 DOMAIN-SUFFIX,baidu.com,DIRECT DOMAIN-SUFFIX,taobao.com,DIRECT # 广告拦截 DOMAIN-KEYWORD,ad-tracking,Off # 局域网直连 IP-CIDR,192.168.0.0/16,DIRECT IP-CIDR,10.0.0.0/8,DIRECT # 国内 IP 直连 GEOIP,CN,DIRECT # 其余流量走代理 FINAL,Proxy
[Panel]
自定义信息面板区块,允许在 Surfboard 应用主界面上展示自定义的文本内容或状态信息。适合显示节点信息、到期时间或其他提示。
title— 面板标题,显示在面板顶部。content— 显示内容,支持\n换行。style— 面板样式:info(默认蓝色)、error(红色警告)、logo(显示应用图标)。
Panel 示例
[Panel] StatusPanel = title="代理状态", content="节点:SS-HK\n状态:运行中", style=info ExpirePanel = title="套餐到期", content="到期日:2026-12-31\n剩余流量:50 GB", style=info
进阶内容例如 Managed Config、规则集和 DNS 参数,需要依照产品文档支持范围逐项配置。
Surfboard