Android: Exemple de code pour utiliser sa propre connexion VPN dans Android 4.0 à l'aide de l'API VPNService
Je suis nouveau sur android et je suis en train d'établir et de se connecter à notre propre vpn
(Pas par défaut vpn
fournisseurs de je.e, PPTP
L2TP
etc, qui est présent dans l'Android Setting -> Wireless and Networks
) par programmation.
Mon scénario, j'ai des bouton et quand je clique sur le bouton je dois configurer mon propre vpn
et un lien (dire www.google.com) doit passer par cette VPN
qui j'avais configuré.
Est-il un exemple de code?
source d'informationauteur Sudarshan
Vous devez vous connecter pour publier un commentaire.
Je ne sais pas pourquoi j'ai googlé mille fois, mais n'a pas github de recherche. À la recherche depuis des siècles maintenant, j'ai enfin trouvé un écrit magnifiquement. Le code est littéralement magnifique qui est rare:
https://github.com/hexene/LocalVPN
Le projet ne pas utilisation NDK ou de tout code natif, purement java, ce qui en fait un parfait point de départ pour un projet simple (non pas qu'il ne sera pas bon pour un complexe). Et le flux de travail est assez simple:
LocalVPNService.class
LocalVPNService
TCP/UDP paquet est étudié et IP source et de destination sont extraites (Packet.class
est utilisé pour cela).LocalVPNService
fait un lien sur le nom de l'application à partir de la demande, et les appelsVpnService.protect()
sur la connexion nouvellement créée pour éviter les boucles.Comme vous pouvez le voir hexène a fait tout le travail dur et lourd de levage déjà.
Toutes les classes référencées ci-dessus sont trouvées dans le répertoire des projets.
J'ai eu un rapide coup d'oeil dans le code source de github, le flux de travail abordés ici peuvent ne pas être exacts.
Vous pouvez vous référer à l'exemple d'application ToyVpn qui est fourni avec votre kit SDK d'android. donc, il suffit d'aller à des échantillons et de renvoyer la demande.Voir aussi cette
En plus de cela, vous pouvez télécharger le code source d'Openvpn. Voici le lien pour que
https://github.com/kghost/ics-openvpn
Grâce
OpenSwan Solution:
https://wiki.strongswan.org/projects/strongswan/wiki/AndroidVPNClient
OpenVPN Solution:
https://code.google.com/p/ics-openvpn/
Les deux cas, l'Android SDK et NDK.