Riferimento cURL · 1 min di lettura

curl con un proxy SOCKS5: il riferimento completo

Il riferimento definitivo su curl e proxy: SOCKS5 vs SOCKS5h, i flag -x e --socks5-hostname, variabili d'ambiente, un .curlrc persistente e endpoint s4m autenticati. Pronto per il copia e incolla.

SOCKS5 vs SOCKS5h, e perché è importante

curl supporta sia i proxy HTTP che SOCKS, e lo schema esatto che scegli determina dove viene risolto il DNS. Con socks5:// curl risolve il nome host di destinazione sulla tua macchina e poi si connette attraverso il proxy, il che può rivelare i domini che visiti. Con socks5h:// (il h è per il nome host) il proxy risolve il DNS in remoto, quindi le ricerche non lasciano mai la tua macchina. Per la privacy, preferisci socks5h — la stessa regola vale per il flag --socks5-hostname, che è l'equivalente in forma estesa.

s4m ti offre entrambi i protocolli su un solo account: SOCKS5 sulla porta 1080 e HTTP sulla porta 3128, entrambi autenticati con USER:PASS contro proxy.s4m.online. Il generico -x / --proxy accetta un URL completo incluso lo schema, quindi un singolo flag copre ogni caso. Per le basi del routing di curl attraverso un proxy, consulta la guida al proxy curl; questa pagina è il riferimento più approfondito per SOCKS5, variabili d'ambiente e configurazione persistente. Informazioni di base sui protocolli si trovano in che cos'è SOCKS5.

Ogni invocazione di proxy, un posto

SOCKS5, SOCKS5h, HTTP, auth, variabili d'ambiente e un file .curlrc. Sostituisci USER:PASS con le tue credenziali.

bash
# --- SOCKS5 with REMOTE DNS (recommended) ---
curl -x socks5h://USER:PASS@proxy.s4m.online:1080 https://api.ipify.org
# equivalent long form:
curl --socks5-hostname proxy.s4m.online:1080 -U USER:PASS https://api.ipify.org

# --- SOCKS5 with LOCAL DNS (leaks hostnames) ---
curl -x socks5://USER:PASS@proxy.s4m.online:1080 https://api.ipify.org

# --- HTTP / HTTPS proxy (port 3128) ---
curl -x http://USER:PASS@proxy.s4m.online:3128 https://api.ipify.org

# --- Whole-session env vars (any http_proxy-aware tool honors these) ---
export ALL_PROXY="socks5h://USER:PASS@proxy.s4m.online:1080"
export HTTPS_PROXY="http://USER:PASS@proxy.s4m.online:3128"
export NO_PROXY="localhost,127.0.0.1,.internal"
curl https://api.ipify.org        # now proxied with no -x flag

# --- Persistent config: ~/.curlrc (applied to every curl run) ---
cat > ~/.curlrc <<'RC'
proxy = socks5h://proxy.s4m.online:1080
proxy-user = USER:PASS
connect-timeout = 10
RC
curl https://api.ipify.org        # reads ~/.curlrc automatically

# --- Ignore ~/.curlrc for one call ---
curl -q --noproxy '*' https://api.ipify.org

Imposta un proxy persistente per curl

Quindi ogni comando curl è proxy senza ripetere i flag.

Scegli uno schema

Scegli socks5h:// sulla porta 1080 per DNS remoto e qualsiasi protocollo, oppure http:// sulla porta 3128 per traffico web semplice. socks5h è il predefinito sicuro per la privacy.

Crea ~/.curlrc

Aggiungi proxy = socks5h://proxy.s4m.online:1080 e proxy-user = USER:PASS a ~/.curlrc. curl legge questo file ad ogni esecuzione a meno che tu non passi -q.

Imposta le variabili di ambiente per altri strumenti

Esporta ALL_PROXY in modo che qualsiasi CLI consapevole di http_proxy (wget, git, gestori di pacchetti) condivida la stessa uscita, e imposta NO_PROXY per gli host che devono bypassare il proxy.

Verifica e aggiungi eccezioni

Esegui curl https://api.ipify.org per confermare l'IP di uscita, quindi usa --noproxy o NO_PROXY per escludere gli host interni che non vuoi mai proxyare.

Opzioni di autenticazione, precedenza e NTLM

Puoi fornire le credenziali in due modi: inline nell'URL (socks5h://USER:PASS@host) o separatamente con -U / --proxy-user. Se la tua password contiene caratteri come @ o :, preferisci -U o codificali in URL in modo che curl analizzi correttamente l'URL. I flag da riga di comando sovrascrivono sempre le variabili d'ambiente, che a loro volta sovrascrivono ~/.curlrc — quindi un -x una tantum supera la tua configurazione persistente.

Per i proxy aziendali che utilizzano l'autenticazione Windows NTLM, curl supporta --proxy-ntlm insieme a -U; s4m stesso utilizza l'autenticazione standard USER:PASS (Basic), quindi non avrai bisogno di NTLM con i nostri endpoint. Se una richiesta restituisce 407 Proxy Authentication Required, le tue credenziali sono mancanti o errate — consulta la guida alla risoluzione del problema 407. Le stesse variabili d'ambiente alimentano wget e altri strumenti, e puoi convalidare qualsiasi endpoint con gli strumenti o testare proxy aperti dalla lista gratuita.

FAQ

Domande, risposte

Qual è la differenza tra socks5 e socks5h in curl?

socks5:// risolve DNS sulla tua macchina locale prima di connettersi; socks5h:// chiede al proxy di risolverlo da remoto. Usa socks5h per evitare di rivelare i nomi host che richiedi. Il flag --socks5-hostname è lo stesso di socks5h.

Come faccio a far usare a curl un proxy per ogni comando?

Imposta proxy = socks5h://proxy.s4m.online:1080 e proxy-user = USER:PASS in ~/.curlrc, o esporta ALL_PROXY. curl quindi proxy ogni richiesta automaticamente; passa -q o --noproxy per saltarlo per una chiamata.

S4m ha bisogno di autenticazione proxy NTLM?

No. s4m utilizza l'autenticazione standard USER:PASS (Basic) sulle porte 1080 e 3128. --proxy-ntlm di curl è solo per proxy aziendali che richiedono Windows NTLM.

Perché ricevo 407 Proxy Authentication Required?

Le tue credenziali mancano, sono malformate o errate. Forniscile con -U USER:PASS o inline nell'URL del proxy, codificando in URL eventuali caratteri speciali nella password. Consulta la nostra guida 407 per un elenco completo.

Un endpoint, ogni trucco curl

Proxy SOCKS5 (1080) e HTTP (3128) autenticati su proxy.s4m.online, pronti per -x, --socks5-hostname e ~/.curlrc. A consumo, pay-as-you-go, IP dedicato opzionale.

Le persone hanno trovato questa pagina cercando

Frasi di ricerca reali a cui questa pagina risponde — i collegamenti aprono la pagina che le tratta in dettaglio.