Strumenti Proxy · 2 min di lettura

Come controllare se un proxy è valido (con uno script pronto)

Un proxy è utile solo se è attivo, nasconde il tuo vero IP ed è abbastanza veloce per il lavoro. Questa guida copre cinque modi per testare tutti e tre — incluso un proxy-checker bash e Python pronto che puoi eseguire subito.

Cosa significa realmente un proxy valido

Tre controlli separati, non uno.

La gente dice che un proxy è "funzionante" come se fosse un fatto semplice di sì o no. Non lo è: un proxy può superare un test e fallirne altri due, e ogni fallimento rovina un compito diverso. Un corretto controllo di validità risponde a tre domande.

  • È vivo? Una richiesta attraverso di esso si completa effettivamente, o si blocca e scade? I proxy gratuiti in particolare muoiono costantemente — spesso entro poche ore.
  • È anonimo? La destinazione vede l'IP del proxy, o il proxy perde il tuo vero IP attraverso le intestazioni? Un proxy trasparente che inoltra il tuo vero IP è peggio che inutile per la privacy.
  • È abbastanza veloce? Un proxy attivo che aggiunge diversi secondi di latenza va bene per un controllo occasionale ma è inutile per scraping su larga scala.

Se hai solo bisogno di una risposta rapida per un proxy, incollalo nel verificatore di proxy s4m. Se hai un'intera lista da convalidare — ad esempio voci filtrate dalla lista pubblica di proxy gratuita — usa gli script qui sotto per testarli in blocco.

Cinque modi per testare un proxy

Da un clic singolo a un batch scriptato.

Usa un controllore di proxy online

L'opzione più veloce: incolla HOST:PORT nello strumento /tools/proxy-checker/ e leggi il tempo di attività, il tempo di risposta e l'anonimato. Ideale per un singolo proxy o un rapido controllo senza nulla da installare.

Testa un proxy con curl

Un comando rivela se è attivo e quale IP di uscita il mondo vede: curl attraverso il proxy verso un endpoint di echo IP e confronta il risultato con il tuo vero IP. Se corrispondono, il proxy è trasparente e ti sta facendo trapelare.

Controlla il livello di anonimato

Richiedi un endpoint che rifletta le tue intestazioni. Un proxy ad alta anonimato (elite) non invia Via o X-Forwarded-For che rivelano la tua origine; un proxy anonimo nasconde il tuo IP ma annuncia di essere un proxy; un proxy trasparente inoltra il tuo vero IP. Questo corrisponde ai filtri elite/anonimo/trasparente nella lista gratuita.

Misura la latenza

La vivacità non è sufficiente per lavori di massa. Cronometra la richiesta (gli script qui sotto stampano i millisecondi) e scarta qualsiasi cosa troppo lenta per il tuo compito. Vedi la guida complementare su come misurare onestamente la latenza del proxy.

Automatizza l'intera lista con uno script

Per dozzine o migliaia di proxy, scorri un file e registra vivo/morto, IP di uscita e latenza. I controlli bash e Python qui sotto fanno esattamente questo: copia, salva e esegui.

Controllo proxy Bash

Salva come proxy-check.sh, metti un HOST:PORT per riga in proxies.txt (SOCKS5 presunto), poi: bash proxy-check.sh proxies.txt

bash
#!/usr/bin/env bash
# proxy-check.sh — test proxies for liveness, latency and anonymity.
# Usage: bash proxy-check.sh proxies.txt   (one HOST:PORT per line, SOCKS5)
set -u
TARGET="https://api.ipify.org"
TIMEOUT=8

myip=$(curl -s --max-time "$TIMEOUT" "$TARGET")
echo "your real IP: $myip"
echo "-------------------------------------------"

while IFS= read -r proxy; do
  [ -z "$proxy" ] && continue
  start=$(date +%s.%N)
  out=$(curl -s --max-time "$TIMEOUT" --socks5-hostname "$proxy" "$TARGET")
  code=$?
  end=$(date +%s.%N)
  if [ $code -ne 0 ] || [ -z "$out" ]; then
    printf '%-22s DEAD\n' "$proxy"
    continue
  fi
  ms=$(awk "BEGIN{printf \"%d\", ($end-$start)*1000}")
  if [ "$out" = "$myip" ]; then
    printf '%-22s ALIVE %5sms  TRANSPARENT (leaks your IP!)\n' "$proxy" "$ms"
  else
    printf '%-22s ALIVE %5sms  OK exit=%s\n' "$proxy" "$ms" "$out"
  fi
done < "$1"

Controllore proxy Python

Salva come proxy_check.py ed esegui: pip install "requests[socks]" && python3 proxy_check.py proxies.txt

python
#!/usr/bin/env python3
"""proxy_check.py — validate proxies for liveness, latency and anonymity.
Usage: python3 proxy_check.py proxies.txt   (one HOST:PORT per line)
Requires: pip install "requests[socks]"
"""
import sys, time, requests

TARGET = "https://api.ipify.org"
TIMEOUT = 8

def real_ip():
    return requests.get(TARGET, timeout=TIMEOUT).text.strip()

def check(proxy, my_ip):
    proxies = {"http": f"socks5h://{proxy}", "https": f"socks5h://{proxy}"}
    t0 = time.perf_counter()
    try:
        exit_ip = requests.get(TARGET, proxies=proxies, timeout=TIMEOUT).text.strip()
    except Exception:
        return f"{proxy:22} DEAD"
    ms = int((time.perf_counter() - t0) * 1000)
    if exit_ip == my_ip:
        return f"{proxy:22} ALIVE {ms:5}ms  TRANSPARENT (leaks your IP!)"
    return f"{proxy:22} ALIVE {ms:5}ms  OK exit={exit_ip}"

def main():
    my_ip = real_ip()
    print("your real IP:", my_ip)
    print("-" * 43)
    with open(sys.argv[1]) as fh:
        for line in fh:
            p = line.strip()
            if p:
                print(check(p, my_ip))

if __name__ == "__main__":
    main()

Leggendo i risultati

Cosa ti dicono DEAD, TRANSPARENT e OK.

Entrambi gli script stampano gli stessi tre verdetti. MORTO significa che la richiesta non è mai stata completata — il proxy è inattivo, bloccato o troppo lento oltre il timeout; scartalo. TRASPARENTE significa che il proxy ha risposto ma l'IP di uscita è uguale al tuo vero IP, quindi sta inoltrando il tuo vero indirizzo e non ti offre alcuna anonimato. OK con un IP di uscita diverso e un valore in millisecondi accettabile è ciò che devi mantenere.

Esegui il controllo su un programma, non una sola volta. I proxy pubblici cambiano rapidamente, quindi un elenco che era pulito questa mattina è mezzo morto entro sera — il motivo per cui l'elenco di proxy pubblici s4m gratuito viene continuamente ri-validato piuttosto che pubblicato una sola volta. Quando l'affidabilità conta davvero, salta le congetture: i proxy s4m datacenter autenticati sono vivi per design e si connettono con il tuo USER:PASS, quindi non c'è nulla da sorvegliare. Curioso di sapere come misuriamo i proxy in modo equo? Vedi come misuriamo la latenza e perché il ping mente.

FAQ

Domande, risposte

Come faccio a sapere se un proxy sta perdendo il mio vero IP?

Invia una richiesta attraverso il proxy a un servizio di echo IP e confronta l'indirizzo restituito con il tuo vero IP. Se sono uguali, il proxy è trasparente e sta inoltrando il tuo vero indirizzo — gli script sopra lo segnalano come TRASPARENTE. Un proxy corretto restituisce un IP di uscita diverso.

Qual è la differenza tra proxy elite, anonimi e trasparenti?

Un proxy elite (alta anonimato) nasconde il tuo IP e non rivela che un proxy è in uso. Un proxy anonimo nasconde il tuo IP ma segnala che è un proxy tramite intestazioni. Un proxy trasparente inoltra completamente il tuo vero IP. L'elenco gratuito ti consente di filtrare esattamente per questi livelli.

Perché i proxy di una lista gratuita muoiono così rapidamente?

La maggior parte sono host lasciati aperti per errore; quando il proprietario riavvia, applica patch o nota il traffico, scompaiono — spesso entro poche ore. Ecco perché devi ricontrollare continuamente le liste piuttosto che fidarti di un'istantanea una tantum, e perché esistono proxy di datacenter a pagamento per lavori che non devono fallire.

Posso usare lo script anche per i proxy HTTP?

Sì. Gli esempi assumono SOCKS5 (socks5h), che risolve anche DNS in remoto. Per un proxy HTTP, cambia lo schema in http:// (curl -x http://HOST:PORT, o http:// nel dizionario dei proxy Python) e puntalo alla porta HTTP del proxy, come 3128.

Smetti di sorvegliare proxy morti

Valida le liste gratuite con gli script sopra, oppure salta completamente il churn: i proxy datacenter s4m autenticati sono attivi per design, SOCKS5 su 1080 e HTTP su 3128. Testa prima uno gratuito nel controllore di proxy.

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.