README.md

April 6, 2026 · View on GitHub


Atoll VPN
Atoll VPN

A Windows desktop VPN client with a tray-based interface, built on WinUI 3 and powered by sing-box

Platform .NET WinUI 3 License

Atoll VPN


Table of Contents

Screenshots

Control Panel — tray flyout with connection status, subscriptions, and favorite servers

Control Panel

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

Taskbar Widget

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

Servers List

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

Add Subscription

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

Connection History

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

Settings Home

Application Settings

VPN Connection Settings

Routing Rules

Connection Quality — automatic warning when VPN quality degrades

Quality Status

System Proxy — automatic system proxy configuration with tray menu

System Proxy

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

Setup Wizard

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

FormatNotes
.exe (Inno Setup)Recommended for end users, no certificate required
.msixbundleRequires 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.

BranchPurposeBuild frequency
stableProduction releasesManual
canaryNightly / CI buildsEvery commit

The active branch is set at build time with -p:AppBranch=<branch>. 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

# 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

# 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

License

Licensed under the MIT License. See individual source files for copyright notices.

The bundled sing-box binary is subject to its own license.