Proxy-Tools · 2 Min Lesezeit

Wie man überprüft, ob ein Proxy gültig ist (mit einem fertigen Skript)

Ein Proxy ist nur nützlich, wenn er aktiv ist, Ihre echte IP verbirgt und schnell genug für die Aufgabe ist. Dieser Leitfaden behandelt fünf Möglichkeiten, alle drei zu testen – einschließlich eines einsatzbereiten Bash- und Python-Proxy-Checkers, den Sie jetzt ausführen können.

Was ein gültiger Proxy tatsächlich bedeutet

Drei separate Überprüfungen, nicht eine.

Die Leute sagen, ein Proxy "funktioniert", als wäre es eine einfache Ja-oder-Nein-Aussage. Das ist es nicht – ein Proxy kann einen Test bestehen und zwei andere nicht bestehen, und jeder Fehler ruiniert eine andere Aufgabe. Eine ordnungsgemäße Gültigkeitsprüfung beantwortet drei Fragen.

  • Ist es aktiv? Schließt eine Anfrage über ihn tatsächlich ab, oder hängt sie und läuft ab? Kostenlose Proxys sterben insbesondere ständig – oft innerhalb von Stunden.
  • Ist es anonym? Sieht das Ziel die IP des Proxys, oder leckt der Proxy Ihre echte über Header? Ein transparenter Proxy, der Ihre echte IP weiterleitet, ist schlimmer als nutzlos für die Privatsphäre.
  • Ist es schnell genug? Ein aktiver Proxy, der mehrere Sekunden Latenz hinzufügt, ist für eine einmalige Überprüfung in Ordnung, aber hoffnungslos für das Scraping im großen Maßstab.

Wenn Sie nur eine schnelle Antwort für einen Proxy benötigen, fügen Sie ihn in den s4m Proxy Checker ein. Wenn Sie eine ganze Liste validieren müssen – zum Beispiel Einträge, die aus der kostenlosen öffentlichen Proxy-Liste gefiltert wurden – verwenden Sie die untenstehenden Skripte, um sie im Bulk zu testen.

Fünf Möglichkeiten, einen Proxy zu testen

Von einem einzigen Klick zu einem skriptierten Batch.

Verwenden Sie einen Online-Proxy-Checker

Die schnellste Option: Fügen Sie HOST:PORT in das /tools/proxy-checker/ Tool ein und lesen Sie die Verfügbarkeit, Antwortzeit und Anonymität zurück. Ideal für einen einzelnen Proxy oder eine schnelle Überprüfung ohne Installation.

Testen Sie einen Proxy mit curl

Ein Befehl zeigt, ob es aktiv ist und welche Ausgangs-IP die Welt sieht: curl durch den Proxy zu einem IP-Echo-Endpunkt und vergleiche das Ergebnis mit deiner echten IP. Wenn sie übereinstimmen, ist der Proxy transparent und leckt deine Daten.

Überprüfen Sie das Anonymitätsniveau.

Fordern Sie einen Endpunkt an, der Ihre Header widerspiegelt. Ein hochanonymer (Elite-)Proxy sendet keine Via- oder X-Forwarded-For-Header, die Ihren Ursprung offenbaren; ein anonymer versteckt Ihre IP, gibt aber an, dass es sich um einen Proxy handelt; ein transparenter leitet Ihre echte IP weiter. Dies entspricht den Elite/anonymen/transparente Filtern auf der kostenlosen Liste.

Messen Sie die Latenz

Lebensfähigkeit ist für Massenarbeit nicht genug. Messen Sie die Anfrage (die Skripte unten geben Millisekunden aus) und verwerfen Sie alles, was für Ihre Aufgabe zu langsam ist. Siehe den Begleitleitfaden zur ehrlichen Messung der Proxy-Latenz.

Automatisieren Sie die gesamte Liste mit einem Skript

Für Dutzende oder Tausende von Proxys, durchlaufen Sie eine Datei und zeichnen Sie lebendig/tot, Exit-IP und Latenz auf. Die untenstehenden Bash- und Python-Checker tun genau das – kopieren, speichern und ausführen.

Bash-Proxy-Checker

Speichern Sie als proxy-check.sh, geben Sie eine HOST:PORT pro Zeile in proxies.txt ein (SOCKS5 angenommen), dann: 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"

Python Proxy-Checker

Speichern Sie als proxy_check.py und führen Sie aus: 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()

Die Ergebnisse lesen

Was DEAD, TRANSPARENT und OK Ihnen sagen.

Beide Skripte geben dieselben drei Urteile aus. TOT bedeutet, dass die Anfrage nie abgeschlossen wurde – der Proxy ist ausgefallen, blockiert oder zu langsam über die Zeitüberschreitung hinaus; verwerfen Sie ihn. TRANSPARENT bedeutet, dass der Proxy geantwortet hat, aber die Ausgangs-IP Ihrer echten IP entspricht, sodass er Ihre wahre Adresse weiterleitet und Ihnen überhaupt keine Anonymität bietet. OK mit einer anderen Ausgangs-IP und einer akzeptablen Millisekunden-Zahl ist das, was Sie behalten.

Führen Sie den Prüfer nach einem Zeitplan aus, nicht einmal. Öffentliche Proxys wechseln schnell, sodass eine Liste, die heute Morgen sauber war, bis zum Abend halb tot ist – der ganze Grund, warum die s4m kostenlose Proxy-Liste kontinuierlich neu validiert wird, anstatt einmal veröffentlicht zu werden. Wenn Zuverlässigkeit tatsächlich wichtig ist, überspringen Sie das Raten: authentifizierte s4m Datacenter-Proxys sind absichtlich aktiv und verbinden sich mit Ihrem eigenen USER:PASS, sodass es nichts zu überwachen gibt. Neugierig, wie wir Proxys fair timen? Siehe wie wir Latenz messen und warum Ping lügt.

FAQ

Fragen, beantwortet

Wie erkenne ich, ob ein Proxy meine echte IP leckt?

Senden Sie eine Anfrage über den Proxy an einen IP-Echo-Dienst und vergleichen Sie die zurückgegebene Adresse mit Ihrer echten IP. Wenn sie identisch sind, ist der Proxy transparent und leitet Ihre echte Adresse weiter – die obigen Skripte kennzeichnen dies als TRANSPARENT. Ein ordentlicher Proxy gibt eine andere Exit-IP zurück.

Was ist der Unterschied zwischen Elite-, anonymen und transparenten Proxys?

Ein Elite- (hohe Anonymität) Proxy verbirgt Ihre IP und zeigt nicht an, dass ein Proxy verwendet wird. Ein anonymer Proxy verbirgt Ihre IP, signalisiert jedoch, dass es sich um einen Proxy handelt, über Header. Ein transparenter Proxy leitet Ihre echte IP vollständig weiter. Die kostenlose Liste ermöglicht es Ihnen, genau nach diesen Ebenen zu filtern.

Warum sterben Proxys aus einer kostenlosen Liste so schnell?

Die meisten sind Hosts, die versehentlich offen gelassen wurden; wenn der Eigentümer neu startet, Patches anwendet oder den Datenverkehr bemerkt, verschwinden sie oft innerhalb von Stunden. Deshalb müssen Sie Listen kontinuierlich erneut überprüfen, anstatt einem einmaligen Snapshot zu vertrauen, und deshalb existieren kostenpflichtige Datacenter-Proxys für Arbeiten, die nicht fehlschlagen dürfen.

Kann ich das Skript auch für HTTP-Proxy verwenden?

Ja. Die Beispiele gehen von SOCKS5 (socks5h) aus, das auch DNS remote auflöst. Für einen HTTP-Proxy ändern Sie das Schema auf http:// (curl -x http://HOST:PORT, oder http:// im Python-Proxys-Dict) und richten Sie es auf den HTTP-Port des Proxys, z. B. 3128.

Hören Sie auf, tote Proxys zu überwachen

Validieren Sie kostenlose Listen mit den obigen Skripten oder überspringen Sie die Fluktuation vollständig: authentifizierte s4m-Datacenter-Proxys sind absichtlich aktiv, SOCKS5 auf 1080 und HTTP auf 3128. Testen Sie zuerst einen kostenlosen im Proxy-Checker.

Menschen fanden diese Seite durch die Suche nach

Echte Suchphrasen, auf die diese Seite antwortet — die verlinkten öffnen die Seite, die sie ausführlich behandelt.