Specola 手册
Specola 是面向开发者的规则分流工具。它读取一份纯文本 TOML 配置,接收本地 HTTP/SOCKS5 端口的流量, 或在 Linux 上通过 eBPF 透明接管的流量,把每条连接送往 DIRECT、REJECT、代理或代理组。
Specola 由两个进程组成:
specola-core:C++20 + Asio 协程实现,负责配置、监听、路由、DNS、代理协议和增强模式,可以 脱离 UI 独立运行;- 桌面 UI:Qt Quick (QML) 实现,负责启动和监控 Core,只通过本地 MessagePack RPC 接口与它通信。
核心主题
大多数配置只需要以下页面,建议按顺序阅读:
| 步骤 | 页面 | 内容 |
|---|---|---|
| 1 | 基础配置 | 路由模式、本地 HTTP/SOCKS5 端口、日志、控制接口 |
| 2 | 代理 | 你自己运营或有权使用的上游服务器 |
| 3 | 代理组 | select、url-test、fallback、load-balance 与健康检查 |
| 4 | 分流规则 | 域名、IP、GeoIP、端口和进程规则 |
| 5 | DNS | 上游解析器、Fake-IP |
| 6 | Linux eBPF | 基于 cgroup v2 的按进程透明分流 |
第一次使用
- 按快速开始操作,先确认 Direct 模式下本地端口可用;
- 添加一个代理,切换到 Global 验证远程路径;
- 代理单独可用后,再添加规则和代理组;
- 在 Linux 上最后开启 eBPF 增强模式,并准备好回退方法。
所有受支持的字段见完整配置。
先确认三个概念
本地端口与增强模式是两条不同的入口。 本地端口只服务于显式设置了 127.0.0.1:<port> 的应用; 增强模式接管其余应用的流量,并会改变系统网络状态。
配置不是代理服务。 默认的 Direct 配置只证明本地应用工作正常;Specola 不提供任何远程服务器。
UI 设置与 Core 的 TOML 相互独立。 窗口、托盘、主题、刷新频率等偏好不是 Core 配置字段。
排错顺序
一次只检查一层:UI/Core 连接 → 本地端口 → Direct → Global → Rule → 增强模式。保留日志中的第一条 错误,不要同时修改 DNS、路由和透明接管。