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 ହେଲେ ଉଚିତ ପାର୍ସର୍ ବ୍ୟବହାର କରନ୍ତୁ। ସ୍କ୍ରିପ୍ଟ ଅନୁମାନ ବଦଳରେ ଅସମର୍ଥିତ ଇନପୁଟ୍ ନାକଚ କରେ; ଆଉଟପୁଟ୍ ଉପଲବ୍ଧତା, ଅଜ୍ଞାତତା, ଦେଶ କିମ୍ବା ବେଗ କୁହେନାହିଁ। ସେଥିପାଇଁ ନିୟନ୍ତ୍ରିତ ସଂଯୋଗ ପରୀକ୍ଷା ଦରକାର।