Singboard is a desktop dashboard for sing-box built with Tauri 2 + Vue 3, focused on Clash API visualization and Windows service management.
- Overview
- Realtime upload/download speed, active connection count, and memory usage
- Network information (IP info + connectivity/latency checks for common sites)
- Connection topology (Sankey chart)
- Proxies
- Proxy group switching and per-node latency testing
- Per-group latency test URL support
- Optional IPv6 reachability indicator
- Proxy provider list, single/all update, and health check
- Rules
- Rule list filtering
- Rule provider list and update actions
- Rule provider content search (SRS/cache.db based matching)
- Connections
- Active/closed connection tabs
- Connection detail modal
- Disconnect single/all and pause updates
- Logs
- Realtime log stream
- Level filter, keyword filter, pause, clear, and auto-scroll
- Config Editor
- Read/write
config.json - Whole-file and module-based editing modes
- JSON formatting
sing-box checkvalidation- JSON validation before save, plus automatic
.bakbackup on write
- Read/write
- Settings
- Windows service install/uninstall/start/stop/restart
- Service status polling and error log reading
- Multi Clash API profiles (add/edit/switch/remove)
- Clash mode switching from core-reported mode list
sing-boxpath, config path, working directory, and service name settings- Theme switching (
light/dark/dracula/nord)
- First-run Setup Wizard
- Guided working directory and Clash API setup
- Auto-scan for
sing-boxexecutable andconfig.jsonunder the selected directory
- Frontend:
Vue 3,TypeScript,Vite,TailwindCSS,DaisyUI,ECharts,CodeMirror 6 - Backend:
Rust,Tauri 2 - Platform: currently focused on
Windows(with Windows Service integration)
- Node.js 18+
pnpm- Rust stable (recommended via
rustup) - Windows C++ Build Tools (MSVC)
- WebView2 Runtime
Install dependencies:
pnpm installRun frontend only:
pnpm devRun desktop app in development mode:
pnpm tauri devBuild frontend:
pnpm buildBuild desktop app:
pnpm tauri build.
├─ src/ # Vue frontend (views, stores, API layer)
├─ src-tauri/ # Rust + Tauri commands and service integration
├─ public/
├─ package.json
└─ src-tauri/tauri.conf.json
- Default landing route:
/proxies - Runtime settings are persisted via in-app Settings (localStorage)
- Typical data directory:
%LOCALAPPDATA%\singboard\EBWebView\Default\
- This project depends on Clash API; make sure sing-box exposes a reachable API endpoint.
- The default Windows service name is
sing-boxand can be changed in Settings.
🤖 AI-Assisted Development
This project is an exploration of AI's project-level coding capabilities. Code generated using Claude Code(Claude Opus 4.6) and GPT-5.3-Codex models via Visual Studio Code.