Plaas een IPv4-inskrywing IP:port per reël in proxies.txt. Alle inskrywings moet tot een bekende proxyprotokol behoort. As jy dit uit die gratis proxylys versamel, skei protokolle voordat jy hierdie teksinvoer opstel. Die skoonmaak aanvaar nie URL’s met aanmeldbesonderhede, CSV-kolomme of IPv6-adresse nie.

Stoor hierdie standaardbiblioteekskrip as clean-proxies.py in dieselfde gids:

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")

Voer dit uit daardie gids uit:

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

Kontroleer oorgeslaande-reëlkennisgewings en proxies-clean.txt; die invoerlêer bly ongeskonde. Uitvoer behou die volgorde van eerste voorkoms en ontdubbel volgens adres plus numeriese poort. Twee kopieë van 203.0.113.10:8080 en een van 203.0.113.10:3128 lewer twee eindpunte. Desimale poort 08080 normaliseer na 8080.

Dokumentasie-adresse wys slegs die formaat. Geldige IPv4-sintaksis sluit private en spesiale adresse in, dus is ’n skoon inskrywing nie noodwendig openbaar bereikbaar nie. Voeg ’n uitdruklike adresbeleid by vir ’n lys met slegs openbare adresse.

Vir gemengde HTTP/SOCKS-invoer, behou protokoldata in aparte lêers of ’n kolom; moenie dit uit poort 1080 aflei nie. Gebruik ’n ontleder vir IPv6 in vierkantige hakies wanneer dit die werklike formaat is. Die skrip verwerp onondersteunde invoer eerder as om te raai; uitvoer sê niks oor beskikbaarheid, anonimiteit, land of spoed nie. Dit verg beheerde verbindingstoetse.

Verwante artikels