git à travers un proxy : HTTP et SOCKS5
git traite les proxies différemment sur HTTPS et sur SSH. Ce guide couvre les deux : http.proxy pour les dépôts HTTPS (y compris SOCKS5), et un ProxyCommand pour les dépôts SSH — avec une portée par hôte afin que seul le bon trafic soit acheminé.
HTTPS distants vs SSH distants
How you proxy git depends entirely on your remote's protocol. For HTTPS remotes (URLs like https://github.com/...), git uses libcurl, so it honours the http.proxy config and the standard http_proxy environment variables — and because it is libcurl, it accepts a SOCKS5 proxy via the socks5h:// scheme just like curl does. For SSH remotes (git@github.com:...), git is not involved in the networking at all; SSH is, so you configure a ProxyCommand in your SSH config to tunnel the connection.
Avec s4m, vous avez les deux points de terminaison : SOCKS5 sur le port 1080 et HTTP sur le port 3128, authentifié avec USER:PASS contre proxy.s4m.online. Pour les distants HTTPS, socks5h:// conserve le DNS distant ; pour SSH, un ProxyCommand utilisant nc ou ncat achemine le flux SSH via SOCKS5. Consultez la page proxy et qu'est-ce que SOCKS5 ; la même idée de ProxyCommand apparaît dans la comparaison SOCKS5 vs HTTP.
git sur HTTPS et SSH, proxifié
http.proxy pour les distants HTTPS (SOCKS5 ou HTTP), plus un ProxyCommand pour SSH. La portée par URL évite de proxyfier tout. Remplacez USER:PASS.
# --- HTTPS remotes: SOCKS5 with remote DNS ---
git config --global http.proxy socks5h://USER:PASS@proxy.s4m.online:1080
# or the HTTP proxy:
git config --global http.proxy http://USER:PASS@proxy.s4m.online:3128
# --- Scope the proxy to ONE host only (leave the rest direct) ---
git config --global http.https://github.com/.proxy \
socks5h://USER:PASS@proxy.s4m.online:1080
# --- Remove the proxy later ---
git config --global --unset http.proxy
# --- SSH remotes: tunnel git@... through SOCKS5 via ~/.ssh/config ---
cat >> ~/.ssh/config <<'CFG'
Host github.com
HostName github.com
User git
ProxyCommand nc -X 5 -x proxy.s4m.online:1080 %h %p
CFG
# -X 5 = SOCKS5; nc/ncat must be installed.
# --- One-off, no persistent config ---
git -c http.proxy=socks5h://USER:PASS@proxy.s4m.online:1080 clone https://example.com/repo.gitProxy git de la bonne manière
Choisissez d'abord votre type distant, puis appliquez la configuration correspondante.
Identifiez votre protocole distant
Exécutez git remote -v. Une URL https:// utilise http.proxy ; une URL git@host: utilise SSH, qui nécessite un ProxyCommand à la place.
Pour HTTPS, définissez http.proxy
Utilisez git config --global http.proxy avec socks5h://proxy.s4m.online:1080 pour le DNS distant, ou le point de terminaison HTTP sur 3128. Limitez-le par URL si vous ne souhaitez qu'un seul hôte proxifié.
Pour SSH, ajoutez une ProxyCommand
Dans ~/.ssh/config, ajoutez ProxyCommand nc -X 5 -x proxy.s4m.online:1080 %h %p sous le bloc Host pertinent. Installez nc/ncat s'il est manquant.
Vérifiez avec un clone
Clonez un petit dépôt et confirmez qu'il réussit. S'il se bloque, vérifiez à nouveau le point de terminaison et les identifiants, et assurez-vous que vous avez choisi le bon protocole.
Scoping par hôte, authentification et honnêteté
You rarely want to route all git traffic through a proxy. git supports per-URL proxy config — http.https://github.com/.proxy applies a proxy only to that host, leaving other remotes direct. That keeps internal mirrors fast while an external host goes through the proxy. Credentials live inline in the proxy URL; if your password has special characters, URL-encode them.
Les proxies s4m sont des points de terminaison SOCKS5 et HTTP authentifiés datacenter, facturés à l'utilisation — un choix solide pour les runners CI clonant des dépendances depuis une sortie contrôlée, ou pour atteindre un hôte git depuis un réseau restreint. Ils sont de type datacenter, pas résidentiel, et un proxy ne change que votre chemin réseau, pas vos identifiants git ou vos clés SSH. Lorsque CI a besoin d'une adresse IP de sortie autorisée, ajoutez une IP personnelle dédiée. Un 407 sur HTTPS signifie de mauvais identifiants de proxy — consultez le guide 407. Validez les points de terminaison avec les outils et lisez la documentation de l'API.
Questions, réponses
Comment faire en sorte que git utilise un proxy SOCKS5 ?
Pour les distants HTTPS, définissez git config --global http.proxy socks5h://USER:PASS@proxy.s4m.online:1080 — git utilise libcurl, donc il accepte SOCKS5 tout comme curl. Pour les distants SSH, utilisez un ProxyCommand dans ~/.ssh/config à la place.
Est-ce que http.proxy fonctionne pour les distants SSH (git@...) ?
Non. http.proxy n'affecte que les distants HTTPS. Les distants SSH sont proxifiés au niveau SSH avec un ProxyCommand — par exemple nc -X 5 -x proxy.s4m.online:1080 %h %p pour SOCKS5.
Comment faire un proxy pour un seul hôte git ?
Utilisez la configuration par URL : git config --global http.https://github.com/.proxy
Comment puis-je supprimer un proxy git ?
Exécutez git config --global --unset http.proxy (et toute variante par URL), ou supprimez la ligne ProxyCommand de ~/.ssh/config pour les télécommandes SSH.
Cloner depuis un proxy
Proxys SOCKS5 (1080) et HTTP (3128) authentifiés sur proxy.s4m.online, prêts pour http.proxy et SSH ProxyCommand. Paiement à l'utilisation, IP dédiée pour les listes blanches CI.
Les gens ont trouvé cette page en recherchant
- git à travers un proxy
- git à travers un proxy pour les débutants
- comment vérifier git à travers un proxy
- git à travers un proxy expliqué
- comment configurer git à travers un proxy
- liste de proxies gratuits sans inscription
- meilleur interrupteur d'arrêt VPN 2026
- comment vérifier si un proxy est valide (avec un script prêt à l'emploi)
- comment configurer adresse IP
- redirection de port via des VPN et des proxies
- comment les sites web détectent les proxies et les VPN
- qu'est-ce que authentification de proxy
- proxy pour le scraping fournisseur
- VPN kill switch
- frais authentification de proxy
Vraies phrases de recherche auxquelles cette page répond — les liens ouvrent la page qui les couvre en profondeur.