English • Русский
Ultra-lightweight AmneziaWG client web manager running directly on your OpenWrt router.
Zero overhead • No Docker required • 1-Click QR codes & .conf generation • Sleek dark UI inspired by wg-easy
- 🚀 0% Background Overhead (Zero-Daemon): No background daemons, Node.js, Python, or Docker. Runs on-demand via OpenWrt's built-in
uhttpdand POSIX CGI (/bin/sh). - 🔐 Admin Auth Guard & Security: Master password protection with confirmation safeguards and backend validation to prevent unauthorized access.
- 📱 1-Click Client Onboarding: Clicking
+ Newgenerates keypairs (awg genkey), assigns next free IP (10.9.0.x), and instantly presents an obfuscated QR code (Jc,Jmin,Jmax,S1,S2,H1-H4). - 📁 Categories & Accordions: Organize peers into custom groups (Family, Work, Servers) with 32+ emoji presets, peer counters, and collapsible sections.
- 🔍 Real-Time Search, Filters & Sorting: Instant search by name, IP, or notes. Filter by status (
All,🟢 Online,⚪ Offline,⛔ Disabled) and sort by traffic, activity, or name. - 📄 Standalone Client Passport (
client_<name>.html): Export completely autonomous HTML passports containing offline Base64 QR codes, a client-side.confdownload button (no router query needed), and setup guides. - 🛡️ Bypass Mobile ISP Throttling & DPI: Full AmneziaWG protocol obfuscation designed to circumvent strict TSPU/DPI filters and cellular DPI blocks on mobile carriers.
- 🔒 Isolation from Transparent Proxies (sing-box / Passwall): Architecture leveraging
fwmark 0x1000and policy routing rules guarantees direct server replies without conntrack port clashing or routing loops. - 📊 Live Telemetry & Real-Time Sparkline: Real-time SVG activity sparkline, gently breathing glowing session indicators (
status-breathe), real-time Rx/Tx transfer rates, and handshake telemetry. - 📱 Adaptive Mobile Experience (CSS Grid): Ergonomic 3-tier mobile header, scalable button typography via
clamp(), and segmented status filter pills without awkward line wraps or horizontal scroll. - ⚙️ Settings Tab & PWA Support: Web panel configuration, telemetry polling intervals (3s / 5s / 10s / paused), batch
.confexports, and installable PWA manifest.
flowchart LR
Browser["Web Browser (PC / Mobile)"] <-->|uhttpd / HTTP| CGI["CGI API (/www/cgi-bin/awg-api)"]
CGI <-->|uci| NetworkConfig["/etc/config/network"]
CGI <-->|awg genkey / awg set| Kernel["kmod-amneziawg (awg0)"]
Kernel <-->|UDP 49155 / fwmark 0x1000| LTE["Mobile Client (LTE)"]
| Document | Description |
|---|---|
| PROJECT_DESCRIPTION.md | Full architectural specifications, component breakdown, and network model |
| ROADMAP.md | Project roadmap, development phases, and milestone criteria |
| CHECKLIST_v0.2.0.md | Release v0.2.0 completion and verification checklist |
| BUGS_AND_ISSUES.md | Network incident logs, kernel bug investigations, and applied solutions |
Connect to your router via SSH and run:
wget -qO- https://raw.githubusercontent.com/kobaltgit/AwgIt/main/src/install.sh | sh(To run with Russian logs, append sh -s -- --lang ru: wget -qO- https://raw.githubusercontent.com/kobaltgit/AwgIt/main/src/install.sh | sh -s -- --lang ru)
./src/install.sh <ROUTER_IP>.\src\install.ps1 -RouterIp <ROUTER_IP>Once installed, the control panel is ready at: http://<ROUTER_IP>/awg (e.g. http://192.168.1.1/awg).
This project is licensed under the MIT License - see the LICENSE file for details.
