https://github.com/infernovm/openvpn-installer
Automate OpenVPN server setup on Debian, Ubuntu, Fedora, CentOS & Arch Linux with this powerful, easy-to-use installer. Secure your network with fast, reliable VPN deployment featuring optimized encryption, IPv6 support, custom configs & more!
https://github.com/infernovm/openvpn-installer
anonymous arch-linux centos debian encryption fedora installer linux network openvpn security self-hosted ubuntu vpn wireguard
Last synced: 2 months ago
JSON representation
Automate OpenVPN server setup on Debian, Ubuntu, Fedora, CentOS & Arch Linux with this powerful, easy-to-use installer. Secure your network with fast, reliable VPN deployment featuring optimized encryption, IPv6 support, custom configs & more!
- Host: GitHub
- URL: https://github.com/infernovm/openvpn-installer
- Owner: InfernoVM
- Created: 2025-02-21T21:29:48.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2025-02-21T21:35:03.000Z (2 months ago)
- Last Synced: 2025-02-21T22:26:14.345Z (2 months ago)
- Topics: anonymous, arch-linux, centos, debian, encryption, fedora, installer, linux, network, openvpn, security, self-hosted, ubuntu, vpn, wireguard
- Language: Shell
- Homepage: https://infernovm.net
- Size: 0 Bytes
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π OpenVPN Install Script β Fast, Secure, and Easy VPN Deployment
Easily set up a secure OpenVPN server on **Debian, Ubuntu, Fedora, CentOS, Arch Linux, Oracle Linux, Rocky Linux, and AlmaLinux** with this automated script.
---
## β Key Features
β **Quick Installation** β Deploy a fully functional VPN in minutes.
β **Enhanced Security** β Custom encryption settings for maximum protection.
β **User Management** β Effortlessly add, remove, or manage clients.
β **Multi-Platform Support** β Works on various Linux distributions.
β **Automated Headless Installation** β One-command setup for seamless deployment.---
## π₯οΈ Supported Distributions
| Distribution | Support |
| ------------------- | -------------- |
| AlmaLinux 8 | β |
| Amazon Linux 2 | β |
| Arch Linux | β |
| CentOS 7 | β π€ |
| CentOS Stream >= 8 | β π€ |
| Debian >= 10 | β π€ |
| Fedora >= 35 | β π€ |
| Oracle Linux 8 | β |
| Rocky Linux 8 | β |
| Ubuntu >= 18.04 | β π€ |*Note: Distributions marked with π€ are regularly tested.*
---
## π₯ Installation Guide
### Step 1: Download the Script
```bash
curl -O https://raw.githubusercontent.com/InfernoVM/OpenVPN-Installer/main/setup.sh
chmod +x setup.sh
```### Step 2: Run the Script
```bash
sudo ./setup.sh
```Follow the prompts to configure your VPN server.
### Step 3: Manage Clients
Once installed, rerun the script to:
- **Add a Client**
- **Remove a Client**
- **Uninstall OpenVPN**Client configuration files (`.ovpn`) will be saved in your home directory for easy access.
---
## π Automated Headless Installation
To automate the installation:
```bash
AUTO_INSTALL=y ./setup.sh
```Or set environment variables:
```bash
export AUTO_INSTALL=y
./setup.sh
```### Customizable Options
- `APPROVE_INSTALL=y`
- `APPROVE_IP=y`
- `IPV6_SUPPORT=n`
- `PORT_CHOICE=1`
- `PROTOCOL_CHOICE=1`
- `DNS=1`
- `COMPRESSION_ENABLED=n`
- `CUSTOMIZE_ENC=n`
- `CLIENT=clientname`
- `PASS=1`To set the server endpoint behind NAT:
```bash
ENDPOINT=$(curl -4 ifconfig.co)
```For more customization, modify the `installQuestions()` function in the script.
### π Headless User Addition
To automate user creation:
```bash
#!/bin/bash
export MENU_OPTION="1"
export CLIENT="foo"
export PASS="1"
./setup.sh
```---
## π Advanced Security and Encryption
OpenVPN defaults to **strong encryption settings**, further enhanced by this script:
- **AES-GCM** β Ensures confidentiality, integrity, and authenticity.
- **TLS 1.2** β Enforced for maximum security.
- **ECDSA Certificates** β Default certificate type for efficiency and security.
- **tls-crypt** β Enabled by default for additional privacy and DoS protection.---
## π€ FAQ
### πΉ Recommended VPS Providers
- **[InfernoVM](https://infernovm.net)**### πΉ Recommended OpenVPN Clients
- **Windows** β [Official OpenVPN Community Client](https://openvpn.net/index.php/download/community-downloads.html)
- **Linux** β Install `openvpn` via your distributionβs package manager ([APT repo](https://community.openvpn.net/openvpn/wiki/OpenvpnSoftwareRepos))
- **macOS** β [Tunnelblick](https://tunnelblick.net/), [Viscosity](https://www.sparklabs.com/viscosity/)
- **Android** β [OpenVPN for Android](https://play.google.com/store/apps/details?id=de.blinkt.openvpn)
- **iOS** β [OpenVPN Connect](https://itunes.apple.com/us/app/openvpn-connect/id590379981)### πΉ Is This Script NSA-Proof?
No. While it enhances security, **no VPN can guarantee complete anonymity**. Evaluate your threat model accordingly.
### πΉ Where Can I Find OpenVPN Documentation?
Check the [OpenVPN Manual](https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage) for full documentation.
---
## π§ Security and Encryption Details
> **Warning**: This section has not been updated for OpenVPN 2.5+.
### π Compression
- **Default** β Compression is disabled to prevent VORACLE attacks.
- **Supported** β LZ0 and LZ4 (v1/v2) are available but not recommended.### π TLS Version
- **Default** β TLS 1.2 enforced (`tls-version-min 1.2`).
- **Support** β Available since OpenVPN 2.3.3.### π Certificates
- **Default** β ECDSA with `prime256v1` curve.
- **Supported** β RSA keys (2048, 3072, 4096 bits) and ECDSA curves (`secp384r1`, `secp521r1`).### π Data Channel Encryption
- **Default** β AES-128-GCM.
- **Supported** β AES-GCM and AES-CBC with multiple key lengths.### π Control Channel Encryption
- **Default** β `TLS-ECDHE-*` with AES-128-GCM and SHA256.
- **Supported** β Configurable based on certificate type (ECDSA or RSA).### π Diffie-Hellman Key Exchange
- **Default** β ECDH with `prime256v1`.
- **Supported** β ECDH and classic DH keys.### π HMAC Digest Algorithm
- **Default** β SHA256.
- **Supported** β SHA256, SHA384, SHA512.### π `tls-auth` and `tls-crypt`
- **Default** β `tls-crypt` enabled for additional security.
- **Supported** β Both `tls-auth` and `tls-crypt`.---
π **Why Use This Script?**
β **Fast & Secure** β Minimal setup, maximum security.
β **Customizable** β Adjust settings for your needs.
β **Lightweight & Efficient** β No unnecessary bloat.β‘οΈ **Download and deploy your VPN today!** π