Algo VPN

Ansible-based personal VPN setup for WireGuard and IPsec in the cloud

Repository activity
  • Stars30.3k
  • Forks2.4k
  • Open Issues74
License

AGPL-3.0

Languages
  • Python
  • Jinja
  • Shell
Algo VPN screenshot

About Algo VPN

Algo VPN sets up a personal WireGuard and IPsec VPN using Ansible scripts with secure default settings. You run it from your own machine to deploy a VPN server to a cloud provider or your own Ubuntu server.

It supports IKEv2 with AES-GCM, SHA2, and P-256 for iOS, macOS, and Linux, plus WireGuard for iOS, macOS, Android, Windows 11, and Linux. It generates .conf files, QR codes, and Apple profiles for device setup, and includes helper scripts to add, remove, and manage users. Optional local DNS ad blocking, limited SSH tunneling users, minimal logging, and automatic log rotation are available.

The server runs on Ubuntu 22.04 LTS with automatic security updates. You can run the deploy from a local system, Google Cloud Shell, or a Docker container, targeting DigitalOcean, AWS, Azure, Google Compute Engine, Vultr, Linode, Hetzner, and others, or your own Ubuntu server. It does not claim to provide anonymity or censorship avoidance.

Key features

  • WireGuard and IPsec VPN setup with Ansible
  • IKEv2 with AES-GCM, SHA2, and P-256
  • Generates .conf files, QR codes, and Apple profiles
  • Helper scripts to add, remove, and manage users
  • Optional local DNS resolver and SSH tunneling users

Details

First released
2016
Platforms
Windows · macOS · Linux · Android · iOS
Deployment
self-hostable · docker
Protocols
WireGuard · IPsec (IKEv2)
Server OS
Ubuntu 22.04 LTS
Encryption
AES-GCM · SHA2 · P-256