The official Android API for OpenVPN has been supporting OpenVPN TUN for years now. However, there is no vanilla support for TAP.

Since the backbone of Android is Linux, is there a way to add driver support for TAP that Android's API may access? Or a way to install pure OpenVPN (use OpenVPN without using the VPN API)?

  • Some Android apps provide option to use tap emulator such as it.colucciweb.vpnclient. It's also possible to run OpenVPN on Android, see this answer: android.stackexchange.com/a/214813/218526. There's nothing stopping this from running in TAP mode, though I only tested TUN mode. The only problem is that Android's routing table is far complex than that of standard Linux. So you have to do a lot of work manually. Commented Sep 30, 2019 at 18:23

1 Answer 1


The OpenVPN settings app allows using a plain OpenVPN binary and tap. That will work up to 4.3.

Be warned however routing is done very different in Android 4.4 and plain OpenVPN might break.

Implementing a Tap style API that is similar to the tun VPNService API is certainly possible but of limited use since you could only use it in custom ROMs. Writing a tap on tun emulator is probably the right approach (See also FAQ of OpenVPN for Android)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .