Find fetch & validate free proxies fast.
Ballyregan is a super fast proxy fetcher.
It provides a python package and an easy-to-use CLI to help you fetch Free Tested Proxies fast, and keep your privacy.
Key features:
All you need to do is install the package from pypi, and it will automatically install the CLI for you.
pip install ballyregan
from ballyregan import ProxyFetcher
# Setting the debug mode to True, defaults to False
fetcher = ProxyFetcher(debug=True)
proxy = fetcher.get_one()
print(proxy)
proxies = fetcher.get(limit=4)
print(proxies)
from ballyregan.models import Protocols, Anonymities
proxies = fetcher.get(
limit=4,
protocols=[Protocols.HTTPS, Protocols.SOCKS5],
anonymities=[Anonymities.ELITE]
)
print(proxies)
ballyregan get --help
ballyregan get
ballyregan get --all
ballyregan --debug get [OPTIONS]
ballyregan get -o json
ballyregan get -l 4
ballyregan get -l 4 -p https -p socks5 -a elite
When you use the ProxyFetcher to fetch a proxy, it performs several steps:
Provider - any website that serves free proxy lists (e.g https://free-proxy-list.net).
Note
You can write and append your own custom providers and pass them to the ProxyFetcher class as an attribute.
Every custom proxy provider must implement the IProxyProvider base interface.
Fetching a proxy is an IO bound operation that depends on the network. A common approach for this problem is performing your network requests async.
After digging a bit, and testing Threads, Greenlets, and async operations, we decided to go the async way.
To perform async HTTP requests, ballyregan uses aiohttp and asyncio,
as "asyncio is often a perfect fit for IO-bound and high-level structured network code." (from asyncio docs).
By using the power of async HTTP requests, ballyregan can validate thousands of proxies really fast.
it to the ProxyFetcher class as an attribute.
Every custom proxy provider must implement the IProxyProvider base interface.
Copyright © 2022 Idan Daniel.
This project is Apache License Version 2.0 licensed.