2026/9/23

为什么做 Specola

Specola 是面向开发者的规则分流工具。你用纯文本 TOML 写清楚:哪些连接直连、哪些拒绝、 哪些走你自己运营或有权使用的代理服务器。Specola 按域名、IP、端口或发起连接的进程, 把这套规则应用到本机的每一条连接上。

我们首先为运行 Omarchy 和 Arch Linux 的开发者而做。

要解决的问题

一台开发机会同时和很多网络打交道:

常见方案都不太合适。HTTP_PROXY 环境变量有一半工具不认,还会漏进你不希望生效的 shell; 系统级 VPN 或 TUN 把所有流量一刀切;各个工具自己的代理参数分散在十几个配置文件里。

真正需要的是一个文件写明“这个进程、这个域名、这个网段 → 那条路由”,再由路由器对每个程序 强制执行——包括那些无视代理设置的程序。

Specola 是什么

Specola 由两个进程组成:

在 Linux 上,Core 的增强模式使用 eBPF 而不是 TUN 设备:挂在 cgroup v2 上的程序在 socket 发起连接时就能看到所属进程和目标地址。没有命中任何规则的连接保持原始 socket,完全不经过用户态; 可能被规则接管的连接才会重定向到 Core 的本地监听,由完整规则列表做最终决定。原理见 《不用 TUN 的进程级分流》

Specola 不是什么

Specola 是软件,不是网络服务。它不包含服务器、IP 地址、带宽或匿名服务,只把你本机的流量 送往你自己配置的目标和代理。默认配置只做直连。

为什么是 Omarchy

Omarchy 用户本来就生活在纯文本配置里:Hyprland 快捷键、Waybar 模块、放在 Git 里的 dotfiles。 一个同样用配置文件驱动的路由器——一份 TOML、一个可以绑定到快捷键的无界面 Core——能融入这套工作流,而不是和它对着干。

Arch 内核也已经具备 eBPF 后端需要的全部条件:足够新的内核、cgroup v2 和 BTF。 《在 Omarchy 上使用 Specola》完整演示了配置过程,包括今天就能用的 Waybar 状态模块和 Hyprland 快捷键。

Specola 是独立产品,与 Omarchy 项目没有隶属或背书关系。

面向谁

如果只想要一个开关把所有流量送到一台服务器,更简单的工具就够了。

接下来

现在已经可用:Mixed HTTP/SOCKS5 监听,Direct / Global / Rule 模式,代理、代理组, 按域名、IP、GeoIP、端口和进程的规则,带 Fake-IP 的 DNS,以及 Linux eBPF 增强模式。

面向 Omarchy 的路线图:

后续进展会发布在这个博客,入门请阅读手册