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