搜索你想找的开源项目

输入名称、用途或关键词,也可粘贴 GitHub 仓库链接

分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

idy/tailsplit

运维与部署

按 sing-box 规则选择哪些流量走 Tailscale 出口节点、哪些直连,并支持切换多个 Tailscale 网络。

112
9
Go
GPL-3.0
创建于 6 天前

项目介绍

TailSplit 面向使用多个 Tailscale 网络、又只想让部分流量走出口节点的用户。它基于 sing-box 的路由规则,可以按域名和 IP 段决定哪些流量走所选出口节点、哪些保持直连,并支持在多个 Tailscale 网络之间切换。切换网络时,内置设备会被登出,需要重新授权新网络。

项目提供 macOS 和 Windows 桌面应用,以及 macOS、Windows、Linux 的 CLI。路由有两种模式:应用代理为单个应用提供本地 HTTP/SOCKS 监听,系统路由在设置 tun.enabled 后接管系统流量。两种模式都会创建 DNS TUN,并依赖特权网络服务:Windows 由安装程序安装该服务,macOS 在首次连接时请求管理员批准。

快速使用

  1. 从 GitHub Releases 下载桌面安装包;macOS 和 Linux 也可以用会校验 SHA-256 的安装脚本:

    curl -fsSL https://tailsplit.idy.dev/install.sh | sh
    

    如果只需要用户级 CLI,在管道后追加 sh -s -- --cli --no-sudo。macOS 用户还可以使用 Homebrew tap。

  2. 打开 TailSplit,登录 Tailscale,选择网络和出口节点。打开应用不会自动连接;可以在连接页的出口选择器中切换,或用 Tailscale Ping 测试单个出口。

  3. 连接前在 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 生成,更新于 ,以项目官方文档为准。