一个“轻量托盘 + 后台守护 + 订阅转 sing-box 配置”的小工具。
Find a file
2025-12-21 11:54:11 +08:00
assets feat: Implement cross-platform autostart, concurrent subscription updates, graceful sing-box shutdown, and config validation. 2025-12-21 11:54:11 +08:00
cmd/sboxtray 更新 PKGBUILD,修改版本号并添加 Polkit 规则文件;调整 config.template.json 日志级别及 DNS 规则;优化日志输出逻辑,支持按关键词筛选;增强配置生成逻辑,确保出站策略完整性;实现动态订阅刷新功能;修复面板下载链接。 2025-12-17 16:37:36 +08:00
internal feat: Implement cross-platform autostart, concurrent subscription updates, graceful sing-box shutdown, and config validation. 2025-12-21 11:54:11 +08:00
PACKAGE 在核心逻辑中保存并恢复当前运行状态,避免配置重载时丢失设置。 2025-12-20 17:19:53 +08:00
scripts feat: Implement cross-platform autostart, concurrent subscription updates, graceful sing-box shutdown, and config validation. 2025-12-21 11:54:11 +08:00
.gitignore 更新 .gitignore,添加打包和构建相关文件;修改 config.template.json,调整日志级别并添加 DNS 规则;优化 generator.go,增强入站和出站配置逻辑;更新 README,补充打包与分发说明;新增 PKGBUILD、desktop 文件及 setcap hook,支持 Arch Linux 打包。 2025-12-17 12:45:29 +08:00
go.mod feat: Implement cross-platform autostart, concurrent subscription updates, graceful sing-box shutdown, and config validation. 2025-12-21 11:54:11 +08:00
go.sum feat: Implement cross-platform autostart, concurrent subscription updates, graceful sing-box shutdown, and config validation. 2025-12-21 11:54:11 +08:00
readme.md feat: Implement cross-platform autostart, concurrent subscription updates, graceful sing-box shutdown, and config validation. 2025-12-21 11:54:11 +08:00

SBoxTray - 简单的 Sing-Box 托盘管理工具

SBoxTray 是一个轻量级的跨平台托盘程序,专为简化 sing-box 的使用而设计。它主要面向 Linux 和 Windows 用户,提供了订阅管理、节点选择、流量监控和系统代理切换等功能。


🌟 核心功能

  • 订阅管理:支持导入 Clash、V2Ray 等格式的订阅链接,自动更新节点。
  • 一键切换:在托盘菜单中快速切换节点、开启系统代理、切换 TUN 模式。
  • 流量监控:托盘底部实时显示上传/下载速度。
  • 配置生成:自动将订阅节点转换为 sing-box 配置文件,无需手动编写 JSON。
  • 自定义模板:支持自定义生成的配置文件模板,满足高级需求。

🚀 快速开始

1. 下载与安装

Windows

  1. 确保电脑上安装了 Go 环境。
  2. 下载本项目源代码。
  3. 在项目根目录下,右键点击 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. 首次运行与配置订阅

  1. 启动程序,此时托盘会出现一个图标(如果未配置订阅,可能显示为灰色或默认图标)。
  2. 点击托盘图标 -> 订阅配置 -> 添加订阅
  3. 程序会自动打开配置文件(通常是 config/config.jsonconfig.yaml)。
  4. 在配置文件中找到 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 规则、修改路由策略),可以使用自定义模板功能。

  1. 程序启动时,会自动在配置目录下生成 template/config.template.json
  2. 您可以使用文本编辑器打开该文件。这是一个标准的 sing-box JSON 配置,但其中的 outbounds 部分包含了占位符。
  3. 修改方法
    • 修改 dns 字段添加您需要的 DNS 服务器。
    • 修改 route 字段增减规则。
    • 注意:请勿删除带有 🎈 Auto, 🚀 Select 标签的出站对象,这些是程序自动管理节点所必需的。
  4. 修改完成后,点击托盘菜单 -> 高级设置 -> 重载配置,即可立即生效。
  5. 自动容错:如果您修改的模板有语法错误导致内核无法启动,程序会自动忽略您的修改并使用内置默认模板启动,并在日志中输出警告。

注意事项

  1. 保留 Tag:程序会生成包含以下 Tag 的出站,请勿在您的自定义配置中使用相同名称,否则会被覆盖或忽略:
    • 🎈 Auto, 🚀 Select, 🎯 Direct, 🛑 Block, 🐟 Fallback, GLOBAL
    • direct, block, dns-out
  2. TUN 模式
    • 开启 TUN 模式需要管理员权限Windows或 Root 权限Linux
    • 开启后,所有系统流量都会经过 sing-box 核心,请确保您的节点剩余流量充足。
  3. 日志查看:程序运行日志会输出到配置目录下的 log/ 文件夹,遇到问题时请先查看最新日志。

🛠️ 托盘菜单概览

  • 状态显示顶部显示内核运行状态Running/Stopped
  • 系统代理:一键开启/关闭系统 HTTP 代理。
  • TUN 模式:一键开启/关闭虚拟网卡接管。
  • 订阅配置
    • 快速切换当前使用的订阅源。
    • 更新当前订阅并应用:拉取最新节点并重载内核。
    • 添加订阅:打开配置文件进行编辑。
  • 面板:打开外部 Web 控制面板(需自行配置 clash_api 或使用 MetacubexD 等)。
  • 高级设置
    • 重启核心:仅重启进程,不重新生成配置。
    • 重载配置:强制根据模板重新生成配置文件并重启。
    • 打开配置目录:快速定位到文件位置。
  • 实时网速:底部显示当前上传/下载速率。