一个“轻量托盘 + 后台守护 + 订阅转 sing-box 配置”的小工具。
| assets | ||
| cmd/sboxtray | ||
| internal | ||
| PACKAGE | ||
| scripts | ||
| .gitignore | ||
| go.mod | ||
| go.sum | ||
| readme.md | ||
SBoxTray - 简单的 Sing-Box 托盘管理工具
SBoxTray 是一个轻量级的跨平台托盘程序,专为简化 sing-box 的使用而设计。它主要面向 Linux 和 Windows 用户,提供了订阅管理、节点选择、流量监控和系统代理切换等功能。
🌟 核心功能
- 订阅管理:支持导入 Clash、V2Ray 等格式的订阅链接,自动更新节点。
- 一键切换:在托盘菜单中快速切换节点、开启系统代理、切换 TUN 模式。
- 流量监控:托盘底部实时显示上传/下载速度。
- 配置生成:自动将订阅节点转换为 sing-box 配置文件,无需手动编写 JSON。
- 自定义模板:支持自定义生成的配置文件模板,满足高级需求。
🚀 快速开始
1. 下载与安装
Windows
- 确保电脑上安装了 Go 环境。
- 下载本项目源代码。
- 在项目根目录下,右键点击
scripts/install_windows.ps1,选择 "使用 PowerShell 运行"。- 脚本会自动下载最新的 sing-box 内核并编译程序。
- 安装完成后,桌面会出现 SBoxTray 快捷方式。
- 重要:如果需要使用 TUN 模式(虚拟网卡),请右键快捷方式 -> 属性 -> 兼容性 -> 勾选 “以管理员身份运行此程序”。
Linux (Arch Linux)
直接使用 makepkg 安装:
cd PACKAGE
makepkg -si
其他 Linux
# 编译程序
go build -o sboxtray ./cmd/sboxtray
# 运行(需确保 sing-box 在 PATH 中或者通过参数指定)
./sboxtray --singbox /path/to/sing-box
2. 首次运行与配置订阅
- 启动程序,此时托盘会出现一个图标(如果未配置订阅,可能显示为灰色或默认图标)。
- 点击托盘图标 -> 订阅配置 -> 添加订阅。
- 程序会自动打开配置文件(通常是
config/config.json或config.yaml)。 - 在配置文件中找到
subscriptions列表,填写您的订阅信息。
📖 详细使用指南
配置文件说明
第一次运行后,程序会在配置目录(Windows 为同级目录,Linux 为 ~/.config/sboxtray)生成配置文件。
# 核心设置
sing_box_path: "sing-box.exe" # 内核路径,Windows 安装脚本会自动放好
http_port: 2080 # 本地混合代理端口 (HTTP/SOCKS)
mixed_port: 2080 # 同上
log_level: "info" # 日志级别
# 功能开关 (程序会自动更新这些状态)
kernel_enabled: true # 是否运行 sing-box 内核
system_proxy_enabled: true # 是否开启系统代理
tun_enabled: false # 是否开启 TUN 模式 (虚拟网卡)
# 订阅列表
subscriptions:
- id: "sub_1" # 唯一 ID,自动生成
name: "我的机场" # 订阅名称,显示在菜单中
url: "https://example.com/sub/..." # 订阅链接
type: "auto" # 类型:auto (推荐), clash, vless, vmess
enabled: true # 是否启用
interval: 1h # 自动更新间隔,默认 1h
# 当前选中的订阅
active_subscription: "sub_1"
# Web 面板 (可选)
panel_url: "http://127.0.0.1:9090/ui" # 点击“打开面板”时访问的地址
自定义模板 (高级功能)
如果您需要修改 sing-box 的高级配置(如增加 DNS 规则、修改路由策略),可以使用自定义模板功能。
- 程序启动时,会自动在配置目录下生成
template/config.template.json。 - 您可以使用文本编辑器打开该文件。这是一个标准的 sing-box JSON 配置,但其中的
outbounds部分包含了占位符。 - 修改方法:
- 修改
dns字段添加您需要的 DNS 服务器。 - 修改
route字段增减规则。 - 注意:请勿删除带有
🎈 Auto,🚀 Select标签的出站对象,这些是程序自动管理节点所必需的。
- 修改
- 修改完成后,点击托盘菜单 -> 高级设置 -> 重载配置,即可立即生效。
- 自动容错:如果您修改的模板有语法错误导致内核无法启动,程序会自动忽略您的修改并使用内置默认模板启动,并在日志中输出警告。
注意事项
- 保留 Tag:程序会生成包含以下 Tag 的出站,请勿在您的自定义配置中使用相同名称,否则会被覆盖或忽略:
🎈 Auto,🚀 Select,🎯 Direct,🛑 Block,🐟 Fallback,GLOBALdirect,block,dns-out
- TUN 模式:
- 开启 TUN 模式需要管理员权限(Windows)或 Root 权限(Linux)。
- 开启后,所有系统流量都会经过 sing-box 核心,请确保您的节点剩余流量充足。
- 日志查看:程序运行日志会输出到配置目录下的
log/文件夹,遇到问题时请先查看最新日志。
🛠️ 托盘菜单概览
- 状态显示:顶部显示内核运行状态(Running/Stopped)。
- 系统代理:一键开启/关闭系统 HTTP 代理。
- TUN 模式:一键开启/关闭虚拟网卡接管。
- 订阅配置:
- 快速切换当前使用的订阅源。
- 更新当前订阅并应用:拉取最新节点并重载内核。
- 添加订阅:打开配置文件进行编辑。
- 面板:打开外部 Web 控制面板(需自行配置
clash_api或使用 MetacubexD 等)。 - 高级设置:
- 重启核心:仅重启进程,不重新生成配置。
- 重载配置:强制根据模板重新生成配置文件并重启。
- 打开配置目录:快速定位到文件位置。
- 实时网速:底部显示当前上传/下载速率。