Skip to main content

A Python client for fetching public proxies from multiple sources.

Project description

Proxar

Proxar is a Python client for fetching public proxies from various online sources.

It uses an asynchronous architecture to retrieve fresh proxies from multiple providers, providing a stream of proxies for use in web scraping, data analysis, and other network-intensive tasks.


Features

  • Multi-Source Proxy Fetching: Retrieves proxies from several providers.
  • Asynchronous Architecture: Built entirely on asyncio and aiohttp for efficient, non-blocking network operations.
  • Platform-Aware Storage: Uses platformdirs to store proxies in the appropriate user-specific data directory on any OS, with an option for users to specify a custom path.
  • Simple Text-Based Storage: Saves proxies to simple .txt files, making them easy to read, parse, and share.
  • Configurable Logging: Provides detailed logging for monitoring and debugging.

Installation

From PyPI (Recommended)

pip install proxar

From Source

You can set up Proxar by cloning the repository directly.

  1. Clone the repository:
    git clone https://github.com/your-username/proxar.git
    cd proxar
    
  2. Install the project and its dependencies:
    pip install -e .
    
    • To install development dependencies like mypy and ruff, use:
    pip install -e .[dev]
    

Usage

Here’s a basic example of how to use Proxar to fetch proxies:

import asyncio
from proxar import Proxar

async def main():
    # Initialize Proxar
    # You can optionally provide a custom storage path:
    # proxar = Proxar(storage_path="/path/to/your/proxies")
    proxar = Proxar()

    try:
        # Fetch proxies from all configured sources
        await proxar.get_proxies()
        print("Proxy fetching complete.")
        print(f"Proxies saved to: {proxar.storage_path}")

    except Exception as e:
        print(f"An error occurred: {e}")

if __name__ == "__main__":
    asyncio.run(main())

Configuration

Proxar is designed to work out-of-the-box with minimal configuration.

  • Storage: By default, Proxar stores fetched proxies in a proxar directory inside your user data folder. You can override this by passing a storage_path argument during initialization.
  • Logging: Logging levels and output can be configured within the library's logging module.

Dependencies

All project dependencies are managed via pyproject.toml.


License

This project is licensed under the MIT License - see the LICENSE file for details.


Contributing

Contributions, bug reports, and feature requests are welcome! Please open an issue or submit a pull request on GitHub.

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

proxar-0.5.0.tar.gz (87.7 kB view details)

Uploaded Source

Built Distribution

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

proxar-0.5.0-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file proxar-0.5.0.tar.gz.

File metadata

  • Download URL: proxar-0.5.0.tar.gz
  • Upload date:
  • Size: 87.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for proxar-0.5.0.tar.gz
Algorithm Hash digest
SHA256 62956dd5c556099319f7d1cb6dd291aab8d318c80d43978a88506cedea94e3ba
MD5 5f4bcb48a9ba0667f59ab1b6889fe4fa
BLAKE2b-256 71b9ddeb0ad812cf569b20fbfa66a5bac7521310942851930dd98089ec1cc131

See more details on using hashes here.

Provenance

The following attestation bundles were made for proxar-0.5.0.tar.gz:

Publisher: release.yml on filming/proxar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file proxar-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: proxar-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 9.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for proxar-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c193820eb608d2729cfbe58d4d0d4cbf07a640c1a78c96df069a46e09f276c6f
MD5 fcbe4aa5e8bf6e61de96322a34d855cc
BLAKE2b-256 ed219f03bdd1264f80188b5f364f4e7a49fab87506674eb198e252c660ce623d

See more details on using hashes here.

Provenance

The following attestation bundles were made for proxar-0.5.0-py3-none-any.whl:

Publisher: release.yml on filming/proxar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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