Βάλτε μία εγγραφή IPv4 IP:port ανά γραμμή στο proxies.txt. Όλες πρέπει να ανήκουν σε ένα γνωστό πρωτόκολλο proxy. Αν συλλέγετε από τη λίστα δωρεάν proxy, χωρίστε τα πρωτόκολλα πριν δημιουργήσετε αυτή την είσοδο κειμένου. Ο καθαρισμός δεν δέχεται 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 με αγκύλες αν αυτή είναι η πραγματική μορφή. Το σενάριο απορρίπτει μη υποστηριζόμενη είσοδο αντί να μαντεύει, και η έξοδος δεν δείχνει διαθεσιμότητα, ανωνυμία, χώρα ή ταχύτητα. Αυτά απαιτούν ελεγχόμενες δοκιμές σύνδεσης.

Σχετικά άρθρα