Compatibility¶
Supported Operating Systems¶
| Distribution | Versions | Automated Testing |
|---|---|---|
| Ubuntu | >= 18.04 | 18.04, 20.04, 22.04, 24.04, 25.10 |
| Debian | >= 11 | 11, 12, sid |
| Fedora | >= 40 | 42, 43 |
| Rocky Linux | >= 8 | 8, 9, 10 |
| AlmaLinux | >= 8 | 8, 9, 10 |
| Oracle Linux | >= 8 | 8, 9, 10 |
| CentOS Stream | >= 8 | 9, 10 |
| Amazon Linux | 2023 | 2023 |
| Arch Linux | latest | latest |
| openSUSE Leap | >= 16 | 16.0 |
| openSUSE Tumbleweed | latest | latest |
Debian Testing/Unstable¶
Debian testing and unstable ("sid") don't set VERSION_ID in /etc/os-release. The script's OS detection (checkOS()) treats a missing VERSION_ID as an acceptable, unversioned Debian rather than failing — see OS Detection.
Separately, the official OpenVPN APT repository does not publish packages for every Debian/Ubuntu suite. Before adding the repository, the script checks whether it publishes packages for the detected suite (via the release codename) and falls back to the distribution's own openvpn package if not, or if the codename itself is unavailable — see Installation Process — Phase 1.
System Requirements¶
- Root access — the script must be run as root or via
sudo - TUN module — must be enabled (
/dev/net/tun) - systemd — used for service management
- Architecture — amd64 (officially tested)
Checking TUN availability
Supported Client Platforms¶
The generated .ovpn files are compatible with:
| Platform | Client |
|---|---|
| Windows | OpenVPN Community Client |
| Linux | openvpn, NetworkManager, GNOME, KDE |
| macOS | Tunnelblick, Viscosity, OpenVPN for Mac |
| Android | OpenVPN for Android |
| iOS | OpenVPN Connect |