የIP:ወደብ ፕሮክሲ ዝርዝርን በPython ያጽዱ
ቀላል 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 ከሆነ ተገቢ ተንታኝ ይጠቀሙ። ስክሪፕቱ ከመገመት ይልቅ የማይደገፍ ግቤትን ይከለክላል፤ ውጤቱ ስለ ተገኝነት፣ ማንነት መደበቅ፣ ሀገር ወይም ፍጥነት አይናገርም። ለእነዚህ ቁጥጥር ያላቸው የግንኙነት ሙከራዎች ያስፈልጋሉ።