Android API 29 a introduit VpnService.Builder.setHttpProxy pour rattacher une recommandation de proxy HTTP à un réseau VPN. Dans un service VPN existant, avant d'établir son interface configurée :

builder.setHttpProxy(
    ProxyInfo.buildDirectProxy("proxy.example", 8080));

Ici, builder est le VpnService.Builder du service et ProxyInfo est android.net.ProxyInfo. Indiquez séparément l'hôte et le port du proxy. Ce fragment ajoute les informations de proxy à un builder dont les autres paramètres VPN sont déjà configurés.

Les proxys PAC ne sont pas pris en charge par cette API. Créer un ProxyInfo à partir d'une URI PAC ne le transforme pas en configuration de proxy VPN prise en charge ; utilisez un point de terminaison de proxy HTTP direct et joignable. Pour le trafic public autorisé, la liste de proxys HTTP fournit des candidats d'hôte et de port, dont la joignabilité doit être vérifiée selon le schéma de routage du VPN.

Ce réglage est indicatif. Les applications peuvent l'ignorer, il ne peut donc pas garantir que chaque connexion utilise le proxy. Dans un tunnel divisé, les applications qui suivent la recommandation peuvent aussi tenter d'envoyer des requêtes HTTP vers des destinations hors du VPN via ce proxy. Ces applications ne peuvent pas distinguer les deux groupes de routes lorsqu'elles appliquent les informations de proxy. Vérifiez la joignabilité de l'intermédiaire selon ce schéma de routage avant de considérer le réglage comme complet.

Articles similaires