Amnezia VPN: Self-hosted VPN client
Cross-platform VPN client with automated server deployment and obfuscated protocol support.
Learn more about Amnezia VPN
Amnezia VPN is an open-source VPN client application that provides automated server deployment capabilities alongside traditional VPN connectivity. The client connects to user-provided servers via SSH and automatically installs VPN services using Docker containers, supporting protocols like OpenVPN, WireGuard, IKEv2, and Shadowsocks. It includes obfuscated protocol variants such as OpenVPN over Cloak and AmneziaWG for traffic masking in restrictive network environments. The application is built with Qt and provides cross-platform support for Windows, macOS, Linux, Android, and iOS.
Automated Server Deployment
Automatically installs and configures VPN server components on user-provided infrastructure using SSH and Docker containers.
Traffic Obfuscation Protocols
Implements obfuscated variants like OpenVPN over Cloak, Shadowsocks, and AmneziaWG to mask VPN traffic from network analysis.
Split Tunneling Support
Allows selective routing of specific applications or websites through the VPN while maintaining direct connections for other traffic.
#include <QObject>
#include <QProcess>
#include <QTimer>
#include "protocols/openvpn.h"
#include "protocols/wireguard.h"
class VpnConnectionManager : public QObject {
Q_OBJECT
public:
explicit VpnConnectionManager(QObject *parent = nullptr);
void connectToVpn(const VpnConfig &config);
void disconnectVpn();
ConnectionStatus getStatus() const { return m_status; }
private slots:
void onProcessFinished(int exitCode);
void checkConnectionHealth();
private:
QProcess *m_vpnProcess;
QTimer *m_healthTimer;
ConnectionStatus m_status;
VpnProtocol *m_currentProtocol;
void setupProtocol(ProtocolType type);
void startHealthMonitoring();
};See how people are using Amnezia VPN
Related Repositories
Discover similar tools and frameworks used by developers
LibreSpeed
Measure bandwidth, latency, and packet loss via Cloudflare's edge network.
ws
WebSocket client and server for Node.js with RFC 6455 support and compression.
ByeByeDPI
Android app running ByeDPI locally to route traffic and bypass Deep Packet Inspection filtering.
ByeDPI Android
Android app that bypasses DPI and network censorship using a local VPN with SOCKS5 proxy, no root required.
Tailscale
Zero-config mesh VPN with daemon and CLI tools.