Rhowch un cofnod IPv4 IP:port ar bob llinell yn proxies.txt. Rhaid i bob cofnod berthyn i un protocol dirprwy hysbys. Os casglwch o’r rhestr dirprwyon am ddim, gwahanwch y protocolau cyn creu’r mewnbwn testun hwn. Nid yw’r glanhau’n derbyn URLau â manylion mewngofnodi, colofnau CSV na chyfeiriadau IPv6.

Cadwch y sgript llyfrgell safonol hon fel clean-proxies.py yn yr un cyfeiriadur:

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

Rhedwch hi o’r cyfeiriadur hwnnw:

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

Archwiliwch yr hysbysiadau am linellau a hepgorwyd a proxies-clean.txt; mae’r ffeil fewnbwn yn aros yn gyfan. Mae’r allbwn yn cadw trefn yr ymddangosiad cyntaf ac yn dileu dyblygiadau yn ôl cyfeiriad ynghyd â phorth rhifiadol. Mae dau gopi o 203.0.113.10:8080 ac un o 203.0.113.10:3128 yn cynhyrchu dau bwynt terfyn. Normaleiddir porth degol 08080 i 8080.

Dim ond dangos y fformat y mae’r cyfeiriadau dogfennaeth. Mae cystrawen IPv4 ddilys yn cynnwys cyfeiriadau preifat ac arbennig, felly nid yw cofnod glân o reidrwydd yn gyraeddadwy’n gyhoeddus. Ychwanegwch bolisi cyfeiriadau penodol ar gyfer rhestr gyhoeddus yn unig.

Ar gyfer mewnbwn HTTP/SOCKS cymysg, cadwch y protocol mewn ffeiliau ar wahân neu golofn; peidiwch â’i gasglu o borth 1080. Defnyddiwch ddosrannwr IPv6 mewn cromfachau sgwâr os dyna’r fformat go iawn. Mae’r sgript yn gwrthod mewnbwn heb gefnogaeth yn lle dyfalu, ac nid yw’r allbwn yn dweud dim am argaeledd, anhysbysrwydd, gwlad na chyflymder. Mae angen profion cysylltu rheoledig ar gyfer hynny.

Erthyglau cysylltiedig