Skip to content

sandhope/WinSing

Repository files navigation

WinSing

A Windows proxy client built on WinUI 3 and Sing-box.

📖 中文文档:README.zh-CN.md

WinSing is a modern, lightweight proxy client for Windows that uses Sing-box as its core proxy engine and the WinUI 3 (Windows App SDK) framework for its user interface. It is designed to be fast, stable, and easy to use for everyday proxy management.

Features

  • Dashboard — At-a-glance overview of connection status, traffic, and system state.
  • Subscriptions — Add, update, and manage subscription links with automatic node parsing.
  • Proxies — Browse, filter, and select proxy nodes; test latency with one click.
  • One-click Connect / Disconnect — Quickly toggle the proxy without leaving the dashboard.
  • Profiles — Organize nodes and configurations into switchable profiles.
  • Node Editor & Import — Manually edit nodes or import nodes from external sources.
  • Logs — Real-time Sing-box logs for troubleshooting and monitoring.
  • System Tray — Minimize to tray, with quick connect/disconnect from the tray menu.
  • Startup & Shortcuts — Launch on system startup and trigger actions via global hotkeys.
  • System Proxy & TUN Mode — Configure system-wide proxy or kernel-level TUN routing.
  • Geo Data — Automatic download and management of routing geo data.
  • Config Persistence — Settings, nodes, and profiles are saved locally and restored on launch.
  • Internationalization — Full UI localization in English and Simplified Chinese.
  • Theming — Light and dark themes that follow your system or your preference.
  • Auto-update — Check for application and core updates from within the client.
  • Privileged Daemon — The official sing-box-daemon.exe (a Go daemon) runs as a SYSTEM-privileged Windows service, hosting the Sing-box core in-process and handling admin-required operations (e.g. TUN mode, system proxy) with zero UAC at runtime.

Tech Stack

Layer Choice
UI WinUI 3 (Windows App SDK)
Core Engine Sing-box core, hosted by the official sing-box-daemon.exe Go daemon
Runtime .NET 10
Target Platform Windows 10 17763+ / Windows 11 (x64, ARM64)

Requirements

  • Visual Studio 2026 with the Windows App SDK workload installed
  • .NET 10 SDK
  • Windows 10 (build 17763 or later) or Windows 11

Getting Started

  1. Clone the repository:

    git clone https://github.com/your-org/WinSing.git
    cd WinSing
  2. Open WinSing.slnx in Visual Studio 2026 and build the solution.

    Alternatively, build from the command line:

    dotnet build WinSing.slnx -c Release
  3. Run the application:

    dotnet run --project WinSing.csproj

    The WinUI 3 project template includes Microsoft.Windows.SDK.BuildTools.WinApp, which hooks into the .NET CLI run target to register a debug identity and launch the app with MSIX package identity — no manual deployment required.

Note: The Sing-box core runs inside the official sing-box-daemon.exe (a Go daemon reused as-is, bundled under Core\). The WinUI 3 frontend communicates with the daemon over gRPC (named pipe in production, TCP loopback in dev) — no libbox/sing-ffi C# binding is used.

Project Structure

Path Description
App.xaml / MainWindow.xaml Application shell and main window
Views/ XAML pages and dialogs (Dashboard, Subscriptions, Proxies, Profiles, Logs, Settings, etc.)
ViewModels/ MVVM view models
Models/ Domain models
Services/ Core services (Sing-box management, tray, shortcuts, localization, theme, updates, etc.)
WinSing.HelperService/ Elevated companion service for admin-required operations

License

This project is licensed under the terms in LICENSE.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Sponsor this project

Packages

Contributors

Languages