Conexión de Android OpenVPN

Estoy desarrollando una aplicación de Android y quiero que se conecte a un servidor OpenVPN. Desde Android 4.0 hay una clase VPNService . Esta clase sin embargo necesita interceptar todos los paquetes de la red (y requiere permisos especiales) porque está ejecutándose aparentemente en el Internet Protocol. Sin embargo, por lo que entiendo, OpenVPN se está ejecutando en la parte superior de TCP o UDP (mi servidor está configurado para usar UDP). Sólo necesito túnel del tráfico de mi propia aplicación a través del túnel VPN.

  • ¿No sería teóricamente posible evitar esto (porque no necesito interceptar todo el tráfico, sino sólo los paquetes UDP-OpenVPN que apuntan a mi aplicación)?
  • ¿Conoces una biblioteca para Android que satisface mis necesidades?
  • Si no, ¿sería posible implementar el protocolo OpenVPN en Android en la parte superior de UDP sin necesidad de la clase VPNService ?

He encontrado el siguiente proyecto: ics-openvpn . Sin embargo, también utiliza la clase VPNService e intercepta todos los paquetes.

Claro, teóricamente puedes UDP / OpenVPN en userspace / dentro de tu aplicación. Pero tendrías que implementar todo el TCP / IP dentro de tu aplicación, ya que necesitas emular todo el stack VPN.

Para una VPN de una aplicación como la solución es probable que sea mucho mejor de usar un SOCKS / HTTP proxy etc biblioteca.

Es necesario utilizar VpnService para crear una aplicación de OpenVPN que toma el archivo ovpn como entrada para la configuración en el lado del cliente como OpenVPN Connect . Así que cualquier persona puede cambiar la configuración de acuerdo a su necesidad. Además, debe configurar el servidor para OpenVPN. Tome el servidor de AWS EC2 o cualquier otro. Mientras que en la configuración de VPN en el lado del servidor siga este enlace .

  • ¿Hay alguna manera de crear un proxy HTTP en VPN en Android?
  • Programe PPTP / L2TP VPN de forma programática en Android
  • Detectar detrás de VPN en android
  • Cómo conectarse a una VPN, que ya está configurada en un teléfono Android, mediante programación
  • VpnService Android 4.0
  • Clase Android VpnService y su clase de constructor
  • Cómo agregar configuraciones propias de VPN con Java Reflecion (Android SDK 14+)
  • Escribir en flujo de salida VpnService no proporciona ninguna respuesta
  • ¿Cualquier organismo sabe cómo hacer una conexión VPN mediante programación usando el protocolo de servidor L2TP / IPSec en android?
  • ¿Tiene Jellybean 4.2 la intención de conectarse a una VPN ya definida?
  • Android: Código de ejemplo para usar la conexión VPN propia en Android 4.0 mediante VPNService API
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.