ChangeMyIP sur Linux : changez votre IP et vérifiez-la (configuration pour débutants)
Un guide pas à pas convivial pour débutants, axé sur le terminal, pour acheminer le trafic Linux via les points de terminaison HTTP et SOCKS5 de ChangeMyIP, puis prouver que l'IP a réellement changé avec des vérifications curl et un test de fuite rapide.
Aperçu
Un proxy modifie l'adresse IP que voit un site de destination, car le site répond au proxy plutôt qu'à votre machine. Sous Linux, vous pouvez diriger des commandes individuelles vers un point de terminaison ChangeMyIP, ou définir des variables d'environnement que la plupart des outils en ligne de commande lisent automatiquement. Ce tutoriel couvre les deux approches à un niveau débutant et se termine par une étape de vérification pour que vous sachiez que le changement a bien eu lieu.
ChangeMyIP propose des proxys datacenter partagés et dédiés ainsi que des proxys résidentiels avec IP rotatives, accessibles via HTTP et SOCKS5 ainsi que Shadowsocks, Trojan, DNS et WireGuard. Ce guide utilise uniquement HTTP et SOCKS5, conformément à une première configuration.
Avant de commencer
- Un abonnement ChangeMyIP actif. Votre tableau de bord ou les détails de votre forfait indiquent l'hôte proxy, le port et le nom d'utilisateur/mot de passe que vous utiliserez.
- Une machine Linux (bureau ou serveur) avec
curl. Confirmez-le aveccurl --version. - Une session de terminal. Ouvrez un nouveau shell pour les tests afin de pouvoir le fermer et tout abandonner.
- Facultatif : un éditeur de texte pour les fichiers de profil shell tels que
~/.bashrcou~/.zshrc.
Choisir le bon point de terminaison pour la tâche
| Type de point de terminaison | Comportement de l'IP | Première utilisation typique |
|---|---|---|
| Datacenter partagé | Une parmi de nombreuses IP dans un pool partagé ; d'autres utilisateurs peuvent voir la même IP | Tester que votre configuration fonctionne, navigation générale |
| Datacenter dédié | Une IP attribuée à votre compte | Conserver une identité stable pour les comptes que vous possédez |
| Résidentiel | IP rotatives issues de véritables plages de FAI | Vérifier des pages géociblées, collecte de données à échelle modérée |
Les détails de votre forfait déterminent les codes de pays ou de ville que vous pouvez demander. Le pool de ChangeMyIP couvre plus de 40 pays et plus de 300 villes ; utilisez les paramètres de pays et de ville exactement comme documenté pour votre forfait plutôt que de les deviner.
Étapes
Étape 1 : Charger vos identifiants dans le shell
read -r -p "Hôte et port du proxy (hôte:port) : " CM_HOST
read -r -p "Nom d'utilisateur du proxy : " CM_USER
read -r -s -p "Mot de passe du proxy : " CM_PASS; echo
read -s garde le mot de passe hors de l'écran et de l'historique de votre shell. Rien n'est stocké sur le disque par ces commandes.
Étape 2 : Enregistrer votre IP actuelle
echo "IP directe : $(curl -sS https://api.ipify.org)"
echo
Notez cette valeur. Vous la comparerez avec le résultat via proxy plus tard. N'importe quel service d'écho d'IP fonctionne ; api.ipify.org est utilisé ici car il renvoie une adresse brute sans balisage supplémentaire.
Étape 3 : Tester le point de terminaison HTTP
curl -sS --proxy "http://$CM_HOST" --proxy-user "$CM_USER:$CM_PASS" https://api.ipify.org
echo
Si l'authentification réussit et que le point de terminaison est joignable, l'adresse affichée diffère de l'IP directe de l'étape 2. Gardez l'appel comme commande curl explicite pour l'instant ; les variables d'environnement viennent ensuite.
Étape 4 : Tester le point de terminaison SOCKS5
curl -sS --socks5-hostname "$CM_HOST" --proxy-user "$CM_USER:$CM_PASS" https://api.ipify.org
echo
La forme --socks5-hostname demande au proxy de résoudre le nom d'hôte de destination, de sorte que votre résolveur DNS local n'est pas consulté pour le domaine cible. L'option simple --socks5 résout localement et est généralement un mauvais choix pour les configurations axées sur la confidentialité.
Étape 5 : Définir les variables d'environnement proxy pour la session
export http_proxy="http://$CM_USER:$CM_PASS@$CM_HOST"
export https_proxy="$http_proxy"
export no_proxy="localhost,127.0.0.1,::1"
curl -sS https://api.ipify.org
echo
curl, wget, git, pip et de nombreux autres outils en ligne de commande lisent ces variables automatiquement. La liste no_proxy maintient les adresses locales, comme un serveur de développement sur le port 3000, hors du tunnel proxy.
Étape 6 : Ajouter des assistants d'activation/désactivation au lieu d'exports permanents
# Ajouter à ~/.bashrc ou ~/.zshrc
proxy_on() {
: "${CM_HOST:?Définissez d'abord CM_HOST, CM_USER et CM_PASS}"
export http_proxy="http://${CM_USER}:${CM_PASS}@${CM_HOST}"
export https_proxy="$http_proxy"
export no_proxy="localhost,127.0.0.1,::1"
echo "Proxy HTTP/HTTPS activé"
}
proxy_off() {
unset http_proxy https_proxy no_proxy
echo "Proxy HTTP/HTTPS désactivé"
}
Rechargez le fichier avec source ~/.bashrc, puis tapez proxy_on lorsque vous voulez le tunnel et proxy_off lorsque vous ne le voulez pas. Laisser un proxy exporté en permanence est une source courante d'échecs déroutants dans des outils sans rapport.
Étape 7 : Comprendre ce que les variables d'environnement ne couvrent pas
- Les navigateurs, les applications Electron et les services de bureau ignorent généralement les variables d'environnement du shell. Configurez plutôt le proxy dans l'application ou dans les paramètres réseau de votre bureau.
- Les démons d'arrière-plan tels que Docker, snapd et certains gestionnaires de paquets ont besoin de leurs propres fichiers de configuration.
- Un seul proxy global peut être actif par session de shell, donc exécutez des terminaux séparés si vous devez comparer deux points de terminaison à la fois.
Étape 8 : Confirmer le changement et vérifier le DNS
curl -sS https://ipinfo.io/ip; echo
curl -sS https://ipinfo.io/country; echo
La valeur du pays doit correspondre à la région du point de terminaison ChangeMyIP que vous avez sélectionné. Avec HTTP et la forme --socks5-hostname, le proxy résout le nom d'hôte de destination, de sorte que votre résolveur local n'est pas consulté pour le domaine cible. Si vous exécutez également un résolveur DNS local ou un proxy transparent, effectuez un test de fuite DNS dans un navigateur pour confirmer que vos requêtes sortent là où vous l'attendez.
Dépannage
| Symptôme | Cause probable | Solution |
|---|---|---|
curl: (22) ... 407 |
Identifiants proxy manquants ou incorrects | Revérifiez le nom d'utilisateur et le mot de passe, et passez --proxy-user explicitement |
curl: (7) Failed to connect |
Hôte ou port incorrect, ou blocage par pare-feu | Copiez l'hôte et le port depuis les détails de votre forfait ; confirmez que le port est joignable |
L'IP est inchangée après export |
Exporté dans un autre shell, ou l'outil ignore les variables d'environnement | Exécutez proxy_on dans le shell actuel et testez d'abord avec curl |
Fonctionne avec curl mais pas dans le navigateur |
Le navigateur ne lit pas les variables du shell | Saisissez l'hôte et le port dans les paramètres proxy du navigateur ou le panneau réseau du bureau |
| Certains sites se chargent, d'autres sont bloqués | L'IP du datacenter partagé est signalée par le site cible | Réessayez avec un point de terminaison résidentiel |
| SOCKS5 échoue mais HTTP fonctionne | Résolution DNS locale ou mauvaise option SOCKS | Utilisez --socks5-hostname |
| Les vitesses varient entre les tentatives | Congestion du pool de datacenters partagés | Testez un autre point de terminaison d'une autre ville |
Résumé
Changer votre IP sous Linux se résume à trois choses : détenir des identifiants ChangeMyIP valides, indiquer à l'outil où envoyer le trafic, et vérifier le résultat. Testez d'abord avec curl et des options explicites, passez aux variables d'environnement http_proxy et https_proxy une fois que cela fonctionne, et exposez-les via les assistants proxy_on et proxy_off afin que votre trafic normal ne soit pas affecté lorsque vous ne testez pas. Confirmez la nouvelle IP et le pays avec un service d'écho d'IP, préférez --socks5-hostname lorsque vous voulez que le proxy gère le DNS, et rappelez-vous que les applications graphiques ont besoin de leurs propres paramètres proxy.