Skip to main content

CLI tool to check HTTP/HTTPS/SOCKS5 proxies — liveness, latency, exit IP, speed, geo, rotation, blacklist

Project description

proxy-checker

CLI tool to check HTTP/HTTPS/SOCKS5 proxies — liveness, latency, exit IP, speed, geo enrichment, rotation detection, and DNSBL blacklist checks.

CLI screenshot

Install

pip install proxycheck-cli

Requires Python 3.11+.

Quick start

# Check proxies from file
proxycheck check proxies.txt

# Single proxy
proxycheck check http://user:pass@localhost:8888

# With geo, speed & blacklist
proxycheck check proxies.txt --geo --speed --blacklist

# Export results
proxycheck check proxies.txt -o results.json -f json

Options

Flag Default Description
SOURCE (required) Proxy file path or inline proxy string
-c, --concurrency 50 Concurrent checks
-t, --timeout 10 Request timeout (s)
--retries 1 Retries per proxy on network error
--rotations Rotation mode — makes N requests to detect exit IP changes
--speed off Measure download speed (Mbps)
--geo / --no-geo on Enrich with country, city, ASN via ip-api.com
--expect-country Expected country code (e.g. US, RU)
--expect-type Expected proxy type: residential, datacenter, mobile
--blacklist off Check exit IPs against public DNSBL blacklists
-o, --output Export path
-f, --format table Output: table, csv, json
-q, --quiet off Only show final summary

Metrics per proxy

  • Status — alive / dead
  • Latency — response time in ms
  • Exit IP — detected exit IP address
  • Country / City / ASN — via ip-api.com (when --geo)
  • Proxy type — residential, datacenter, mobile (when --geo)
  • Speed — download speed in Mbps (when --speed)
  • Blacklisted — status per DNSBL provider (when --blacklist)
  • Matches — ✓ if exit IP matches expected country/type, ✗ if mismatch

Input formats

One proxy per line. Comments (#) and blank lines are ignored.

host:port
user:pass@host:port
http://host:port
http://user:pass@host:port
https://host:port
socks5://host:port

Privacy

Passwords are masked (user:***@host:port) in all output — table, CSV, and JSON.

DNSBL providers

  • zen.spamhaus.org
  • bl.blocklist.de
  • dnsbl.dronebl.org

Contributing

PRs welcome. Run tests before submitting:

pip install -e ".[dev]"
ruff check
ruff format --check
python -m pytest

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

proxycheck_cli-0.1.0-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file proxycheck_cli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: proxycheck_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.5

File hashes

Hashes for proxycheck_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e940db048ab8163558d6bdab51c46bffc87ebd9a365a684a0fd06a54ef85b1fc
MD5 4e0bde7a7cae1f08acd05350f010f1e4
BLAKE2b-256 0b2918e870da72aa0aa8bb24e47018c1ecd3a4797629fdd4eb00bbcf99afeff2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page