- Built with Tauri 2.0 and Vue 3 for optimal performance
- Responsive design with Naive UI components
- Support for light/dark themes with automatic system detection
- Intuitive and user-friendly interface design
- System Proxy Mode: Automatic system-wide proxy configuration
- TUN Mode: Traffic routing at the network level (requires administrator privileges)
- Manual Mode: Custom proxy configuration for advanced users
- Smart proxy switching with one-click toggle
- Real-time traffic monitoring with beautiful charts
- Connection statistics and active connections viewer
- Memory usage monitoring
- Historical data tracking
- Bandwidth usage analysis
- Multiple subscription formats support:
- Direct subscription URLs
- Sing-box JSON configuration
- Automatic Base64 decoding
- Automatic subscription updates
- Subscription grouping and management
- Import/export configuration
- Real-time log viewing with syntax highlighting
- Multiple log levels (Info, Warning, Error)
- Log filtering and search capabilities
- Export logs for debugging
- Automatic log rotation
- Memory management and leak prevention
- Efficient WebSocket connections
- Lazy loading and virtual scrolling
- Background processing for heavy operations
- Minimal resource footprint
- Secure configuration storage
- Automatic privilege escalation for TUN mode
- Safe subscription parsing
- Process isolation
- Multi-language support
- Currently available in:
- English
- ไธญๆ (Chinese)
- ๆฅๆฌ่ช (Japanese)
- ะ ัััะบะธะน (Russian)
- Easy to add new languages
- Operating System: Windows 10 1809 or later
- Architecture: x64 (64-bit)
- Memory: 4GB RAM recommended
- Disk Space: 100MB available space
- Network: Internet connection for downloading core and subscriptions
- Download: Get the latest version from the Releases page
- Install: Run the installer (
.msi
or.exe
setup file)- The installer supports automatic updates
- Choose installation directory if needed
- First Launch: The application will automatically complete necessary configuration
-
Download Sing-Box Core:
- Navigate to [Settings] โ [Core Management]
- Click "Download Latest Core"
- Wait for automatic installation
-
Configure Subscriptions:
- Go to [Subscriptions] page
- Click "Add Subscription"
- Enter your subscription URL or import JSON configuration
- The app supports automatic Base64 decoding
-
Select Node:
- Go to [Home] page
- Browse available nodes from your subscriptions
- Test node latency using the "Test" button
- Select your preferred node
-
Choose Proxy Mode:
- System Proxy: Automatic system-wide configuration
- TUN Mode: Network-level routing (requires admin rights)
- Manual: Custom configuration
-
Connect:
- Click the "Connect" button
- Monitor connection status in real-time
- View traffic statistics and active connections
๐ก Tip: For TUN mode, the application will request administrator privileges and automatically configure system settings
- Navigate to [Rules] page to view and manage routing rules
- Support for custom rule sets
- Automatic rule updates from subscriptions
- Rule priority management
- System Tray: Quick access from Windows system tray
- Auto-start: Configure automatic startup on Windows boot
- Auto-connect: Automatically connect to last used configuration
- Notifications: Desktop notifications for connection status
- Connections: View active connections and their details
- Traffic Analysis: Detailed bandwidth usage statistics
- Performance Metrics: Memory usage and system performance
- Logs: Comprehensive logging with filtering options
- Node.js: 18.0 or higher
- Rust: Latest stable version (1.70+)
- Visual Studio: 2019 or higher with C++ development tools
- Git: Latest version
- pnpm: Package manager
# Clone the repository
git clone https://github.com/xinggaoya/sing-box-windows.git
cd sing-box-windows
# Install dependencies
pnpm install
# Start development server (with hot reload)
pnpm tauri dev
# Build production version
pnpm tauri build
# Run tests
pnpm test
# Type checking
pnpm type-check
# Lint code
pnpm lint
For comprehensive development documentation, please check:
- Development Guide - Detailed development instructions
- Internationalization Guide - Adding new languages
sing-box-windows/
โโโ src/ # Frontend source code
โ โโโ components/ # Reusable Vue components
โ โ โโโ home/ # Home page components
โ โ โโโ layout/ # Layout components
โ โ โโโ ... # Other component categories
โ โโโ stores/ # Pinia state management
โ โ โโโ app/ # Application-level stores
โ โ โโโ kernel/ # Kernel-related stores
โ โ โโโ subscription/ # Subscription management
โ โ โโโ tray/ # System tray integration
โ โโโ services/ # Business logic services
โ โโโ utils/ # Utility functions
โ โโโ locales/ # Internationalization files
โ โโโ views/ # Page components
โโโ src-tauri/ # Rust backend code
โ โโโ src/ # Rust source code
โ โ โโโ app/ # Application modules
โ โ โ โโโ core/ # Core functionality
โ โ โ โโโ network/ # Network operations
โ โ โ โโโ system/ # System integration
โ โ โโโ utils/ # Utility functions
โ โ โโโ main.rs # Application entry point
โ โโโ Cargo.toml # Rust dependencies
โโโ docs/ # Documentation
โโโ public/ # Static assets
- ๐ฏ Tauri 2.0 - Modern cross-platform application framework
- โก Vue 3 - Progressive JavaScript framework
- ๐จ Naive UI - High-quality Vue 3 component library
- ๐ Canvas API - High-performance graphics rendering
- ๐ง TypeScript - Type-safe JavaScript
- ๐๏ธ Pinia - State management for Vue
- ๐ฃ๏ธ Vue Router - Official router for Vue.js
- ๐ฆ Rust - High-performance systems programming language
- โก tokio - Asynchronous runtime for Rust
- ๐ serde - Serialization framework
- ๐ reqwest - HTTP client library
- ๐ฆ pnpm - Fast, disk space efficient package manager
- ๐ ESLint - JavaScript/TypeScript linting
- ๐จ Prettier - Code formatting
- ๐๏ธ Vite - Next generation frontend tooling
We welcome all forms of contributions! Here's how you can help:
- ๐ Bug Reports: Report issues and bugs
- ๐ก Feature Requests: Suggest new features
- ๐ Documentation: Improve documentation
- ๐ง Code Contributions: Fix bugs or implement features
- ๐ Translations: Add support for new languages
- ๐จ UI/UX Improvements: Enhance user interface
- Fork the repository
- Clone your fork locally
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Make your changes with clear commit messages
- Test your changes thoroughly
- Push to your branch (
git push origin feature/amazing-feature
) - Submit a Pull Request with detailed description
- Follow existing code style and conventions
- Write meaningful commit messages
- Add tests for new features
- Update documentation when necessary
- Ensure all tests pass before submitting
To add a new language:
- Create a new file in
src/locales/
(e.g.,fr-FR.ts
) - Copy the structure from
en-US.ts
- Translate all text strings
- Add the language to the language selector
- Test the translations thoroughly
This project is licensed under the MIT License - see the LICENSE file for details.
- ๐ Bug Reports: GitHub Issues
- ๐ฌ Discussions: GitHub Discussions
- ๐ Documentation: Development Docs
Special thanks to these amazing projects and contributors:
- sing-box - The powerful proxy platform
- Tauri - Secure, fast, and lightweight application framework
- Vue.js - The progressive JavaScript framework
- Naive UI - Beautiful and powerful UI component library
- All Contributors - Thank you for your valuable contributions
- Users and Testers - Your feedback helps improve the application
- Translators - Making the app accessible worldwide
- Plugin system for extensibility
- Custom themes and UI customization
- Advanced routing rules editor
- Cloud configuration sync
- Mobile companion app
- Network diagnostics tools
- v1.7.9 - Current stable release
- v1.7.x - Performance optimizations and bug fixes
- v1.6.x - Enhanced UI and internationalization
- v1.5.x - Initial public release
If this project helps you, please consider giving it a โญ๏ธ!
Made with โค๏ธ by the Sing-Box Windows team