Installation of AmneziaVPN and AmneziaWG: effective circumvention of internet blocks via DPI for China, Russia, Belarus, Turkmenistan, and Iran. VPN with Xray reality. Best obfuscation for WireGuard. Bypass

AmneziaVPN – an open‑source VPN, specifically designed for reliable circumvention of DPI-censorship filters in countries with strict internet control (China, Russia, Belarus, Turkmenistan, Iran). It uses modern protocols that make the connection less noticeable to DPI systems. It can also be self‑hosted.

AmneziaVPN official doesn’t support Debian 13 now, but you can try install it on debian-13-xfce

  1. Create a debian‑12-xfce template
  • Open Start → Settings → Qubes Tools → Qubes Template Manager.
  • Install the debian‑12‑xfce template (you can try install it on debian-13-xfce)
  • After installation, update the template via Qubes Update

If servers for Qubes are blocked in your country, use Whonix with Snowflake bridges: Tor Control Panel → Configure → Bridges type → snowflake

  1. Install Required Packages in the Template
  • Launch a terminal inside the debian‑12‑xfce template.
  • Run:
sudo apt install libxcb-cursor0 libxcb-xinerama0 libnss-resolve iptables
  1. Download AmneziaVPN
  1. Copy the Downloaded File to the Debian Template
  • Right‑click the downloaded file, choose Copy to other qube, then select the target VM debian‑12‑xfce.
  • In the debian‑12‑xfce VM, open Thunar.
  • Navigate to your home directory → QubesIncoming → the folder whose name starts with disp…. Inside you’ll find the AmneziaVPN archive.
  • Extract the archive and run the installer.
  1. Refresh the Application Menu
  • Open Qube Manager (click the blue cube icon on the panel).
  • Select debian‑12‑xfce, then click App Shortcuts at the top.
  • Click Refresh Applications to update the menu list.
  • Shut down debian‑12‑xfce (right‑click → Shutdown).
  1. Create a new VPN AppVM
  • In Qube Manager, create a new AppVM based on the debian-12-xfce template. Name it sys‑vpn or sys-amnezia.
  • Go to App Shortcuts for sys‑vpn and move AmneziaVPN and Thunar to the right side.
  1. Install AmneziaVPN in the sys‑vpn VM
  • Copy the AmneziaVPN installer file (the one you downloaded earlier) into sys‑vpn.
  • Extract the archive again inside sys‑vpn and run the installer (Otherwise, AmneziaVPN might fail to start).
  1. Launch and configure AmneziaVPN
  • AppMenu → sys‑vpn → AmneziaVPN
  • Enable VLESS protocol.
  • Set up autostart if desired.
  1. Set Up a Kill Switch (Manual Configuration)

The built‑in kill switch in the AmneziaVPN app does not work under Qubes OS, so configure it manually in sys‑vpn

  • Open a terminal in sys‑vpn and start Thunar with root privileges:

sudo thunar

  • Edit the file /rw/config/qubes-firewall-user-script and append the following rules at the bottom:
nft add rule ip qubes custom-forward tcp flags syn / syn,rst tcp option maxseg size set rt mtu
# Prevent the qube from forwarding traffic outside of the VPN
nft add rule qubes custom-forward oifname eth0 counter drop
nft add rule ip6 qubes custom-forward oifname eth0 counter drop

(The first command fixes slow connection issues on Linux by adjusting the MTU).

  1. Route Traffic Through the VPN
  • Assign sys‑vpn as the Net qube for sys‑whonix and for any other AppVMs where you want to hide the IP address.
  1. Edit Global Update Settings
  • Open Global Settings → Updates.
  • Enable “Disable checking for updates for all existing qubes.”
  • In the “Except for following qubes, for which checking for updates will be enabled” field, add sys‑vpn and sys‑whonix.

Remember that new AppVMs will be added to the exceptions list for update checks. You’ll need to manually delete any unnecessary AppVMs (with the real IP).

:white_check_mark: Done!

Installation of AmneziaWG – the best obfuscation for WireGuard.

  1. Open terminal in template fedora-43-xfce or debian-13-xfce
  2. Use this guide for Manual build https://github.com/amnezia-vpn/amneziawg-linux-kernel-module:
http_proxy=http://127.0.0.1:8082 https_proxy=http://127.0.0.1:8082 git clone https://github.com/amnezia-vpn/amneziawg-linux-kernel-module.git
cd amneziawg-linux-kernel-module/src

Skip step 2 from github guide (you’re using the kernel from dom0).

make
sudo make install
  1. Activate the module and check it.
sudo modprobe amneziawg
lsmod | grep amneziawg
  1. Add module to autostart.

echo "amneziawg" | sudo tee /etc/modules-load.d/amneziawg.conf

  1. Shutdown template.

:white_check_mark: Done!

Now you can connect any WireGuard configurations and hide the VPN connection!

See this guide for run WireGuard VPN in Qubes: Wireguard VPN setup (4.2 and 4.3)
You can use free Warp WireGuard configuration generators, for example:
1 https://warp-generator.vercel.app/
2 GitHub - findllimonix/warp-config-generator: WARP configuration generator with support for various deployment platforms (Vercel, Netlify, Cloudflare)
3 WARP WireGuard Config Generator
4 WARP Генератор
5 GitHub - ImMALWARE/bash-warp-generator: Генератор конфига Cloudflare WARP для AmneziaVPN

AmneziaVPN with VLESS works better then AmneziaWG

Also use amnesic RAM qubes to protect against forensics, and a USB Kill Switch - essential tools in totalitarian countries:
dom0 in RAM, Tails Mode. Protection against forensics
Really disposable (RAM based) qubes
Antidetect‑appVM with FOSS Antidetect Browsers. Windows fingerprint. Random fingerprint in dvm
USB Kill Switch for Qubes OS

6 Likes

Hum… friends have you seen the amount of issues people are reporting ? Specially the “dns leak” GitHub · Where software is built The dev do not even answer to the people opening issue…

What? Kind of crazy, I’ve never seen anything like this:

Very easy to use - enter your IP address, SSH login, password and Amnezia will automatically install VPN docker containers to your server and connect to the VPN.

from GitHub - amnezia-vpn/amnezia-client: Amnezia VPN Client (Desktop+Mobile)

Seems curious as an easy to use client for handling multiple tunnel protocols at the same time, I wonder if there are any similar projects out there.

1 Like

Yes, it’s simple. Many users have learned to run self‑hosted VPNs thanks to AmneziaVPN. It was designed specifically for the convenience of regular users.

Only this VPN works for my acquaintances in Russia and Turkmenistan, and it’s excellent. My friends and I haven’t noticed any DNS leaks. Popular VPNs (Mullvad, Proton, IVPN, NordVPN, ExpressVPN, etc.) have long stopped working in these countries because of deep DPI filtering.
It is also the only VPN that actively resists government censorship in Russia. Amnezia VPN has to adapt to new DPI‑filtering conditions, so in the aforementioned countries it can sometimes be a bit unstable, which explains some user complaints. In European and American countries it works well and reliably, but there Xray isn’t needed, so using Mullvad VPN is sufficient.

2 Likes

How do you guys check for leaks?

Usually, it’s enough to use online tests on well‑known websites:
1 https://www.dnsleaktest.com/
2 DNS Leak Test - BrowserLeaks
3 https://ipleak.net/

You can also check DNS in the command line:

cat /etc/resolv.conf
systemd-resolve --status
resolvectl status

Also, you can use WireShark

2 Likes

Can it work during “White Lists” in Russia? If so then it’s excellent. If no, then… Good, but even obfs4 bridges still can work if you find the working one. If it could by-pass white lists that would be excellent.

@Qubie It does not bypass whitelists by default now (maybe later). You need to create a cascading self‑hosted setup using two servers (whitelist VPS and a VPS with AmnesiaVPN with Xray Reality).

I’m not from Russia, so I can’t write in detail. Look for similar methods in a search (you can use AI – scira.ai and perplexity.ai), maybe this one: Денис Васильев on Instagram: "Каскадный Amnezia VPN новый обход блокировок в России #vpn #сервер #ретранслятор socat"

You can also try this method to bypass whitelists: GitHub - igareck/vpn-configs-for-russia: 🗽Бесплатные и проверенные VPN конфигурации, работающие в РФ ⚪ Белые списки / обход белых списков ⚪ Free and checked VPN configurations that work in Russia ⚪ Whitelists bypass

2 Likes