https://github.com/kaoshipaws/atollvpn
A Windows desktop VPN client with a tray-based interface, built on WinUI 3 and powered by sing-box as the underlying proxy engine
https://github.com/kaoshipaws/atollvpn
singbox vpn-client winui3
Last synced: 3 months ago
JSON representation
A Windows desktop VPN client with a tray-based interface, built on WinUI 3 and powered by sing-box as the underlying proxy engine
- Host: GitHub
- URL: https://github.com/kaoshipaws/atollvpn
- Owner: kaoshipaws
- Created: 2026-03-11T17:52:30.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-03-25T08:19:48.000Z (3 months ago)
- Last Synced: 2026-04-01T16:39:31.339Z (3 months ago)
- Topics: singbox, vpn-client, winui3
- Homepage:
- Size: 2.93 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Atoll VPN
A Windows desktop VPN client with a tray-based interface, built on WinUI 3 and powered by sing-box
---
## Table of Contents
- [Screenshots](#screenshots)
- [Features](#features)
- [Installation](#installation)
- [Branches](#branches)
- [Building from Source](#building-from-source)
- [Acknowledgements](#acknowledgements)
- [License](#license)
## Screenshots
Control Panel — tray flyout with connection status, subscriptions, and favorite servers

Taskbar Widget — real-time connection status embedded in the Windows taskbar

Servers List — per-subscription server list with batch latency ping and auto-select

Add Subscription — Clash/SingBox URLs or direct server links with auto-update

Connection History — live log of outbound, inbound, and DNS connections

Settings — application, VPN connection, routing rules, and about



Connection Quality — automatic warning when VPN quality degrades

System Proxy — automatic system proxy configuration with tray menu

Setup Wizard — first-run onboarding with language selection and basic settings

## Features
### Connection & Protocols
- **Multi-protocol support:** VLESS, VMess, Trojan, Shadowsocks, Hysteria2, TUIC — with H2, QUIC, HTTPUpgrade, and WebSocket transports
- **Connection modes:** TUN (virtual network adapter) and Mixed (HTTP + SOCKS5 system proxy)
- **Routing modes:** Rule-based, Global, and Direct — switchable from tray menu or settings
- **Advanced TLS:** uTLS fingerprint, TLS fragment, record fragment, and fallback delay for DPI bypass
- **DNS options:** configurable remote (DoH, DoT, DoQ, UDP) and local DNS servers; optional FakeIP mode with persistent cache
- **IPv6 leak protection:** route IPv6 traffic through the tunnel to prevent leaks
### Server Management
- **Subscription import:** Clash and SingBox compatible URLs, or direct server links (e.g. `vless://...`)
- **Auto-update:** subscriptions refresh automatically on a configurable interval
- **Multi-server outbound:** URL-test (auto latency-based selection) or Selector with per-subscription persistence
- **Batch latency ping:** measure round-trip latency for all servers or only favorites
- **Shareable server URLs:** copy a direct link for any server from the context menu
- **Favorites:** mark servers for quick access; favorites survive subscription refreshes
### Interface
- **Tray flyout:** Windows 11-style control panel opening from the system tray
- **Taskbar widget:** WinUI 3 widget embedded in the taskbar with VSync-paced animations and optional text labels
- **Connection quality monitoring:** tray icon and widget reflect connection health; a warning flyout appears when quality degrades
- **Connection history:** live log of outbound, inbound, and DNS connections
- **System tray menu:** quick mode toggle, routing mode submenu, connection stats, and settings access
- **Theme-aware tray icon:** automatically follows Windows Light/Dark system theme
### System
- **Auto-connect / auto-reconnect:** configurable startup behavior with crash recovery and exponential backoff
- **Built-in updater:** checks GitHub releases, downloads in background, notifies when ready
- **OOBE onboarding:** first-run wizard covering language, app settings, VPN settings, and subscription import
- **Full localization:** English and Russian UI with live language switching (no restart required)
- **Routing rules:** per-domain, per-suffix, per-keyword, and per-process rules with search and filter
## Installation
Download the latest installer from the [Releases](../../releases) page.
| Format | Notes |
|---|---|
| `.exe` (Inno Setup) | Recommended for end users, no certificate required |
| `.msixbundle` | Requires one-time trust of the included `.cer` file |
### Runtime requirements
- Windows 10 version 1809 (build 17763) or later
- .NET 10.0 Desktop Runtime
- Windows App SDK 1.8
## Branches
The app ships through multiple release channels. Each branch has its own version counter and icon variant.
| Branch | Purpose | Build frequency |
|---|---|---|
| `stable` | Production releases | Manual |
| `canary` | Nightly / CI builds | Every commit |
The active branch is set at build time with `-p:AppBranch=`. Debug builds default to `canary`, Release builds default to `stable`.
## Building from Source
### Prerequisites
- Visual Studio 2022 with:
- .NET desktop development workload
- Windows application development (WinUI / Windows App SDK) workload
- .NET 10 SDK
- Node.js 18+ (for the version generation script)
- sing-box core binary — run `.\Installer\Singbox.ps1` to download it automatically
### Build
```powershell
# Restore and build (Canary)
dotnet build -c Debug
# Release build for x64
dotnet build -c Release -p:Platform=x64
# Release build for a specific branch
dotnet build -c Release -p:Platform=x64 -p:AppBranch=canary
```
Supported platforms: `x64`, `ARM64`.
The build automatically generates `AppVersion.g.cs` from `Installer\Version\version.json` via `Installer\Version\index.js`. The version is bumped on each build; use `-p:VersionBumpedExternally=true` to skip the bump.
The sing-box core binary (`AtollVPN Core.exe`) is expected under `Installer\bin\singbox\{platform}\` and is copied to the output directory during build.
### Packaging
```powershell
# Interactive — prompts for platform, format, and branch
.\Installer\Release.ps1
# Specific platform and format
.\Installer\Release.ps1 -Platform x64 -OutputFormat Inno
# Production — builds all platforms and both formats
.\Installer\Release.ps1 -Mode prod
# Update the sing-box core to the latest version
.\Installer\Singbox.ps1
```
### Data Storage
Application data (sing-box config, subscriptions, favorites, selections) is stored under `%ProgramData%` with GZip compression.
## Acknowledgements
- [sing-box](https://github.com/SagerNet/sing-box) — proxy engine
- [Windows App SDK / WinUI 3](https://github.com/microsoft/WindowsAppSDK) — UI framework
- [Inno Setup](https://jrsoftware.org/isinfo.php) — installer compiler
## License
Licensed under the MIT License. See individual source files for copyright notices.
The bundled [sing-box](https://github.com/SagerNet/sing-box) binary is subject to its own license.