With full IPv6 routing, bandwidth usage graphs, and the ability to configure as a kill switch, OpenVPN for Android is more fully-featured than most custom Android VPN apps. Add in the fact that OpenVPN for Android is open source and always uses the latest version of OpenVPN, and we have a compelling case for preferring it over custom Android VPN apps.
Most VPNs these days offer custom Android apps, so why use a generic one? Well… not only is OpenVPN for Android open source, but it is actually more fully-featured than most custom VPN apps…
OpenVPN for Android Price
OpenVPN for Android is free and open source software (FOSS), so it is free in every sense of the word. Do please be aware, however, that in order to use it you must either subscribe to a commercial VPN service or setup your own private OpenVPN server.
If you cannot or do not want to use the Google Play Store, OpenVPN for Android can instead be downloaded as an .apk file or installed from F-Droid.
This last allows you to run OpenVPN over TCP port 443, which is a great way to defeat censorship blocks (although horribly inefficient from a technical standpoint).
Pretty much every VPN service provides OpenVPN configuration files that can be used by OpenVPN for Android. This means that you always have the option to use OpenVPN for Android instead of a provider’s custom Android app (if it has one).
In general, I always recommend using open source software. Imperfect as it is, open source is the only guarantee possible that software does not contain any malicious code.
To be honest, though, I don’t consider this to be a major issue when it comes to VPN apps. A VPN provider can always monitor what you get up to online when using its service anyway, so worrying about compromised software seems rather like shutting the barn door after the horse has bolted. Your own view may vary.
That said, I do believe in supporting open source software on principle.
How to use OpenVPN for Android
Using OpenVPN for Android is not hard, but the need to import third-party OpenVPN configuration files does make setup a little more involved than with preconfigured custom VPN apps.
1. Download the OpenVPN configuration files from your VPN provider’s website. Unzip them (if required) and transfer to a folder on your Android device via USB. Alternatively, download them directly to your Android device and unzip them with an app such as ZArchiver.
2. Download, install and run OpenVPN for Android(if you haven’t already). Touch the + icon to the top right of the screen to Add Profile. Give the profile a suitable name, then hit “Import.”
3. Navigate to the folder where you saved the unzipped OpenVPN config file(s), and choose a server (.ovpn file). Once imported, touch the tick ✔ icon to continue.
Many providers include all necessary keys and account information in customized .ovpn files, so no further configuration is needed. Others may require that you enter your account information and other details. Please see your provider’s documentation for specific instructions.
4. Once done, you’ll see the server name under the Profiles tab. To start the VPN, just touch it. You can import .ovpn files for as many servers as you like, and they will show up here.
A rather natty set of graphs allows you to monitor your VPN bandwidth usage.
Additional OpenVPN for Android settings (Optional but Recommended)
Enable IPv6 Routing
You can prevent IPv6 DNS leaks by telling OpenVPN for Android to properly route all IPv6 traffic over the VPN. To ensure this is enabled:
1. Edit the specific VPN connection in the “Profiles” tab.
2. Ensure that IPv6 -> Use default Route is checked. While you are here, also check that IPv4 leak protection is enabled (it should be by default).
Enable a kill switch on Android
To configure OpenVPN for Android to act as a kill switch:
1. Edit the specific VPN connection in the “Profiles” tab (see above).
2. Go to the “Advanced” tab and check “Persistent Tun” and set “Connection retries” to Unlimited.
Ta-da! You now have an OpenVPN kill switch for Android.
Other than custom VPN apps, OpenVPN for Android’s main rival is OpenVPN Connect. Like OpenVPN for Android, this is a generic OpenVPN client that can use regular OpenVPN configuration files to connect to any VPN service that supports OpenVPN.
OpenVPN Connect is the “official” client from OpenVPN Inc. and is designed to be very user-friendly for the casual VPN user without any technical skills. It is therefore less fully featured than OpenVPN for Android, which is aimed at more advanced users.
Another important difference is that OpenVPN for Android is open source while the official OpenVPN Connect app is not. For this reason, OpenVPN for Android is regarded as being the “semi-official” app by many in open source OpenVPN community.
I have not performed scientific tests, but after routinely using OpenVPN for Android for years on various phones, I can’t say I have ever noticed it causing battery drain.
Open VPN for Android Review Conclusion
DNS leak protection (both IPv4 and IPv6)
Full IPv6 routing
WebRTC leak protection
Uses the most up-to-date version of OpenVPN
Can be configured to act as a kill switch
I wasn’t so sure about
Not quite as easy to setup as preconfigured custom apps
It may seem a little counterintuitive, but with full IPv6 routing, bandwidth usage graphs, and the ability to configure as a kill switch, OpenVPN for Android is more fully-featured than almost any custom Android VPN app I have yet reviewed. It is also more fully featured than its desktop equivalents.
Add in the fact that OpenVPN for Android is open source and always uses the latest version of OpenVPN, and we have a compelling case for preferring it over custom Android VPN apps.