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.6.0.tar.gz (88.3 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.6.0-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for proxar-0.6.0.tar.gz
Algorithm Hash digest
SHA256 ad488907a055d99559e2abc9c9fc38c57cced342f976ae45cc74892030daec3d
MD5 331d71f3f7560d6d6defad701b9879f6
BLAKE2b-256 144420a6769233c5f1e1962256642ae2a47e57ce5a4504bfa33a48cb9631d432

See more details on using hashes here.

Provenance

The following attestation bundles were made for proxar-0.6.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.6.0-py3-none-any.whl.

File metadata

  • Download URL: proxar-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 11.4 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.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c6c9a464db16e306b1f4e646f0ae32173395563c1820f7f806eb2ddb9b11566e
MD5 ddaa619eeacb4e1e53aca9d964c2a072
BLAKE2b-256 02146b4d63186d21765348bd371bad4700c4f045970a1139e9981fc0d3d8d011

See more details on using hashes here.

Provenance

The following attestation bundles were made for proxar-0.6.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