Die IP des Checkers freigeben
Tragen Sie die Adresse des Servers im Kundenbereich ein. Mehrere Server teilen sich ein Paket für 10 % pro weitere IP.
Ein Checker ist eine Thread-Maschine: Er öffnet Tausende Verbindungen und wirft langsame Adressen sofort raus. Paket Nr. 6 bei Advanced.name antwortet mit 50.000 IPv4-Adressen und 5.000 Threads über einen Link, beide Protokolle auf einem Port, ohne Traffic-Zähler.
Der Checker misst den Pool an zwei Zahlen: Threads, die er öffnen kann, und Adressen, die er in einer Stunde verbrauchen kann.
Tausende parallele Verbindungen
500 bis 5.000 Threads: Paket Nr. 6 hält das Maximum
Mehr Adressen als Einträge auf der Prüfliste
50.000 IPs in Nr. 6, 40.000 in Nr. 5, ein Drittel täglich ersetzt
Schnelle Antworten, tote Adressen raus
Liste alle 10 Minuten neu; das Tempo-Skript unten wirft langsame vor dem Lauf raus
Beschwerden, die den Lauf nicht stoppen
Missbrauchsmeldungen laufen wie üblich, das Paket bleibt aktiv
Stellen Sie den Checker auf das Thread-Limit des Pakets; der Pool verweigert Verbindungen darüber.
Tragen Sie die Adresse des Servers im Kundenbereich ein. Mehrere Server teilen sich ein Paket für 10 % pro weitere IP.
Starten Sie das Skript unten oder SLP: Es behält Adressen, die innerhalb Ihres Limits antworten, und schreibt sie in eine Datei.
5.000 in Paket Nr. 6, 2.000 in Nr. 3. Mehr Threads als das Limit bringen abgelehnte Verbindungen, nicht mehr Tempo.
Für jeden Proxy öffnet es zwei Echo-Endpunkte und entscheidet, ob die Adresse Sie ganz verbirgt, einen Proxy ankündigt oder Ihre echte IP verrät, und schreibt das Urteil in eine CSV. Für Zehntausende Adressen nehmen Sie den Socks List Processor.
#!/usr/bin/env python3
"""Proxy anonymity checker for Advanced.name proxies.
For every proxy it opens two small endpoints that echo the request, then decides
whether the proxy is elite (hides you completely), anonymous (announces a proxy
but not your IP) or transparent (leaks your real IP). Standard library only.
Run: python3 anon.py
"""
# ================================ CONFIG ====================================
PROXY_LIST = "proxies.txt" # one ip:port per line, or a CSV export (';' separated)
MY_IP = "" # your real IP; leave empty to detect it once directly
JUDGE_IP = "https://api.ipify.org" # returns the exit IP as plain text
JUDGE_HDR = "https://httpbin.org/get" # echoes the headers the site received
THREADS = 100
TIMEOUT = 12
OUT_FILE = "anon.csv" # proxy;status;anonymity;exit_ip is written here
# HTTP and SOCKS answer on the same Advanced.name port, so the http scheme works for both.
# ============================================================================
import csv
import sys
import threading
import urllib.request
from concurrent.futures import ThreadPoolExecutor, as_completed
LEAK_HEADERS = ("X-Forwarded-For", "Via", "X-Real-Ip", "Forwarded", "X-Proxy-Id")
def load_list(path):
out = []
with open(path, encoding="utf-8", errors="replace") as fh:
for line in fh:
line = line.strip()
if not line or line.startswith("#"):
continue
if ";" in line: # a CSV row: ip;port;...
parts = line.split(";")
if len(parts) >= 2 and parts[1].isdigit():
out.append(parts[0] + ":" + parts[1])
elif ":" in line:
out.append(line)
return out
def opener(proxy):
handler = urllib.request.ProxyHandler({"http": "http://" + proxy, "https": "http://" + proxy})
return urllib.request.build_opener(handler)
def through(proxy, url):
return opener(proxy).open(url, timeout=TIMEOUT).read().decode("utf-8", "replace")
def my_ip():
if MY_IP:
return MY_IP.strip()
return urllib.request.urlopen(JUDGE_IP, timeout=TIMEOUT).read().decode().strip()
def classify(proxy, real_ip):
try:
exit_ip = through(proxy, JUDGE_IP).strip()
except Exception:
return "dead", "", ""
try:
echoed = through(proxy, JUDGE_HDR).lower()
except Exception:
echoed = ""
if real_ip and real_ip in echoed:
anon = "transparent"
elif any(h.lower() in echoed for h in LEAK_HEADERS):
anon = "anonymous"
else:
anon = "elite"
return "live", anon, exit_ip
def main():
proxies = load_list(PROXY_LIST)
if not proxies:
sys.exit("List is empty.")
real_ip = my_ip()
print("real IP: %s, proxies: %d, threads: %d" % (real_ip, len(proxies), THREADS))
counts = {"elite": 0, "anonymous": 0, "transparent": 0, "dead": 0}
lock = threading.Lock()
rows = []
def work(proxy):
status, anon, exit_ip = classify(proxy, real_ip)
key = anon if status == "live" else "dead"
with lock:
counts[key] += 1
return proxy, status, anon, exit_ip
with ThreadPoolExecutor(max_workers=THREADS) as pool:
for fut in as_completed([pool.submit(work, p) for p in proxies]):
rows.append(fut.result())
with open(OUT_FILE, "w", encoding="utf-8", newline="") as out:
writer = csv.writer(out, delimiter=";")
writer.writerow(["proxy", "status", "anonymity", "exit_ip"])
writer.writerows(rows)
print("elite %d anonymous %d transparent %d dead %d -> %s"
% (counts["elite"], counts["anonymous"], counts["transparent"], counts["dead"], OUT_FILE))
if __name__ == "__main__":
main()
Jeder Massen-Checker nimmt eine Proxy-Datei oder eine URL: Fügen Sie die ip:port-Liste ein, wählen Sie SOCKS5 oder HTTP (beide antworten auf einem Port) und bleiben Sie über den ganzen Lauf beim Typ. Stellen Sie die Threads auf das Paketlimit, 5.000 im größten Paket, denn Verbindungen darüber werden abgelehnt, nicht eingereiht.
Ein Timeout von 10 Sekunden mit einer Wiederholung über eine andere Adresse verschwendet die wenigsten Threads; lange Timeouts hängen an toten Zielen.
Werfen Sie langsame und undichte Adressen vor dem Lauf mit dem Anonymitäts-Skript oben oder dem Socks List Processor raus. Lesen Sie die Liste bei langen Läufen alle 10 Minuten neu, damit neue Adressen hinzukommen.
Für einen schnellen Plausibilitätstest zeigt die kostenlose Proxyliste das Format, das der Checker erwartet.
Ein Checker stößt an Grenzen bei Threads und Adresszahl, und das ist die Aufgabe unbegrenzter Pakete. Ergänzen Sie Resi Core für Ziele, die Listenadressen sperren.
Die meisten ThreadsBeste Wahl
Das größte Paket: Eine IP kehrt selten zu einem Ziel zurück, selbst bei einer Basis von Hunderttausenden Zeilen. Traffic wird nicht gezählt.
$1390 pro Monatoder $5.80 pro Stunde
Ein Checker mit bis zu 2500 Threads
Genug für einen Checker mit bis zu 2500 Verbindungen, fast 30 % günstiger als Paket #6.
$990 pro Monatoder $4.20 pro Stunde
Strenge Ziele
Eine neue private IP bei jeder Prüfung. Die Antwort des Ziels wiegt Kilobytes, ein Gigabyte deckt also Tausende Prüfungen.
ab $0.49 pro GB1 GB für $0.85
Paket wählen, Gratisstunde nehmen, den Checker auf den ganzen Pool loslassen.