A cross-platform sing-box GUI client for Windows, Linux, and macOS built with Tauri 2 + Vue 3
✨ Features • 🏗️ Architecture • 🚀 Quick Start • 🛠️ Development • 📚 Documentation
Sing-Box Windows is a modern desktop client built around the sing-box core. It provides a cleaner workflow for importing subscriptions, switching proxy modes, inspecting runtime state, and managing desktop integration across Windows, Linux, and macOS.
Android users can also check sing-box-windows-android.
- Subscription import: Supports sing-box JSON, Clash/Mihomo YAML, and URI list input.
- Proxy modes: Switch between system proxy, TUN mode, and manual mode.
- Runtime visibility: Monitor traffic, active connections, rules, and logs in real time.
- Kernel management: Built-in kernel resource pipeline, version download, and manual kernel import.
- Desktop integration: Tray mode, auto-start, update checks, and window state persistence.
- Reliability tools: Backup/restore, subscription rollback, update channels, and self-heal restart logic.
- Localization: Built-in
zh-CN,en-US,ja-JP, andru-RU.
- Frontend: Vue 3 + TypeScript + Pinia + Vue Router + Vue I18n + Naive UI.
- Bridge layer: Tauri
invokecommands for request/response, Tauri events for runtime updates. - Backend: Rust + Tauri 2, with modules split into
core,network,storage,system, andtray. - Storage: SQLite-backed local persistence for app settings, subscriptions, locale, theme, and update preferences.
- Build pipeline:
scripts/tauri-wrapper.mjsinjects target-specific kernel resources beforetauri dev/build.
| Format | Input | Notes |
|---|---|---|
| sing-box JSON | Raw JSON config | Parses top-level outbounds |
| Clash / Mihomo YAML | YAML subscription | Parses proxies and converts supported nodes |
| URI list | vmess://, vless://, trojan://, ss://, hysteria2:// | Supports one or multiple nodes |
Supported node types currently include vless, vmess, trojan, shadowsocks, shadowsocksr, socks, http, and hysteria2.
- Download the latest package from GitHub Releases.
- Import a subscription on the Subscription page.
- Pick a node on the Proxy page and choose a proxy mode.
- Start the kernel from Home and verify traffic or connections in the related pages.
# Install dependencies pnpm install # Recommended on first setup; dev/build also auto-fetches when missing pnpm kernel:fetch # Start desktop development pnpm tauri dev # Frontend checks pnpm type-check pnpm lint # Backend checks cd src-tauri && cargo clippy && cargo test # Build release bundles pnpm tauri buildAll data stays on the local machine.
- Windows:
%LOCALAPPDATA%\sing-box-windows\ - Linux:
~/.local/share/sing-box-windows/ - macOS:
~/Library/Application Support/sing-box-windows/
The directory typically contains the SQLite database, generated configs, logs, backups, and downloaded kernel metadata.
Issues and pull requests are welcome.
- Report bugs in Issues
- Propose ideas in Discussions
- Keep changes aligned with existing architecture and quality gates
Built with ❤️ by XingGao
Disclaimer: This project is for learning and communication purposes only. Please comply with local laws and regulations.
