The best client for self-hosted VPN
Amnezia is a VPN client with the key feature of deploying your own VPN server on you virtual server.
- Very easy to use - enter your ip address, ssh login and password, and Amnezia client will automatically install VPN docker containers to your server and connect to VPN.
- OpenVPN and OpenVPN over ShadowSocks protocols support.
- Custom VPN routing mode support - add any sites to client to enable VPN only for them.
- Windows and MacOS support.
- Unsecure sharing connection profile for family use.
AmneziaVPN uses a number of open source projects to work:
Checking out the source code
Make sure to pull all submodules after checking out the repo.
git submodule update --init
Want to contribute? Welcome!
Building sources and deployment
Easiest way to build your own executables - is to fork project and configure Travis CI
Or you can build sources manually using Qt Creator. Qt >= 14.2 supported.
Look to the
build_windows.bat scripts in
deploy folder for details.
How to build iOS app from source code on MacOS
First, make sure you have XCode installed, at least version 12 or higher.
qmaketo generate the XCode project and then we "patch" it to add extra components such as the wireguard, the browser bridge and so on. We patch the XCode project using xcodeproj. To install it:
gem install xcodeproj # probably you want to run this command with `sudo`
You also need to install go >= v1.16. If you don't have it done already, download go from the official website or use Homebrew. Latest version is recommended.
Navigate inside client folder and generate the XCode project using our script:
cd client ./scripts/apple_compile.sh ios
If you have more than one version of Qt installed, you'll most likely get
qmake cannot be found in your
$PATH" error. In this case run this script
using QT\IOS_BIN env to set the path for the Qt5 macos build bin folder.
For example, the path could look like this:
QT_IOS_BIN="/Users/username/Qt/5.15.2/ios/bin" ./scripts/apple_compile.sh ios
If you get
gomobile: command not found make sure to set PATH to the location
of the bin folder where gomobile was installed. Usually, it's in
- Xcode should automatically open. You can then run/test/archive/ship the app.
If build fails with the following error
make: *** [$(PROJECTDIR)/client/build/AmneziaVPN.build/Debug-iphoneos/wireguard-go-bridge/goroot/.prepared] Error 1
Add a user defined variable to both AmneziaVPN and WireGuardNetworkExtension targets' build settings with
PATH and value
if above error still persists on you M1 Mac, then most proably you need to install arch based cmake
arch -arm64 brew install cmake
Build might fail with "source files not found" error the first time you try it, because modern XCode build system compiles dependencies in parallel, and some dependencies end up being built after the ones that require them. In this case simply restart the build.
https://t.me/amnezia_vpn_en - Telegram support channel (English)
https://t.me/amnezia_vpn - Telegram support channel (Russian)
https://signal.group/... - Signal channel
https://amnezia.org - project website