Comment utiliser les proxys sur Android (et pourquoi les paramètres de proxy Wi-Fi ne proposent que HTTP, et non SOCKS5)
La boîte de dialogue de proxy Wi-Fi intégrée à Android n'a aucune option de protocole, car elle est limitée à HTTP. Voici ce que cela implique pour SOCKS5, pourquoi certaines applications ignorent ce paramètre, et les moyens pratiques d'obtenir du trafic proxifié sur Android.
Appuyez longuement sur votre réseau Wi-Fi sur Android, touchez Modifier le réseau, développez Options avancées, réglez Proxy sur Manuel, et vous obtenez un champ de nom d'hôte, un champ de port et une liste d'exclusion. C'est tout. Pas de menu déroulant de protocole, pas d'option SOCKS5, pas d'invite d'authentification.
Si vous avez cherché comment utiliser des proxys sur Android et vous êtes demandé pourquoi SOCKS5 n'apparaît jamais, voici la raison : le paramètre de proxy Wi-Fi intégré à Android est un proxy HTTP, et non un client SOCKS5 polyvalent.
Ce que le paramètre de proxy intégré d'Android prend réellement en charge
- HTTP et HTTPS uniquement. Le trafic HTTPS est tunnélisé avec une requête HTTP
CONNECT, ce qui explique pourquoi les sites HTTPS fonctionnent même si le proxy lui-même est HTTP. - Pas de SOCKS4, SOCKS5 ni SOCKS5h. Il n'y a tout simplement aucun champ pour cela.
- Pas d'UDP. Tout ce qui repose sur UDP — QUIC, le trafic de jeu, le DNS sur le même chemin — ne passera pas par ce proxy.
- Par réseau. Le paramètre est enregistré avec le réseau Wi-Fi que vous avez modifié, il ne s'applique donc pas lorsque vous changez de réseau ou utilisez les données mobiles.
- Indicatif, non imposé. Android transmet la configuration du proxy aux applications, mais celles-ci sont libres de l'ignorer.
Ce dernier point surprend le plus les gens. Un navigateur respecte généralement le proxy système ; de nombreuses autres applications, en particulier celles qui intègrent leur propre client HTTP ou bibliothèque réseau, se connectent directement et n'utilisent jamais le proxy. Les données mobiles n'ont pas de champ de proxy équivalent accessible à l'utilisateur sur la plupart des appareils, il n'y a donc rien à configurer là non plus.
Pourquoi SOCKS5 sur Android est généralement une impasse avec les outils intégrés
Même lorsqu'une application propose son propre champ SOCKS5, trois choses ont tendance à mal tourner :
- Où le DNS est résolu. SOCKS5 possède une variante qui résout les noms d'hôtes à distance, généralement écrite
socks5h. Si l'application résout d'abord les noms localement, vos requêtes DNS vont à votre FAI pendant que votre trafic sort ailleurs — une fuite partielle. - Prise en charge d'UDP. SOCKS5 définit bien une association UDP, mais la prise en charge par les clients est incohérente et la pile d'Android elle-même ne l'expose pas via le proxy système.
- Authentification. L'authentification par nom d'utilisateur/mot de passe fait partie de la poignée de main SOCKS5, mais le fait qu'une application expose ces champs dépend du développeur.
Les moyens pratiques d'obtenir du trafic proxifié sur Android
Option 1 : Le proxy HTTP intégré (le plus rapide, le plus limité)
- Ouvrez Paramètres, puis Réseau et Internet, puis Internet (libellé Wi-Fi sur les versions plus anciennes).
- Appuyez longuement sur votre réseau et choisissez Modifier le réseau.
- Développez Options avancées et réglez Proxy sur Manuel.
- Saisissez le nom d'hôte et le port du proxy. Certaines versions affichent aussi une liste d'exclusion — ajoutez-y les adresses locales.
- Enregistrez, puis reconnectez-vous au réseau.
Testez-le en visitant une page de vérification d'IP dans votre navigateur et en comparant le résultat avec le proxy désactivé. Si le navigateur affiche l'IP du proxy mais qu'une application affiche encore la vôtre, cette application ignore le proxy système.
Option 2 : Une application qui crée une interface VPN locale
Les applications qui créent un tunnel VPN local peuvent capturer le trafic de l'appareil et le transmettre à un point de terminaison proxy, ce qui contourne la limitation HTTP uniquement. Deux choses à comprendre avant de vous engager dans cette voie :
- Android autorise un seul VPN actif à la fois, cela entre donc en concurrence avec toute application VPN que vous utilisez déjà.
- L'application se trouve désormais sur le chemin du trafic pour tout ce qu'elle capture. Choisissez-la avec autant de soin que vous choisiriez un fournisseur VPN.
Option 3 : Terminer le proxy ailleurs
Au lieu de faire parler SOCKS5 à Android, placez le client SOCKS5 sur une machine que vous contrôlez — un serveur domestique, un routeur ou une petite instance cloud — et connectez Android à celle-ci. Terminer SOCKS5 dans un tunnel de transfert dynamique SSH (ssh -D) sur un ordinateur de bureau et partager cette connexion est un schéma courant.
Option 4 : Redirection au niveau root
Avec root, une redirection au niveau du noyau peut envoyer tout le trafic TCP vers un proxy SOCKS5, en contournant entièrement la prise en charge du proxy par application. Cela comporte un risque réel de casser la connectivité et n'est pas une option anodine.
Testez-le correctement depuis la ligne de commande
Si vous disposez d'une application de terminal sur l'appareil, vérifiez le proxy indépendamment du navigateur :
# Vérifier l'IP présentée par le proxy
curl -s --proxy socks5h://user:[email protected]:1080 https://api.ipify.org; echo
# Même proxy, sortie JSON pour script
curl -s --proxy socks5h://user:[email protected]:1080 "https://api.ipify.org?format=json"
Si ces commandes affichent l'adresse du proxy mais que votre navigateur ne le fait pas, le problème vient de la configuration au niveau de l'application plutôt que du proxy lui-même.
Notes de sécurité à prendre au sérieux
- Un proxy HTTP voit la destination de chaque requête. HTTPS garde le contenu chiffré, mais les métadonnées restent visibles par quiconque exploite le proxy.
- Les proxys publics gratuits, sur n'importe quelle plateforme, doivent être considérés comme hostiles. N'envoyez jamais d'identifiants ni de cookies de session à travers l'un d'eux.
- Si un proxy est transparent, gratuit et ne nécessite aucun compte, demandez quel est son modèle économique avant d'y faire passer quoi que ce soit de sensible.
À retenir
La boîte de dialogue de proxy Wi-Fi d'Android est une commodité limitée à HTTP, et non un client SOCKS5 — c'est une limitation de la plateforme, pas une mauvaise configuration de votre part. Utilisez le paramètre intégré pour un simple proxy HTTP au niveau du navigateur, utilisez une application de tunnel VPN locale lorsque vous avez besoin d'un routage à l'échelle de l'appareil vers un point de terminaison SOCKS5, et envisagez de terminer SOCKS5 ailleurs, comme un tunnel SSH ou un routeur que vous contrôlez, si vous voulez la flexibilité sans root. Quelle que soit la voie choisie, vérifiez avec un contrôle d'IP depuis le navigateur et la ligne de commande avant de lui faire confiance.