Given a list of proxies test and benchmark them
Find a file
2026-03-02 15:44:33 +02:00
config Initial script 2026-02-22 17:54:49 +02:00
proxy_selector add thread control 2026-03-02 15:44:33 +02:00
.gitignore Initial script 2026-02-22 17:54:49 +02:00
Dockerfile Initial script 2026-02-22 17:54:49 +02:00
I Initial script 2026-02-22 17:54:49 +02:00
install.sh Initial script 2026-02-22 17:54:49 +02:00
LICENSE Initial script 2026-02-22 17:54:49 +02:00
Makefile Initial script 2026-02-22 17:54:49 +02:00
MANIFEST.in Initial script 2026-02-22 17:54:49 +02:00
podman_build.sh Initial script 2026-02-22 17:54:49 +02:00
podman_push.sh Initial script 2026-02-22 17:54:49 +02:00
podman_run.sh Initial script 2026-02-22 17:54:49 +02:00
proxy_selector.sh Initial script 2026-02-22 17:54:49 +02:00
publish_python_package.sh Initial script 2026-02-22 17:54:49 +02:00
pyproject.toml Initial script 2026-02-22 17:54:49 +02:00
README.md Update readme 2026-02-23 13:15:17 +02:00
requirements.txt Initial script 2026-02-22 17:54:49 +02:00
setup.cfg Initial script 2026-02-22 17:54:49 +02:00
setup.py Initial script 2026-02-22 17:54:49 +02:00
wrapper.sh Initial script 2026-02-22 17:54:49 +02:00

proxy_selector

Given a list of proxies test and benchmark them. The list of proxies should have the proxies in separate lines just with the IP/hostname and port separated by a colon (:). The result will be stored in the --cache-file (check the help for defaults) in JSON format with the geodata (if available) indicating the country of the Proxy.

Requirements

Check pyproject.toml or requirements.txt:

  • setuptools
  • click
  • click-config-file
  • PyYAML
  • requests[socks]
  • The URL of at least on list of proxies (like those in this repository or this one)

Installation

Linux

To install for example in your ~/.local/bin folder:

./install.sh --destination ~/.local/bin

To install system-wide:

sudo ./install.sh --destination /usr/local/bin

Change your configuration file in "${HOME}/.config/proxy_selector.conf" (see the example in the config folder).

Windows (from PowerShell not tested)

Ensure you have "C:\Users${env:USERNAME}\AppData\Roaming\Python\Python${python_version}\Scripts" in your Path environment variable.

& $(where.exe pip).split()[0] install .

Usage

proxy_selector.sh [--debug-level|-d CRITICAL|ERROR|WARNING|INFO|DEBUG|NOTSET]  # Other parameters