Using Development Versions of OpenVPN Community Edition
Getting OpenVPN snapshot builds (binaries)
We offer several different kinds of development builds and snapshots:
- FreeBSD openvpn-devel port — also usable as a standalone source snapshot on other platforms.
- Fedora Copr repositories with selected development builds for Fedora and Red Hat Enterprise Linux.
- Windows installers built from every commit.
Note: These snapshots are either entirely untested or tested only briefly; there are no guarantees they always work correctly.
Where to find the source code
You can find a download of a "source ball" on the main download page for OpenVPN. This is a compressed archive containing the source code for a specific release. All our open source projects are also available via git repositories, the preferred development method.
OpenVPN 2 (server and client library)
We keep three independent git repositories for OpenVPN 2.x, where they should always be in sync:
- GitHub — https://github.com/OpenVPN/openvpn/
- GitLab — https://gitlab.com/openvpn/openvpn
- SourceForge.net — https://sourceforge.net/p/openvpn/openvpn/
OpenVPN 3 Core Library
The OpenVPN 3 core library is a C++11 (and newer) source code library used by OpenVPN 3 Linux, OpenVPN Connect, and OpenVPN for Android. This library contains the lower-level interfaces to implement the OpenVPN wire protocol.
- GitHub — https://github.com/OpenVPN/openvpn3/
OpenVPN 2 GUI for Windows
OpenVPN for Android
OpenVPN 3 Linux
OpenVPN 3 Linux is a new, OpenVPN-3-based implementation focusing on Linux with a completely different approach and user interface compared to the classic OpenVPN 2.x generation. You can find more information here:
We keep two independent git repositories for OpenVPN 3 Linux in sync
- GitHub — https://github.com/OpenVPN/openvpn3-linux
- GitLab — https://gitlab.com/openvpn/openvpn3-linux
- (Experimental, in testing) Codeberg — https://codeberg.org/OpenVPN/openvpn3-linux
OpenVPN Connect v3
OpenVPN Inc. develops the VPN client OpenVPN Connect. It’s included with OpenVPN Access Server, a self-hosted business VPN. It’s also used to connect to OpenVPN Cloud, our OpenVPN-as-a-Service solution. OpenVPN Connect is not open source, but you can download it free from our website and select App Stores. With it, you can connect to any OpenVPN server. We built it on the open-source OpenVPN 3 client library listed above.
Each of these OpenVPN projects should contain a README file in the git repository or their corresponding source archive. This file should describe the needed steps to build the project yourself. As each of these OpenVPN projects is quite different and available on various platforms, the build process is specific to each project and platform.
If you're unsure if your problem is a bug, you can ask about it on OpenVPN support channels. The community developer support section contains various channels to reach the OpenVPN community and developers:
If you've genuinely found a bug, check if the same issue has been reported to Trac, and if it’s been fixed already. If you've found a new, unfixed bug, report it with as many relevant details as possible; good bug reports help resolve the problem quickly. In each bug report, you should document a few things:
- Operating system (e.g., OpenBSD 4.3, Fedora 36, Ubuntu 22.04 LTS, Windows 11, Android 12).
- Report as much information about the OpenVPN version you're running as you can.
- Relevant parts of OpenVPN client and/or server logs (when available).
- OpenVPN 2.x logs should use --verb 4.
- OpenVPN 3 Linux should set openvpn3-admin log-service --log-level 6 and the configuration profile should also use --verb 6. See openvpn3-admin-log-service(8), openvpn3-config-import(1) and openvpn3-config-manage(1) man pages for details.
- If you built OpenVPN yourself, include the ten first lines of config.log, where this file is available.
- Finally, fill in all the fields in Trac according to your best ability.