ໃສ່ລາຍການ 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 ໃນວົງເລັບສີ່ຫຼ່ຽມຖ້ານັ້ນແມ່ນຮູບແບບຈິງ. ສະຄຣິບປະຕິເສດອິນພຸດທີ່ບໍ່ຮອງຮັບແທນການເດົາ; ເອົາພຸດບໍ່ບອກຄວາມພ້ອມໃຊ້ ຄວາມນິລະນາມ ປະເທດ ຫຼືຄວາມໄວ. ສິ່ງເຫຼົ່ານີ້ຕ້ອງທົດສອບການເຊື່ອມຕໍ່ແບບຄວບຄຸມ.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ