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 అయితే తగిన పార్సర్ వాడండి. స్క్రిప్ట్ ఊహించకుండా మద్దతులేని ఇన్పుట్ తిరస్కరిస్తుంది; అవుట్పుట్ లభ్యత, అనామకత్వం, దేశం లేదా వేగం చెప్పదు. వాటికి నియంత్రిత కనెక్షన్ పరీక్షలు కావాలి.