
One-click desktop GUI for the Aether censorship-circumvention tunnel — Tauri v2, React 19, Rust
One-click desktop GUI for the Aether censorship-circumvention tunnel — Tauri v2, React 19, Rust
English · فارسی
A one-click desktop GUI for Aether, a censorship-circumvention tunnel built for heavily restricted networks. Aether itself is a terminal tool: it discovers a working route out, establishes an encrypted tunnel, and exposes a local SOCKS5 proxy. Aether-GUI wraps that terminal tool in a small, animated desktop app so you don't have to touch a command line to use it — press Connect, and everything else (identity provisioning, route discovery, prompt answering) happens automatically in the background.
This project does not reimplement any of Aether's tunneling logic. It drives the real aether binary in a pseudo-terminal, answers its interactive setup prompts on your behalf, and watches its output to tell you what's happening. All the actual censorship-circumvention work — MASQUE/QUIC obfuscation, WireGuard, route probing — is Aether's, not this repo's.
Auto mode — the default screen is just a single button. No configuration is required; it connects using your last-successful settings (or sensible defaults on first run).
Advanced panel — for when you want control, a collapsible panel exposes the real options Aether's setup supports:
Each option has an explanation on hover.
Live progress — while Aether searches for a working route, the GUI shows real elapsed time and, once Aether reports its own scan budget, an actual percentage and progress bar — not just a spinner.
Automatic reconnect — if the tunnel drops unexpectedly mid-session (observed occasionally with WARP-in-WARP, but handled the same way for every protocol), the GUI retries automatically with backoff, shown as a visible "Reconnecting… (attempt N of 3)" rather than silently dying or dumping you back to a bare error. A user-requested disconnect is never retried.
Grab the latest installer from the Releases page:
Aether-GUI_x.y.z_x64-setup.exe — standard installer (recommended)Aether-GUI_x.y.z_x64_en-US.msi — MSI package, for scripted or enterprise installsWindows x64 only for now — see Building from source for other platforms.
Prerequisites
webkit2gtk and friends)Install frontend dependencies
npm install
Fetch the Aether binary
Aether-GUI bundles the real aether binary from CluvexStudio/Aether releases rather than building it — this repo only ships the GUI. Fetch and checksum-verify it for your platform:
./src-tauri/binaries/fetch-aether.sh
This script covers Linux and macOS directly. On Windows, download the matching aether-windows-*.zip from the Aether releases page yourself, verify it against the published SHA256SUMS.txt, and extract aether.exe into src-tauri/binaries/.
Run in development mode
npm run tauri dev
Build a release installer
npm run tauri build
Installers land under src-tauri/target/release/bundle/ (NSIS .exe and .msi on Windows; .dmg/.app on macOS; .deb/.AppImage/.rpm on Linux — cross-platform bundles must each be built on their own OS, or via CI).
portable-pty to spawn the real Aether v1.5.0 binary in a genuine pseudo-terminal. Your chosen profile — protocol, scan mode, IP version, MASQUE transport (HTTP/3 or HTTP/2), obfuscation profile, quick reconnect, Zero Trust, tunnel DNS and routing rules — is passed up front as CLI flags/environment, so Aether's interactive prompts normally never appear. A Zero Trust email-code prompt is bridged safely into the GUI; credentials are never written to the saved profile.127.0.0.1:1819) as the actual proof the tunnel is up.Idle → Launching → Connecting → Connected, with Reconnecting and Error as the two ways a connection attempt can end up needing your attention — Reconnecting retries automatically (with backoff, capped at 3 attempts), Error is the final word once retries are exhausted or something isn't retriable (e.g. the binary itself is missing).Aether is the actual censorship-circumvention engine this app wraps — a standalone terminal tool that discovers reachable routes and establishes the tunnel, independent of any GUI. If you'd rather use it directly from a terminal, or want to understand exactly what it's doing under the hood, that's the repo to read. Aether-GUI exists purely to make that tool one click away for people who don't want to live in a terminal.
No open issues yet, or sync has not completed.