Skip to main content

Async Python proxy manager with latency testing

Project description

aioprox

Python Version License

aioprox – Asynchronous proxy manager for Python. Fetch, test, and filter HTTP/SOCKS proxies with optional latency measurement and support for custom sources.


Project Overview

aioprox is designed for developers who need a reliable, asynchronous proxy management tool in Python. It allows you to quickly fetch proxies from multiple sources, test them concurrently, and optionally measure latency to select the fastest proxies. Whether you want a single random live proxy or a fully sorted list of working proxies, aioprox makes it easy. You can also supply your own proxy lists via a file, URL, or Python list.


Features

  • Fetch proxies from multiple built-in sources or user-supplied sources (URL, file, or list).
  • Test proxies asynchronously for availability.
  • Optional latency measurement to find the fastest proxies.
  • Retrieve a single random live proxy or a full list of working proxies.
  • Supports HTTP, SOCKS4, and SOCKS5 proxies.
  • Concurrency control for fast testing of large proxy lists.
  • Easy to integrate in both scripts and larger Python projects.

Installation

pip install aiohttp aiohttp_socks

Then clone or download aioprox.py into your project.


Usage

1. Using a Built-in Source

from aioprox import Proxy

# Initialize with built-in source
p = Proxy(proxy_type="http", source="monosans")

# Get all live proxies
proxies = p.get_good_proxies()
print(proxies)

# Get a single random live proxy
random_proxy = p.get_random_proxy()
print(f"Random proxy: {random_proxy}")

2. Measuring Latency

# Enable latency measurement
p = Proxy(proxy_type="http", source="monosans", latency=True)

# Get proxies sorted by latency
proxies = p.get_good_proxies()

# Get the fastest proxy
fastest_proxy = p.get_random_proxy()
print(proxies)
print(f"Fastest proxy: {fastest_proxy}")

3. Using a Custom List of Proxies

custom_list = [
    "123.45.67.89:8080",
    "98.76.54.32:1080",
]

p = Proxy(proxy_type="http", custom_source=custom_list, latency=True)
proxies = p.get_good_proxies()
print(proxies)

4. Using a Custom URL or File

# From a URL
p = Proxy(proxy_type="socks5", custom_source="https://example.com/proxylist.txt")
proxies = p.get_good_proxies()
print(proxies)

# From a local file
p = Proxy(proxy_type="http", custom_source="proxies.txt")
proxies = p.get_good_proxies()
print(proxies)

Supported Proxy Types

  • HTTP
  • SOCKS4
  • SOCKS5

Concurrency

By default, proxy testing uses a concurrency of 50. You can adjust it when creating the Proxy object:

p = Proxy(proxy_type="http", source="monosans", concurrency=100)

Error Handling

  • Failed proxy sources print informative messages.
  • Dead proxies are automatically filtered out.
  • Latency measurement is optional; if not enabled, only live/dead status is returned.

Example Output

[{'proxy': '123.45.67.89:8080', 'latency': 0.234},
 {'proxy': '98.76.54.32:1080', 'latency': 0.421}]
Fastest proxy: 123.45.67.89:8080

Project details


Download files

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

Source Distribution

aioprox-0.1.5.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

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

aioprox-0.1.5-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file aioprox-0.1.5.tar.gz.

File metadata

  • Download URL: aioprox-0.1.5.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for aioprox-0.1.5.tar.gz
Algorithm Hash digest
SHA256 e0eb3fbfe23a4b58f134bc1adb92fb799247927ddbd6fb9a7c74c4b2ef226ab0
MD5 cc88fa61178919fbb9c5a9d3be27edd8
BLAKE2b-256 c71860a3a5045e6b5d0ab31f81b1a4db611484b83ccc35af8119e08f4c7deda5

See more details on using hashes here.

File details

Details for the file aioprox-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: aioprox-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 4.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for aioprox-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 302a3bdfffad6c5e1ba4ccc513e184d5bef633104454ba68abbd909d0fbbf118
MD5 02f414d532c66b2b8adc99f857aa77b2
BLAKE2b-256 9cfc946be99c73e32e4147976ecc7477c3f1889f3b29d2e44b1b7842ba8826a1

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