Amnezia VPN Client (Desktop+Mobile)

★ 15,862⑂ 1,277
C++Created 2020-11-22amnezia.org
15,862
stars
+179+199+525
1,277
forks
–
watchers
–
prs
–
issues
–
releases
–
discussions

README

Amnezia VPN

 _The best client for self-hosted VPN_





 English) | Русский


Amnezia is an open-source VPN client, with a key feature that enables you to deploy your own VPN server on your server.



 Website | Alt website link | Documentation | Troubleshooting

 [!TIP]
 If the Amnezia website is blocked in your region, you can use an Alternative website link.




All releases





 Features

- 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.
- Classic VPN-protocols: OpenVPN, WireGuard and IKEv2 protocols.
- Protocols with traffic Masking (Obfuscation): OpenVPN over Cloak plugin, Shadowsocks (OpenVPN over Shadowsocks), AmneziaWG and XRay.
- Split tunneling support - add any sites to the client to enable VPN only for them or add Apps (only for Android and Desktop).
- Windows, MacOS, Linux, Android, iOS releases.
- Support for AmneziaWG protocol configuration on Keenetic beta firmware.

 Links

- https://amnezia.org - Project website | Alternative link (mirror)
- https://docs.amnezia.org - Documentation | Alternative link (mirror)
- https://www.reddit.com/r/AmneziaVPN - Reddit  
- https://telegram.me/amnezia_vpn_en - Telegram support channel (English) 
- https://telegram.me/amnezia_vpn_ir - Telegram support channel (Farsi) 
- https://telegram.me/amnezia_vpn_mm - Telegram support channel (Myanmar)  
- https://telegram.me/amnezia_vpn - Telegram support channel (Russian)
- Get Premium for 6 or 12 months

 Tech

AmneziaVPN uses several open-source projects to work:

- OpenSSL
- OpenVPN
- Qt
- LibSsh
- WireGuard
- Xray-core
- Conan
- and more...

 Help us with translations

Download the most actual translation files.

Go to "Actions" tab, click on the first line.
Then scroll down to the "Artifacts" section and download "AmneziaVPN_translations".

Unzip this file.
Each .ts file contains strings for one corresponding language.

Translate or correct some strings in one or multiple .ts files and commit them back to this repository into the client/translations folder.
You can do it via a web-interface or any other method you're familiar with.

 Checking out the source code

Make sure to pull all submodules after checking out the repo.

bash
git submodule update --init --recursive


 Hacking guide

Want to contribute? Welcome!

 Build requirements

 CMake
 Compiler and underlying build system, depending on the target:
  - [Linux] Any of make and gcc
  - [Apple] Xcode or Xcode command line tools
  - [Windows] Visual Studio 2022 or VS 2022 Build Tools
  - [Android] Android SDK and Ninja
 Qt 6.10+ with the following modules:
  - Core module for targeting platform (Desktop/Android/iOS)
  - Qt 5 Compatibility module
  - Qt Remote Objects
 Conan package manager
  - On MacOS is enough just to use homebrew or install it in .venv in project root
  - Other systems must have it in PATH
 (Optional) Installer dependencies:
  - [Windows/Linux] Qt Installer Fra

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON