Skip to content

Repository files navigation

Sing-Box GUI Client

Sing-Box Windows

A cross-platform sing-box GUI client for Windows, Linux, and macOS built with Tauri 2 + Vue 3

✨ Features • 🏗️ Architecture • 🚀 Quick Start • 🛠️ Development • 📚 Documentation

🇨🇳 中文 • 🇺🇸 English

GitHub release Platform Stack License


Overview

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.

Features

  • Subscription import: Supports sing-box JSON, Clash/Mihomo YAML, and URI list input (including tuic:// and anytls://).
  • 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, hide-to-tray on autostart, lightweight mode (destroy the main window on close), update checks, and window state persistence.
  • Reliability tools: Backup/restore, subscription rollback, update channels, self-heal restart logic, and structured startup diagnostics with actionable failure hints.
  • Settings navigation: Tabbed settings grouped by use case (basic preferences, kernel, network/advanced, maintenance, about).
  • Localization: Built-in zh-CN, en-US, ja-JP, and ru-RU.

Architecture

  • Frontend: Vue 3 + TypeScript + Pinia + Vue Router + Vue I18n + Naive UI.
  • Bridge layer: Tauri invoke commands for request/response, Tauri events for runtime updates.
  • Backend: Rust + Tauri 2, with modules split into core, network, storage, system, and tray.
  • Storage: SQLite-backed local persistence for app settings, subscriptions, locale, theme, and update preferences.
  • Build pipeline: scripts/tauri-wrapper.mjs injects target-specific kernel resources before tauri dev/build.

Supported Subscription Formats

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://, tuic://, anytls:// Supports one or multiple nodes

Supported node types currently include vless, vmess, trojan, shadowsocks, shadowsocksr, socks, http, hysteria2, tuic, and anytls.

Quick Start

  1. Download the latest package from GitHub Releases.
  2. Import a subscription on the Subscription page.
  3. Pick a node on the Proxy page and choose a proxy mode.
  4. Start the kernel from Home and verify traffic or connections in the related pages.

Screenshots

Sing-Box GUI Client Interface

Main interface with proxy, runtime state, and navigation views

Development

# 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 build

Local Data Directory

All 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.

Documentation

Contributing

Issues and pull requests are welcome.

  1. Report bugs in Issues
  2. Propose ideas in Discussions
  3. Keep changes aligned with existing architecture and quality gates

Acknowledgments


Built with ❤️ by XingGao

Disclaimer: This project is for learning and communication purposes only. Please comply with local laws and regulations.

About

🚀 现代化 sing-box 跨平台桌面客户端|订阅导入・代理模式切换・运行态监控・托盘自动启动|基于 Tauri 2 + Vue 3 + Rust|🪟 Windows / 🐧 Linux / 🍎 macOS。A modern cross-platform sing-box GUI client built with Tauri 2 + Vue 3 + Rust, with TUN/system proxy modes and multi-language UI.

Topics

Resources

Stars

888 stars

Watchers

5 watching

Forks

Releases

Packages

Contributors

Languages