Poġġi entrata IPv4 waħda IP:port kull linja f’proxies.txt. Kollha għandhom ikunu ta’ protokoll proxy magħruf wieħed. Jekk tiġbor mil-lista ta’ proxies b’xejn, issepara l-protokolli qabel toħloq dan l-input testwali. It-tindif ma jaċċettax URL bi kredenzjali, kolonni CSV jew indirizzi IPv6.

Issejvja dan l-iskript bil-librerija standard bħala clean-proxies.py fl-istess direttorju:

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

Ħaddmu minn dak id-direttorju:

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

Iċċekkja l-avviżi tal-linji maqbuża u proxies-clean.txt; il-fajl tal-input jibqa’ intatt. L-output iżomm l-ordni tal-ewwel dehra u jneħħi duplikati skont indirizz flimkien ma’ port numeriku. Żewġ kopji ta’ 203.0.113.10:8080 u waħda ta’ 203.0.113.10:3128 jipproduċu żewġ punti. Il-port deċimali 08080 jiġi normalizzat għal 8080.

L-indirizzi tad-dokumentazzjoni juru biss il-format. Sintassi IPv4 valida tinkludi indirizzi privati u speċjali, għalhekk entrata nadifa mhix neċessarjament aċċessibbli pubblikament. Żid politika espliċita tal-indirizzi għal lista pubblika biss.

Għal input HTTP/SOCKS imħallat, żomm il-protokoll f’fajls separati jew kolonna; tiddeduċihx mill-port 1080. Uża parser għal IPv6 f’parentesi kwadri jekk dak hu l-format veru. L-iskript jirrifjuta input mhux appoġġat minflok jaqta’ bl-addoċċ, u l-output ma jgħid xejn dwar disponibbiltà, anonimità, pajjiż jew veloċità. Dawn jeħtieġu testijiet ta’ konnessjoni kkontrollati.

Artikli relatati