title: Android OpenVPN connection
body: <p>I'm developing an Android application and want it to connect to an OpenVPN Server.
  Since Android 4.0 there is a <a href="http://developer.android.com/reference/android/net/VpnService.html" rel="nofollow">VPNService</a> class. This class however needs to intercept all the network packets(and require special permissions) because it is apperently running on the Internet Protocol. However as far as I understand,  OpenVPN is running on-top of TCP or UDP(my server is configured to use UDP). I only need to tunnel the traffic from my own application through the VPN tunnel.</p>
  
  <ul>
  <li>Shouldn't it theoretically be possible to avoid this(because I don't need to intercept all the traffic, but only the UDP-OpenVPN packets targeting my application)? </li>
  <li>Do you know of a library for Android that fulfills my needs?</li>
  <li>If not, would it be possible to implement the OpenVPN protocol in Android on-top of UDP without the need of the <a href="http://developer.android.com/reference/android/net/VpnService.html" rel="nofollow">VPNService</a> class?</li>
  </ul>
  
  <p>I found the <a href="https://github.com/schwabe/ics-openvpn" rel="nofollow">follwing project: ics-openvpn</a>. However it also uses the <a href="http://developer.android.com/reference/android/net/VpnService.html" rel="nofollow">VPNService</a> class and intercepts all the packages.</p>