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

iOSApp Store — AmneziaWG
AndroidGoogle Play — AmneziaWG
WindowsGitHub — AmneziaWG for Windows
macOSApp Store — AmneziaWG
LinuxAmnezia Documentation

Step 2: Create a Connection in RuSolv

  1. 1Log in to your RuSolv account at rusolv.com
  2. 2Go to Connections → New Connection
  3. 3On the “How do you want to connect?” screen, click Select on the “WireGuard / AmneziaWG” card (“A config per location”)
  4. 4Select a location (ensure AmneziaWG is available for that location)
  5. 5Choose the AmneziaWG protocol — the choice appears when the location offers both protocols
  6. 6Choose the method — A device from your plan or Activation code — and click Next
  7. 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▾
  1. 1Open the AmneziaWG app
  2. 2Tap + → From QR code
  3. 3Scan the QR code from RuSolv
  4. 4Activate the tunnel
Windows / macOS▾
  1. 1Open AmneziaWG
  2. 2Import the .conf file
  3. 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.

KeeneticSupported 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.
OpenWrtSupported 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.iNetSeveral 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