Tailscale builds private WireGuard-based networks between your devices; this repo holds its tailscaled daemon and tailscale CLI.
OpenVPN/openvpn
An open source VPN daemon that creates secure tunnels between hosts using TLS-based authentication and encryption.
Open-source alternative to:Cisco AnyConnect
Pulse Secure
- Stars
- 14,718
- Forks
- 3,420
- Open issues
- 228
- Last commit
- 23 hours ago
What is it?
OpenVPN is a secure tunneling daemon that lets you create encrypted point-to-point or site-to-site connections, and remote-access VPNs, between machines. It is written in C and is distributed under the GNU General Public License version 2.
The project provides the core server and client daemon along with build instructions for Unix-like systems and Windows (via MinGW or MSVC). Configuration is handled through config files and command-line options, and the sample directory includes example configurations, a Perl script for customized certificate field checks via the --tls-verify option, and sample keys for testing only.
The easy-rsa certificate tooling and the tap-windows virtual network driver are maintained as separate subprojects, and Windows installers and Debian packages are built in a companion repository.
Key features
- 01Creates encrypted tunnels between hosts using TLS-based authentication.
- 02Supports custom certificate verification through the --tls-verify option.
- 03Builds on Unix-like systems and on Windows with MinGW or MSVC.
- 04Configured through config files and command-line options, with sample configurations included.
Use cases
- Setting up a remote-access VPN so staff can reach internal networks securely.
- Connecting two sites or networks with an encrypted tunnel.
- Adding custom certificate checks to an existing TLS-based VPN deployment.
Quick start
- 1
Download the latest release from the community downloads page
- 2
Extract the source tarball
tar -zxf openvpn-<version>.tar.gz - 3
Enter the source directory and run configure
./configure - 4
Build OpenVPN with make
make
Things to know
- Distributed under GPL version 2, a copyleft license.
- Building on Windows requires the separate MinGW or MSVC process described in README.cmake.md.
In collections
Topics
FAQ
- What is openvpn?
- An open source VPN daemon that creates secure tunnels between hosts using TLS-based authentication and encryption. OpenVPN is a secure tunneling daemon that lets you create encrypted point-to-point or site-to-site connections, and remote-access VPNs, between machines. It is written in C and is distributed under the GNU General Public License version 2.
- Is openvpn free to use? What license does it have?
- openvpn is open source under the Other license. Check the license terms before using it in commercial products.
- Is openvpn still maintained?
- Actively maintained. The last commit to openvpn was on Oct 23, 2026.
- What can I use openvpn for?
- Setting up a remote-access VPN so staff can reach internal networks securely. Connecting two sites or networks with an encrypted tunnel. Adding custom certificate checks to an existing TLS-based VPN deployment.
- How do I install openvpn?
- Download the latest release from the community downloads page Extract the source tarball: tar -zxf openvpn-<version>.tar.gz Enter the source directory and run configure: ./configure Build OpenVPN with make: make
- Where can I get openvpn?
- The source code and installation instructions are on GitHub: https://github.com/OpenVPN/openvpn
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open-source firewall and router platform based on FreeBSD, providing the GUI, API and system backend for OPNsense.
A fast reverse proxy that exposes local servers behind NAT or firewalls to the internet over TCP, UDP, HTTP and HTTPS.
Command-line client for Cloudflare Tunnel that connects your origin servers to the Cloudflare network without opening inbound firewall ports.
A minimal Rust CLI that exposes a local TCP port to a remote server, so localhost services can be reached from the public internet.
A netcat-like CLI and Go library that connects two machines over Tailscale's WireGuard data plane without needing a Tailscale account or control plane.