git attraverso un proxy: HTTP e SOCKS5
git gestisce i proxy in modo diverso su HTTPS e su SSH. Questa guida copre entrambi: http.proxy per remoti HTTPS (inclusi SOCKS5) e un ProxyCommand per remoti SSH — con scoping per host in modo che solo il traffico corretto venga instradato.
Remoti HTTPS vs remoti SSH
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.
Con s4m hai entrambi i punti finali: SOCKS5 sulla porta 1080 e HTTP sulla porta 3128, autenticati con USER:PASS contro proxy.s4m.online. Per i remoti HTTPS, socks5h:// mantiene il DNS remoto; per SSH, un ProxyCommand che utilizza nc o ncat instrada il flusso SSH attraverso SOCKS5. Vedi la pagina del proxy e cosa è SOCKS5; la stessa idea di ProxyCommand appare nel confronto SOCKS5 vs HTTP.
git su HTTPS e SSH, proxyato
http.proxy per remoti HTTPS (SOCKS5 o HTTP), più un ProxyCommand per SSH. La scoping per URL evita di proxyare tutto. Sostituisci 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 nel modo giusto
Scegli prima il tuo tipo remoto, poi applica la configurazione corrispondente.
Identifica il tuo protocollo remoto
Esegui git remote -v. Un URL https:// utilizza http.proxy; un URL git@host: utilizza SSH, che necessita di un ProxyCommand.
Per HTTPS, imposta http.proxy
Usa git config --global http.proxy con socks5h://proxy.s4m.online:1080 per DNS remoto, o l'endpoint HTTP su 3128. Limitalo per URL se desideri che solo un host sia proxyato.
Per SSH, aggiungi un ProxyCommand
In ~/.ssh/config, aggiungi ProxyCommand nc -X 5 -x proxy.s4m.online:1080 %h %p sotto il blocco Host pertinente. Installa nc/ncat se manca.
Verifica con una copia
Clona un piccolo repo e conferma che abbia successo. Se si blocca, ricontrolla l'endpoint e le credenziali, e assicurati di aver impostato il protocollo corretto.
Scoping per host, autenticazione e onestà
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.
I proxy s4m sono autenticati datacenter SOCKS5 e endpoint HTTP, a pagamento in base all'uso — una soluzione solida per i runner CI che clonano dipendenze da dietro un'uscita controllata, o per raggiungere un host git da una rete ristretta. Sono datacenter, non residenziali, e un proxy cambia solo il tuo percorso di rete, non le tue credenziali git o le chiavi SSH. Quando il CI ha bisogno di un IP di uscita autorizzato, aggiungi un IP personale dedicato. Un 407 su HTTPS significa credenziali proxy errate — consulta la guida 407. Valida gli endpoint con gli strumenti e leggi la documentazione API.
Domande, risposte
Come faccio a far usare a git un proxy SOCKS5?
Per remoti HTTPS, imposta git config --global http.proxy socks5h://USER:PASS@proxy.s4m.online:1080 — git utilizza libcurl, quindi accetta SOCKS5 proprio come curl. Per remoti SSH, utilizza un ProxyCommand in ~/.ssh/config invece.
Funziona http.proxy per remoti SSH (git@...)?
No. http.proxy influisce solo sui remoti HTTPS. I remoti SSH sono proxyati a livello SSH con un ProxyCommand — ad esempio nc -X 5 -x proxy.s4m.online:1080 %h %p per SOCKS5.
Come posso fare proxy solo per un host git?
Usa la configurazione per URL: git config --global http.https://github.com/.proxy
Come posso rimuovere un proxy git?
Esegui git config --global --unset http.proxy (e qualsiasi variante per URL), oppure elimina la riga ProxyCommand da ~/.ssh/config per i remoti SSH.
Clona da dietro un proxy
Proxy SOCKS5 (1080) e HTTP (3128) autenticati su proxy.s4m.online, pronti per http.proxy e SSH ProxyCommand. Pagamento a consumo, IP dedicato per le liste di autorizzazione CI.
Le persone hanno trovato questa pagina cercando
- git attraverso un proxy
- git attraverso un proxy per principianti
- come controllare git attraverso un proxy
- git attraverso un proxy spiegato
- come configurare git attraverso un proxy
- lista di proxy gratuiti senza registrazione
- migliore vpn kill switch 2026
- come controllare se un proxy è valido (con uno script pronto)
- come impostare indirizzo ip
- port forwarding tramite VPN e proxy
- come i siti web rilevano proxy e VPN
- che cos'è autenticazione proxy
- proxy per scraping provider
- interruttore di emergenza VPN
- fresco autenticazione proxy
Frasi di ricerca reali a cui questa pagina risponde — i collegamenti aprono la pagina che le tratta in dettaglio.