AmneziaWG Setup
AmneziaWG is a modified WireGuard with traffic obfuscation. Use it if the standard WireGuard fails to connect or is unstable.
⚠
The standard WireGuard app is NOT compatible with AmneziaWG. You must download the separate AmneziaWG app.
Step 1: Download the AmneziaWG App
| iOS | App Store — AmneziaWG |
| Android | Google Play — AmneziaWG |
| Windows | GitHub — AmneziaWG for Windows |
| macOS | App Store — AmneziaWG |
| Linux | Amnezia Documentation |
Step 2: Create a Connection in RuSolv
- 1Log in to your RuSolv account at rusolv.com
- 2Go to Connections → New Connection
- 3On the “How do you want to connect?” screen, click Select on the “WireGuard / AmneziaWG” card (“A config per location”)
- 4Select a location (ensure AmneziaWG is available for that location)
- 5Choose the AmneziaWG protocol — the choice appears when the location offers both protocols
- 6Choose the method — A device from your plan or Activation code — and click Next
- 7Click Create Connection
Step 3: Import the Configuration
The import process is identical to WireGuard — use a QR code or .conf file.
The only difference: use the AmneziaWG app instead of WireGuard.
iOS / Android▾
- 1Open the AmneziaWG app
- 2Tap + → From QR code
- 3Scan the QR code from RuSolv
- 4Activate the tunnel
Windows / macOS▾
- 1Open AmneziaWG
- 2Import the .conf file
- 3Activate the tunnel
AmneziaWG on a router (Keenetic, OpenWrt, GL.iNet)
AmneziaWG works on a router, so every device at home is protected without an app on each one. Import the same .conf you use on your phone. The configs RuSolv issues are the widely-compatible AmneziaWG 1.0 format (fixed H1–H4, no S3/S4/I1), which is what routers support most broadly.
| Keenetic | Supported natively from KeeneticOS 4.2 Alpha 2. On 4.3.4 and newer the ASC parameters are imported automatically from the .conf file; on 4.2–4.3.3 you enter them once via CLI (interface … wireguard asc …). No extra package needed. |
| OpenWrt | Supported via the amneziawg-openwrt packages (kmod-amneziawg, amneziawg-tools, luci-proto-amneziawg). The official repo ships source only — no prebuilt releases — so the kernel module must match your exact OpenWrt build; community repos publish per-version prebuilds. Not one-click, but well documented. |
| GL.iNet | Several models (Brume 3, Flint 3, Flint 2, Beryl AX) support AmneziaWG in select firmware; broader official support arrives in firmware 4.9. |
⚠
Router shows «"Wireguard": invalid H1 value»?
- That error means the firmware received a newer AmneziaWG 1.5/2.0 config (with I1 or S3/S4) it can't parse. Native 1.5/2.0 support on Keenetic starts at KeeneticOS 5.1 — on any version before 5.1, load a 1.0-format config (which is what RuSolv issues by default) or update the firmware.
- If a plain WireGuard import fails on Keenetic, switch to the AmneziaWG protocol — its obfuscation is what gets through stricter DPI.
⚠
Before you put it on a router
- The 10 GB monthly limit exists only on the free plan; with Pro, traffic is unlimited, on a router too. A router carries the traffic of every device at home, so on the free plan the limit goes much faster than on a single phone; once it is used up, the connection stops until the 1st of the month.
- The file on a router does not update itself. “Auto-move on server failure” on the connection card is off by default — leave it off for a router: if you turn it on, a server failure moves the connection to another server and the previous file stops working. The same happens when you change the location or protocol, or when a server is taken out of service: a new file is issued, and the router has no VPN until you import it again. We send a notification when this happens.
- When a server changes its address (maintenance), a router does not reconnect by itself: the connection looks on, but no traffic passes. A regular file (with the server name) works again once you turn the connection off and on on the router. A file downloaded with “Download with IP address” never comes back by itself — download it again after the address change. Keenetic on firmware 4.1.0–4.1.3: update it to 4.1.4 or 4.2+ — on those versions restarting the connection does not pick up the new address. OpenWrt can pick it up by itself if the router's own DNS queries bypass the VPN: set persistent_keepalive on the peer (for example, 25), add the line below to /etc/crontabs/root and run /etc/init.d/cron restart.
* * * * * /usr/bin/amneziawg_watchdog
How does AmneziaWG differ from WireGuard?
- •Uses the same encryption protocol (Curve25519)
- •Adds an extra layer of traffic processing for stability
- •Slightly lower MTU (1280 vs 1420) due to obfuscation overhead
- •Speed is comparable to WireGuard
- •Runs on routers too — Keenetic natively, OpenWrt with packages, some GL.iNet models in select firmware
