Surfboard
Surfboard · 文档中心

让每一次配置,都清晰可控。

从基础安装到代理、DNS 与分流规则,逐步掌握 Surfboard 配置方式。

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 参数,需要依照产品文档支持范围逐项配置。