idy/tailsplit
运维与部署按 sing-box 规则选择哪些流量走 Tailscale 出口节点、哪些直连,并支持切换多个 Tailscale 网络。
项目介绍
TailSplit 面向使用多个 Tailscale 网络、又只想让部分流量走出口节点的用户。它基于 sing-box 的路由规则,可以按域名和 IP 段决定哪些流量走所选出口节点、哪些保持直连,并支持在多个 Tailscale 网络之间切换。切换网络时,内置设备会被登出,需要重新授权新网络。
项目提供 macOS 和 Windows 桌面应用,以及 macOS、Windows、Linux 的 CLI。路由有两种模式:应用代理为单个应用提供本地 HTTP/SOCKS 监听,系统路由在设置 tun.enabled 后接管系统流量。两种模式都会创建 DNS TUN,并依赖特权网络服务:Windows 由安装程序安装该服务,macOS 在首次连接时请求管理员批准。
快速使用
-
从 GitHub Releases 下载桌面安装包;macOS 和 Linux 也可以用会校验 SHA-256 的安装脚本:
curl -fsSL https://tailsplit.idy.dev/install.sh | sh如果只需要用户级 CLI,在管道后追加
sh -s -- --cli --no-sudo。macOS 用户还可以使用 Homebrew tap。 -
打开 TailSplit,登录 Tailscale,选择网络和出口节点。打开应用不会自动连接;可以在连接页的出口选择器中切换,或用 Tailscale Ping 测试单个出口。
-
连接前在 Settings → Routing rules 检查路由规则。对应的 YAML 配置为:
rules: source: builtin也可以选择自定义 URL/文件或不用规则列表。内置规则首次使用时下载,之后缓存以便离线复用。
使用 CLI 时,从 config.example.yaml 起步:
tailsplit init -c config.yaml
tailsplit check -c config.yaml
sudo tailsplit run -c config.yaml
Windows CLI 连接时需要在管理员终端中运行。DNS、规则列表、网络权限和配置迁移见 CLI 配置文档。
使用约束
- 桌面端支持 macOS 14+(Apple Silicon 或 Intel)和 Windows 10+ x64 或 Windows 11 ARM64;Linux 仅提供 amd64 或 arm64 的 CLI。
- 两种路由模式都需要特权网络访问:Windows 由安装程序安装服务,macOS 首次连接时请求管理员批准。
- Windows 可执行文件未签名,安装前应核对发布包的校验和。
- 自定义规则源支持 Base64 和纯文本域名列表,包括不带 AutoProxy 头的列表。
- 从源码构建需要 Go 1.26.2+ 和 Python 3.11+;macOS 应用构建还需要 Xcode Command Line Tools 和 Swift。项目采用 GPL-3.0-or-later 许可,并附第三方声明。
HotRepo 点评
项目在 2026-11-08 进入 Go 新项目榜,在约一小时的统计窗口内新增 7 个 Star 和 1 个 Fork,创建首周内达到 108 Star。样本较小,说明的是 Tailscale 分流这一细分场景有早期关注,而非广泛采用。对一个新项目来说,README 覆盖较完整——安装校验、平台矩阵和 CLI 文档都有;但 Windows 产物未签名,观察期也短,发布侧还缺少足够的使用痕迹来判断。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。