שטעלט איין IPv4־איינטראָג IP:port אויף יעדער שורה אין proxies.txt. אַלע מוזן געהערן צו איין באַקאַנטן פּראָקסי־פּראָטאָקאָל. אויב איר זאַמלט פֿון דער ליסטע פֿון אומזיסטע פּראָקסיס, טיילט די פּראָטאָקאָלן אָפּ פֿאַרן צוגרייטן דעם טעקסט־אײַנגאַנג. די רייניקונג נעמט ניט URLן מיט צוטריט־דאַטן, CSV־קאָלומנס אָדער IPv6־אַדרעסן.

היט דעם סקריפּט וואָס ניצט די סטאַנדאַרט־ביבליאָטעק ווי clean-proxies.py אין דעם זעלבן קאַטאַלאָג:

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

פֿירט אים אויס פֿון יענעם קאַטאַלאָג:

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

קוקט די מעלדונגען וועגן איבערגעהיפּטע שורות און proxies-clean.txt; די אײַנגאַנג־טעקע בלײַבט גאַנץ. דער אויסגאַנג האַלט די ריי פֿונעם ערשטן אויפֿטריט און נעמט אַרויס דופּליקאַטן לויט אַדרעס צוזאַמען מיט נומערישן פּאָרט. צוויי קאַפּיעס פֿון 203.0.113.10:8080 און איינס פֿון 203.0.113.10:3128 געבן צוויי ענדפּונקטן. דער דעצימאַלער פּאָרט 08080 ווערט נאָרמאַליזירט צו 8080.

די דאָקומענטאַציע־אַדרעסן ווײַזן נאָר פֿאָרמאַט. גילטיקע IPv4־סינטאַקס נעמט אַרײַן פּריוואַטע און ספּעציעלע אַדרעסן, דערפֿאַר איז אַ ריינער איינטראָג ניט דאַווקע פּובליק דערגרייכבאַר. לייגט צו אַן עקספּליציטע אַדרעס־פּאָליטיק פֿאַר אַ בלויז פּובליקער ליסטע.

בײַ געמישטן HTTP/SOCKS־אײַנגאַנג האַלט די פּראָטאָקאָל־אינפֿאָרמאַציע אין באַזונדערע טעקעס אָדער אַ קאָלום; פֿירט זי ניט אַרויס פֿון פּאָרט 1080. נוצט אַ פּאַרסער פֿאַר IPv6 אין קוואַדראַטישע קלאַמערן אויב דאָס איז דער אמתער פֿאָרמאַט. דער סקריפּט וואַרפֿט אָפּ ניט־געשטיצטן אײַנגאַנג אַנשטאָט צו טרעפֿן, און דער אויסגאַנג זאָגט ניט וועגן צוטריטלעכקייט, אַנאָנימיטעט, לאַנד אָדער גיכקייט. דערפֿאַר דאַרף מען קאָנטראָלירטע פֿאַרבינדונג־פּרוּוון.

פֿאַרבונדענע אַרטיקלען