2

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)?

Mark Lopez
  • 201
  • 2
  • 8
  • 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: https://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. – Irfan Latif Sep 30 '19 at 18:23

1 Answers1

0

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)

plaisthos
  • 101
  • 2