-
Notifications
You must be signed in to change notification settings - Fork 29
Surfboard

Android 上的 Surge 精神继承者——用模块化配置,驾驭每一比特的流向
Surfboard 是一款将 iOS 上 Surge 的配置哲学完整移植到 Android 平台的代理客户端。它不追 Clash 的 YAML 语法,也不学 V2Ray 的 JSON 格式,而是独树一帜地采用了 Surge 风格的 INI 配置体系,并在此基础上延伸出了自己的模块化生态。对于从 Surge 迁移过来的用户,Surfboard 几乎是零学习成本;对于 Android 原生用户,它则提供了一种比 Clash 更接近“规则集 + 模块”的玩法——你既可以把它当作纯粹的代理工具,也可以将它塑造成一个带广告拦截、脚本重写的网络中枢。
如果你对代理生态还很陌生,建议先阅读 什么是“机场”? 和 Clash 使用教程 打好基础。等你理解了节点、订阅和分流的关系,Surfboard 就是你 Android 手机上那枚能让 Surge 规则与 Clash 订阅共舞的万能适配器。
一个精确定位:
Surfboard = Android 原生 VPN 框架 + Surge 风格配置语法 + Clash 订阅兼容 + 模块化规则系统
它自身不产生任何代理节点,必须通过机场订阅链接、手动添加服务器或导入 Surge/Clash 配置来获取航线。和 Clash for Android 的“策略组为中心”不同,Surfboard 以 Ruleset(规则集)和 Module(模块)为核心组织逻辑。你可以在主配置中引用远程规则集,再通过模块叠加额外的分流或重写行为,整个过程就像在搭积木。
它的数据流向清晰且灵活:
机场订阅 / Surge 配置 / Clash 配置
↓
导入 Surfboard
↓
内置引擎解析(Surge 语法 / Clash 兼容)
↓
规则集 + 模块组合分流
↓
流量从目标节点发出
↓
互联网
在 Android 代理客户端百花齐放的今天,Surfboard 用以下特色找到了自己的忠实用户群:
如果你曾经在 iPhone 或 Mac 上使用过
Surge,你会对 Surfboard 的配置文件感到无比亲切。它使用的 .conf 格式与 Surge 高度相似:
[General]
loglevel = notify
dns-server = system, 223.5.5.5
[Proxy]
HK-01 = ss, hk1.example.com, 443, encrypt-method=aes-256-gcm, password=xxxx
[Proxy Group]
手动选择 = select, HK-01, DIRECT
[Rule]
DOMAIN-SUFFIX,openai.com,手动选择
GEOIP,CN,DIRECT
FINAL,手动选择
这种语法比 Clash YAML 更紧凑,对于熟悉 Surge 的用户来说几乎没有迁移成本。Surfboard 甚至还支持导入 Surge 的 .conf 文件,自动转换大部分字段。
与
Surge 的 Module 类似,Surfboard 支持加载 .sgmodule 格式的模块文件。社区中有大量现成的 Surfboard 模块,覆盖广告拦截、流媒体解锁、AI 分流、Cookie 获取等场景。你只需在配置中引用模块的远程 URL,所有规则自动生效,无需修改主配置。
虽然 Surfboard 的原生语法是 Surge 风格,但它对 Clash 生态的兼容性却出奇地好:
- 可以直接导入 Clash 订阅链接,自动解析出节点。
- 支持导入 Clash YAML 配置,并尝试将规则映射为 Surfboard 的 Ruleset。
- 部分机场同时提供 Surfboard 格式的订阅,体验更佳。
这意味着你不需要为了 Surfboard 而放弃之前积累的 Clash 资源。两者可以在同一台设备上共存,共享同一份机场订阅。
Surfboard 的规则集机制允许你从远程 URL 加载分流规则,而不必将所有规则都写进主配置。例如,你可以分别引用“广告拦截规则集”“AI 服务规则集”“国内直连规则集”,每个规则集独立维护、独立更新。这与 Clash Verge Rev 的 Rule Provider 思想一致,但实现得更早,社区积累也更丰富。
Surfboard 的安装包精简,运行时资源占用低,在老旧 Android 设备上也能流畅运行。开发者维护活跃,对新协议和 Android 新版本的适配跟进及时。
Surfboard 的 APK 安装包主要通过 Google Play 和开发者的 GitHub 仓库发布。如果你需要统一获取本 Wiki 涉及的多款客户端资源,也可以访问我们维护的发布页:
📦 Clashforwinodws 官方 Releases 页面
▲ 该页面汇总了本 Wiki 涉及的多款客户端最新版本。你可以在其中找到 Surfboard 的 APK,也可以获取 Clash for Android、 v2rayNG 等替代品。
安装步骤:
- 下载 APK 文件到手机。
- 在 Android 设置中允许“安装未知来源应用”。
- 点击 APK 完成安装,桌面出现 Surfboard 图标。
- 首次启动时,应用会请求 VPN 权限,点击“允许”以接管网络流量。

▲ 首次打开 Surfboard,你会看到一个简洁的仪表板,连接状态一目了然
机场提供的订阅链接是获取节点的主要方式。Surfboard 支持 Surge 格式和 Clash 格式的订阅:
https://your-airport.com/sub?target=surge&token=xxxx或者:
https://your-airport.com/sub?target=clash&token=xxxx在 Surfboard 中操作:
- 打开应用,点击右上角的菜单按钮(三个点),选择 配置。
- 点击底部中间的“+”按钮,选择 从 URL 导入。
- 粘贴订阅链接,自定义一个名称。
- 点击保存,Surfboard 会自动下载并解析节点。
- 返回主界面,在配置列表中选中刚导入的配置,点击底部连接按钮。

▲ 配置管理页面支持多份配置共存,点击即可切换
如果导入失败,请参考 Clash 使用教程 中的订阅排错部分。Surfboard 的订阅设置中同样支持自定义 User-Agent。
Surfboard 的界面围绕“仪表板”和“配置”两个核心区域展开:
主屏幕展示了连接状态、当前节点、实时速率、总流量和活跃规则数量。底部有一个大型的连接/断开按钮,点击即可切换状态。仪表板的信息密度适中,不会让人感到压抑。

▲ 仪表板将最常用的状态信息集中展示,无需进入菜单即可掌握全局
在仪表板中点击当前节点,可以展开完整的节点列表和策略组。策略组类型包括手动选择、自动测速、故障转移等,行为与 Clash for Windows 中的策略组类似。你可以点击任意节点切换,也可以长按查看详细信息。
通过右上角菜单进入。这里列出了所有已导入的配置,支持:
- 新建空白配置
- 从 URL 导入
- 从本地文件导入
- 编辑当前配置(内置文本编辑器)
- 导出配置
Surfboard 的特色功能区。你可以:
- 从 URL 添加
.sgmodule模块。 - 启用/禁用模块,无需修改主配置。
- 调整模块的执行顺序。
实时显示连接日志,支持按级别过滤和按关键词搜索。排查问题时,这里的 DNS 解析和规则匹配记录非常详尽。
Surfboard 提供多种代理模式,通过仪表板或配置中的 General 段切换:
| 模式 | 行为 | 适用场景 |
|---|---|---|
| 规则模式 | 按配置中的规则和规则集智能分流 | 日常使用,推荐 |
| 全局模式 | 所有流量走代理 | 测试、统一出口 IP |
| 直连模式 | 所有流量不走代理 | 暂停代理、内网调试 |
与 Clash 客户端类似,规则模式是平衡速度与可达性的最佳选择。Surfboard 的规则系统支持 DOMAIN、DOMAIN-SUFFIX、DOMAIN-KEYWORD、IP-CIDR、GEOIP、RULE-SET 等多种匹配方式,精细度极高。
Surfboard 的原生配置是 Surge 风格,但它的兼容层做得相当出色。你可以:
- 直接导入 Clash 订阅,Surfboard 会自动提取节点。
- 导入 Clash YAML 配置,Surfboard 会尝试转换规则部分(复杂策略组可能有所丢失)。
- 使用社区工具将 Clash 配置完整转换为 Surfboard 格式。
- 导出 Surfboard 配置中的节点为通用链接(vmess://、ss:// 等),供其他客户端使用。
一个包含模块引用的 Surfboard 配置示例:
[General]
loglevel = notify
dns-server = system, 223.5.5.5, https://dns.alidns.com/dns-query
[Proxy]
HK-Hysteria = hysteria2, hk.example.com, 443, password=xxxx
[Proxy Group]
代理 = select, HK-Hysteria, DIRECT
[Rule]
RULE-SET,https://example.com/adblock.sgmodule,REJECT
RULE-SET,https://example.com/ai.sgmodule,代理
GEOIP,CN,DIRECT
FINAL,代理
[Module]
https://example.com/youtube-unlock.sgmodule
想了解更多 Clash 规则语法与分流思想?请阅读 Clash 使用教程 ,其中的逻辑在 Surfboard 中同样有参考价值。
Surfboard 在 Android 生态中占据了一个独特的位置——它是 Surge 用户的移动端替代品,同时也是 Clash 用户尝试 Surge 风格配置的桥梁。它可以与多种客户端无缝配合:
- 与 Surge 协同:在 iPhone 上使用 Surge,在 Android 平板上使用 Surfboard,两份配置可以高度相似,维护起来心智负担极低。
- 与 Clash 客户端协同:在电脑上使用 Clash Verge Rev 精细调试规则,然后将节点信息通过订阅链接共享给 Surfboard 使用。
- 与 v2rayNG 互补:Surfboard 的强项在规则和模块,而 v2rayNG 的强项在极致轻量和 V2Ray 协议深度支持。两者可以共存,按场景切换。
其他可搭配的客户端还包括 Clash Meta for Android、 Hiddify Next、 karing 等。 这种跨客户端、跨平台的自由组合,正是 Clash 发展史 中开放生态的最美好一面。
- 检查节点协议是否被 Surfboard 的内核支持。部分新协议(如 VLESS Reality)可能需要特定版本。
- 在日志中搜索节点名称,查看具体的连接错误信息。
- 尝试使用机场提供的 Surge 格式订阅,兼容性通常更好。
- 确认模块的 URL 可以正常访问。
- 检查模块格式是否为
.sgmodule,部分社区模块可能针对 Surge 编写,存在不兼容字段。 - 尝试在配置中手动将模块规则复制到 [Rule] 段测试。
- 确认 Surfboard 的分应用代理设置中,该应用没有被设为“直连”。
- 检查 Android 系统是否限制了 Surfboard 的后台运行,将其加入电池优化白名单。
- 在配置管理中选择“导出”,生成
.conf文件。 - 其他 Android 设备上的 Surfboard 可以直接导入该文件。
- 对于非 Surfboard 客户端,则需要手动转换格式或使用同一份机场订阅重新导入。
| Surfboard | Clash for Android | v2rayNG | |
|---|---|---|---|
| 配置语法 | Surge 风格 INI | Clash YAML | V2Ray JSON |
| Clash 订阅兼容 | ✅ 支持 | ✅ 原生 | ❌ 需转换 |
| 规则能力 | 规则集 + 模块,非常灵活 | 完整 Clash 规则引擎 | 基础路由 + 分应用代理 |
| 模块系统 | ✅ 支持 .sgmodule | ❌ 无 | ❌ 无 |
| 适合用户 | Surge 用户迁移、喜欢模块化配置的玩家 | Clash 生态忠实用户、需要策略组可视化 | V2Ray 节点用户、追求极致轻量 |
如果你是 Surge 的长期用户,Surfboard 是 Android 上最舒适的归宿。如果你已经深度使用 Clash 生态,希望手机和电脑保持完全一致的规则体验,那么 Clash for Android 或 Clash Meta for Android 会更合适。两者并不冲突,你完全可以同时安装,按场景切换。
Surfboard 是 Android 平台上一颗被低估的明珠。它以 Surge 风格的配置语法为骨,以模块化规则系统为翼,同时伸出兼容 Clash 订阅的触手,让不同生态的用户都能在其中找到属于自己的节奏。如果你喜欢搭积木式的规则组合,Surfboard 会让你上瘾。
开始使用 Surfboard 的路径:
从 GitHub 或 Google Play 下载 APK → 导入机场订阅(Surge 或 Clash 格式) → 根据需要加载模块 → 点击连接
完成后,Surfboard 就会在后台安静地按照你的规则集工作。想进一步探索 Clash 生态的深度?本 Wiki 中的其他客户端指南已经为你铺好了路。
—— 下一篇推荐:Quantumult X 使用指南,看看 iOS 平台如何用脚本和重写玩出更多花样。
本文档由
Clashforwinodws/Clash-for-Winodows
社区维护
页面地址:
https://clashforwinodws.github.io/Clash-for-Winodows/