Setzt een IPv4-Andrag IP:port pro Zeil an proxies.txt. All Andrääg musse bei engem bekannte Proxyprotokoll gehéieren. Wann Dir aus der Lëscht vu gratis Proxye sammelt, trennt Protokoller virun dëser Textagab. D’Botzen akzeptéiert keng URLen mat Umeldungsdaten, CSV-Kolonnen oder IPv6-Adressen.

Späichert dëse Standardbibliothéik-Skript als clean-proxies.py am selwechten Dossier:

from ipaddress import IPv4Address
from pathlib import Path

seen = set()
cleaned = []

for number, raw in enumerate(
    Path("proxies.txt").read_text(encoding="utf-8").splitlines(),
    start=1,
):
    text = raw.strip()
    if not text:
        continue
    try:
        host, port_text = text.rsplit(":", 1)
        host = str(IPv4Address(host))
        port = int(port_text)
        if not 1 <= port <= 65535:
            raise ValueError("port out of range")
    except ValueError:
        print(f"Skipping line {number}: invalid IPv4 endpoint")
        continue

    endpoint = (host, port)
    if endpoint not in seen:
        seen.add(endpoint)
        cleaned.append(f"{host}:{port}")

output = "\n".join(cleaned)
Path("proxies-clean.txt").write_text(
    output + ("\n" if output else ""),
    encoding="utf-8",
)
print(f"Saved {len(cleaned)} endpoints")

Féiert en aus deem Dossier aus:

uv run --no-project python clean-proxies.py

Kontrolléiert d’Meldunge fir iwwerspronge Zeilen an proxies-clean.txt; d’Agabdatei bleift intakt. D’Ausgab behält d’Reiefolleg vum éischten Optrieden an eliminéiert Duplikater no Adress plus numereschem Port. Zwou Kopie vun 203.0.113.10:8080 an eng vun 203.0.113.10:3128 ginn zwee Endpunkten. Den dezimale Port 08080 gëtt op 8080 normaliséiert.

D’Dokumentatiounsadressen illustréiere just d’Format. Gëlteg IPv4-Syntax ëmfaasst privat a speziell Adressen, also ass e gebotzten Andrag net onbedéngt ëffentlech erreechbar. Ergänzt eng explizitt Adressreegel fir eng reng ëffentlech Lëscht.

Bei gemëschter HTTP/SOCKS-Agab, haalt d’Protokollinfo an getrennten Dateien oder enger Kolonn; leet se net vum Port 1080 of. Benotzt e Parser fir IPv6 a véiereckege Klameren, wann dat dat richtegt Format ass. De Skript refuséiert net ënnerstëtzt Agaben amplaz ze roden; d’Ausgab seet näischt iwwer Disponibilitéit, Anonymitéit, Land oder Vitess. Dofir brauch een kontrolléiert Verbindungstester.

Ähnlech Artikelen