Python மூலம் IP:போர்ட் ப்ராக்ஸி பட்டியலைச் சுத்தம் செய்யுங்கள்
எளிய IPv4 கோப்பைச் சரிபார்த்து, போர்ட்களைச் சீராக்கி, ஒரே IP-இன் வெவ்வேறு போர்ட்களை வைத்தபடி நகல்களை நீக்குங்கள்.
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 என்றால் பொருத்தமான பார்சர் பயன்படுத்துங்கள். ஸ்கிரிப்ட் ஊகிக்காமல் ஆதரிக்காத உள்ளீட்டை நிராகரிக்கிறது; வெளியீடு கிடைப்புநிலை, பெயரறியாமை, நாடு அல்லது வேகம் சொல்லாது. அவற்றிற்கு கட்டுப்படுத்தப்பட்ட இணைப்புச் சோதனைகள் தேவை.