aioproxy6


Nameaioproxy6 JSON
Version 1.0.0 PyPI version JSON
download
home_pagehttps://github.com/vasmarfas/aioproxy6
SummaryАсинхронный клиент для API px6.link (proxy6.net)
upload_time2025-07-18 10:49:16
maintainerNone
docs_urlNone
authorvasmarfas
requires_python>=3.7
licenseNone
keywords proxy proxy6 px6 async aiohttp api client
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # aioproxy6

Асинхронный клиент для API px6.link (proxy6.net) на Python.

## Установка

```bash
pip install aioproxy6
```

## Использование

### Базовый пример

```python
import asyncio
from aioproxy6 import PX6Client, ProxyVersion

async def main():
    # Создание клиента
    client = PX6Client(api_key="YOUR_API_KEY")
    
    # Получение баланса
    balance = await client.get_balance()
    print(f"Баланс: {balance.balance} {balance.currency}")
    
    # Получение списка прокси
    proxies = await client.get_proxies()
    print(f"Всего прокси: {proxies.list_count}")
    
    # Вывод информации о прокси
    for proxy in proxies.proxies_list:
        print(f"ID: {proxy.id}, IP: {proxy.ip}, Страна: {proxy.country}, Активен: {proxy.active}")

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

### Покупка прокси

```python
import asyncio
from aioproxy6 import PX6Client, ProxyVersion, ProxyType

async def buy_proxy():
    client = PX6Client(api_key="YOUR_API_KEY")
    
    # Получение списка доступных стран для IPv4 Shared
    countries = await client.get_countries(version=ProxyVersion.IPV4_SHARED)
    print(f"Доступные страны: {', '.join(countries.countries)}")
    
    # Проверка доступности прокси в России
    count_info = await client.get_count("ru", version=ProxyVersion.IPV4_SHARED)
    print(f"Доступно прокси в России: {count_info.count}")
    
    # Получение стоимости заказа
    price_info = await client.get_price(count=1, period=30, version=ProxyVersion.IPV4_SHARED)
    print(f"Стоимость: {price_info.price} {price_info.currency}")
    
    # Покупка прокси
    if count_info.count > 0:
        result = await client.buy_proxies(
            count=1,
            period=30,
            country="ru",
            version=ProxyVersion.IPV4_SHARED,
            proxy_type=ProxyType.HTTP,
            descr="Тестовый прокси"
        )
        
        for proxy in result.proxies_list:
            print(f"Куплен прокси: {proxy.host}:{proxy.port}")
            print(f"Логин: {proxy.user}")
            print(f"Пароль: {proxy.password}")
            print(f"Действует до: {proxy.date_end}")

if __name__ == "__main__":
    asyncio.run(buy_proxy())
```

### Продление прокси

```python
import asyncio
from aioproxy6 import PX6Client, ProxyState

async def prolong_proxies():
    client = PX6Client(api_key="YOUR_API_KEY")
    
    # Получение списка активных прокси
    proxies = await client.get_proxies(state=ProxyState.ACTIVE)
    
    if proxies.proxies_list:
        # Получение ID первого прокси
        proxy_id = proxies.proxies_list[0].id
        
        # Продление прокси на 7 дней
        result = await client.prolong_proxies([proxy_id], period=7)
        
        print(f"Прокси продлен до: {result.proxies[0].date_end}")
        print(f"Новый баланс: {result.balance} {result.currency}")

if __name__ == "__main__":
    asyncio.run(prolong_proxies())
```

### Использование контекстного менеджера

```python
import asyncio
from aioproxy6 import PX6Client

async def main():
    async with PX6Client(api_key="YOUR_API_KEY") as client:
        balance = await client.get_balance()
        print(f"Баланс: {balance.balance} {balance.currency}")

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

## Документация

### Классы и перечисления

- `PX6Client` - основной класс для работы с API
- `ProxyVersion` - перечисление версий прокси (IPV4, IPV4_SHARED, IPV6)
- `ProxyType` - перечисление типов прокси (HTTP, SOCKS)
- `ProxyState` - перечисление состояний прокси (ACTIVE, EXPIRED, EXPIRING, ALL)

### Методы PX6Client

- `get_balance()` - получение баланса
- `get_countries(version)` - получение списка доступных стран
- `get_count(country, version)` - получение количества доступных прокси в стране
- `get_price(count, period, version)` - получение стоимости заказа
- `get_proxies(state, descr, nokey, page, limit)` - получение списка прокси
- `buy_proxies(count, period, country, version, proxy_type, descr, auto_prolong, nokey)` - покупка прокси
- `prolong_proxies(proxy_ids, period, nokey)` - продление прокси
- `delete_proxies(proxy_ids, descr)` - удаление прокси
- `check_proxy(proxy_id)` - проверка прокси
- `set_proxy_type(proxy_ids, proxy_type)` - установка типа прокси
- `set_description(new_descr, old_descr, proxy_ids)` - установка описания для прокси
- `set_ip_auth(ip_addresses)` - установка IP-авторизации
- `remove_ip_auth()` - удаление IP-авторизации

## Лицензия

MIT 

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/vasmarfas/aioproxy6",
    "name": "aioproxy6",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "proxy, proxy6, px6, async, aiohttp, api client",
    "author": "vasmarfas",
    "author_email": "vasmarfas <admin@vasmarfas.com>",
    "download_url": "https://files.pythonhosted.org/packages/3c/e3/555dd030d633f391a02d4abcc8b2c30155a5ffdafc7055c0e4a7f53b47c2/aioproxy6-1.0.0.tar.gz",
    "platform": null,
    "description": "# aioproxy6\r\n\r\n\u0410\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u043a\u043b\u0438\u0435\u043d\u0442 \u0434\u043b\u044f API px6.link (proxy6.net) \u043d\u0430 Python.\r\n\r\n## \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\r\n\r\n```bash\r\npip install aioproxy6\r\n```\r\n\r\n## \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\r\n\r\n### \u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440\r\n\r\n```python\r\nimport asyncio\r\nfrom aioproxy6 import PX6Client, ProxyVersion\r\n\r\nasync def main():\r\n    # \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\r\n    client = PX6Client(api_key=\"YOUR_API_KEY\")\r\n    \r\n    # \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0431\u0430\u043b\u0430\u043d\u0441\u0430\r\n    balance = await client.get_balance()\r\n    print(f\"\u0411\u0430\u043b\u0430\u043d\u0441: {balance.balance} {balance.currency}\")\r\n    \r\n    # \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430 \u043f\u0440\u043e\u043a\u0441\u0438\r\n    proxies = await client.get_proxies()\r\n    print(f\"\u0412\u0441\u0435\u0433\u043e \u043f\u0440\u043e\u043a\u0441\u0438: {proxies.list_count}\")\r\n    \r\n    # \u0412\u044b\u0432\u043e\u0434 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u043f\u0440\u043e\u043a\u0441\u0438\r\n    for proxy in proxies.proxies_list:\r\n        print(f\"ID: {proxy.id}, IP: {proxy.ip}, \u0421\u0442\u0440\u0430\u043d\u0430: {proxy.country}, \u0410\u043a\u0442\u0438\u0432\u0435\u043d: {proxy.active}\")\r\n\r\nif __name__ == \"__main__\":\r\n    asyncio.run(main())\r\n```\r\n\r\n### \u041f\u043e\u043a\u0443\u043f\u043a\u0430 \u043f\u0440\u043e\u043a\u0441\u0438\r\n\r\n```python\r\nimport asyncio\r\nfrom aioproxy6 import PX6Client, ProxyVersion, ProxyType\r\n\r\nasync def buy_proxy():\r\n    client = PX6Client(api_key=\"YOUR_API_KEY\")\r\n    \r\n    # \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0441\u0442\u0440\u0430\u043d \u0434\u043b\u044f IPv4 Shared\r\n    countries = await client.get_countries(version=ProxyVersion.IPV4_SHARED)\r\n    print(f\"\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0441\u0442\u0440\u0430\u043d\u044b: {', '.join(countries.countries)}\")\r\n    \r\n    # \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u043a\u0441\u0438 \u0432 \u0420\u043e\u0441\u0441\u0438\u0438\r\n    count_info = await client.get_count(\"ru\", version=ProxyVersion.IPV4_SHARED)\r\n    print(f\"\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u043f\u0440\u043e\u043a\u0441\u0438 \u0432 \u0420\u043e\u0441\u0441\u0438\u0438: {count_info.count}\")\r\n    \r\n    # \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u0438 \u0437\u0430\u043a\u0430\u0437\u0430\r\n    price_info = await client.get_price(count=1, period=30, version=ProxyVersion.IPV4_SHARED)\r\n    print(f\"\u0421\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c: {price_info.price} {price_info.currency}\")\r\n    \r\n    # \u041f\u043e\u043a\u0443\u043f\u043a\u0430 \u043f\u0440\u043e\u043a\u0441\u0438\r\n    if count_info.count > 0:\r\n        result = await client.buy_proxies(\r\n            count=1,\r\n            period=30,\r\n            country=\"ru\",\r\n            version=ProxyVersion.IPV4_SHARED,\r\n            proxy_type=ProxyType.HTTP,\r\n            descr=\"\u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438\"\r\n        )\r\n        \r\n        for proxy in result.proxies_list:\r\n            print(f\"\u041a\u0443\u043f\u043b\u0435\u043d \u043f\u0440\u043e\u043a\u0441\u0438: {proxy.host}:{proxy.port}\")\r\n            print(f\"\u041b\u043e\u0433\u0438\u043d: {proxy.user}\")\r\n            print(f\"\u041f\u0430\u0440\u043e\u043b\u044c: {proxy.password}\")\r\n            print(f\"\u0414\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u0434\u043e: {proxy.date_end}\")\r\n\r\nif __name__ == \"__main__\":\r\n    asyncio.run(buy_proxy())\r\n```\r\n\r\n### \u041f\u0440\u043e\u0434\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u043a\u0441\u0438\r\n\r\n```python\r\nimport asyncio\r\nfrom aioproxy6 import PX6Client, ProxyState\r\n\r\nasync def prolong_proxies():\r\n    client = PX6Client(api_key=\"YOUR_API_KEY\")\r\n    \r\n    # \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u043f\u0440\u043e\u043a\u0441\u0438\r\n    proxies = await client.get_proxies(state=ProxyState.ACTIVE)\r\n    \r\n    if proxies.proxies_list:\r\n        # \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 ID \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u043a\u0441\u0438\r\n        proxy_id = proxies.proxies_list[0].id\r\n        \r\n        # \u041f\u0440\u043e\u0434\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u043a\u0441\u0438 \u043d\u0430 7 \u0434\u043d\u0435\u0439\r\n        result = await client.prolong_proxies([proxy_id], period=7)\r\n        \r\n        print(f\"\u041f\u0440\u043e\u043a\u0441\u0438 \u043f\u0440\u043e\u0434\u043b\u0435\u043d \u0434\u043e: {result.proxies[0].date_end}\")\r\n        print(f\"\u041d\u043e\u0432\u044b\u0439 \u0431\u0430\u043b\u0430\u043d\u0441: {result.balance} {result.currency}\")\r\n\r\nif __name__ == \"__main__\":\r\n    asyncio.run(prolong_proxies())\r\n```\r\n\r\n### \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430\r\n\r\n```python\r\nimport asyncio\r\nfrom aioproxy6 import PX6Client\r\n\r\nasync def main():\r\n    async with PX6Client(api_key=\"YOUR_API_KEY\") as client:\r\n        balance = await client.get_balance()\r\n        print(f\"\u0411\u0430\u043b\u0430\u043d\u0441: {balance.balance} {balance.currency}\")\r\n\r\nif __name__ == \"__main__\":\r\n    asyncio.run(main())\r\n```\r\n\r\n## \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f\r\n\r\n### \u041a\u043b\u0430\u0441\u0441\u044b \u0438 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f\r\n\r\n- `PX6Client` - \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043a\u043b\u0430\u0441\u0441 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 API\r\n- `ProxyVersion` - \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 (IPV4, IPV4_SHARED, IPV6)\r\n- `ProxyType` - \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u0442\u0438\u043f\u043e\u0432 \u043f\u0440\u043e\u043a\u0441\u0438 (HTTP, SOCKS)\r\n- `ProxyState` - \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 (ACTIVE, EXPIRED, EXPIRING, ALL)\r\n\r\n### \u041c\u0435\u0442\u043e\u0434\u044b PX6Client\r\n\r\n- `get_balance()` - \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0431\u0430\u043b\u0430\u043d\u0441\u0430\r\n- `get_countries(version)` - \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0441\u0442\u0440\u0430\u043d\r\n- `get_count(country, version)` - \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043f\u0440\u043e\u043a\u0441\u0438 \u0432 \u0441\u0442\u0440\u0430\u043d\u0435\r\n- `get_price(count, period, version)` - \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u0438 \u0437\u0430\u043a\u0430\u0437\u0430\r\n- `get_proxies(state, descr, nokey, page, limit)` - \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430 \u043f\u0440\u043e\u043a\u0441\u0438\r\n- `buy_proxies(count, period, country, version, proxy_type, descr, auto_prolong, nokey)` - \u043f\u043e\u043a\u0443\u043f\u043a\u0430 \u043f\u0440\u043e\u043a\u0441\u0438\r\n- `prolong_proxies(proxy_ids, period, nokey)` - \u043f\u0440\u043e\u0434\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u043a\u0441\u0438\r\n- `delete_proxies(proxy_ids, descr)` - \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u043a\u0441\u0438\r\n- `check_proxy(proxy_id)` - \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u0440\u043e\u043a\u0441\u0438\r\n- `set_proxy_type(proxy_ids, proxy_type)` - \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0442\u0438\u043f\u0430 \u043f\u0440\u043e\u043a\u0441\u0438\r\n- `set_description(new_descr, old_descr, proxy_ids)` - \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u043f\u0440\u043e\u043a\u0441\u0438\r\n- `set_ip_auth(ip_addresses)` - \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 IP-\u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438\r\n- `remove_ip_auth()` - \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 IP-\u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438\r\n\r\n## \u041b\u0438\u0446\u0435\u043d\u0437\u0438\u044f\r\n\r\nMIT \r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "\u0410\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u043a\u043b\u0438\u0435\u043d\u0442 \u0434\u043b\u044f API px6.link (proxy6.net)",
    "version": "1.0.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/vasmarfas/aioproxy6/issues",
        "Homepage": "https://github.com/vasmarfas/aioproxy6"
    },
    "split_keywords": [
        "proxy",
        " proxy6",
        " px6",
        " async",
        " aiohttp",
        " api client"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1fe072a77483421ea6df8cd6d5c63e753b3252b4b321e0b6739b4da3b60aeca2",
                "md5": "9de66dd5bb30077d61f773daada72b21",
                "sha256": "e769c6f6b6f573d84cc31c0838fc9f350d607284dff3386787eb522e87e98589"
            },
            "downloads": -1,
            "filename": "aioproxy6-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9de66dd5bb30077d61f773daada72b21",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 8441,
            "upload_time": "2025-07-18T10:49:15",
            "upload_time_iso_8601": "2025-07-18T10:49:15.686722Z",
            "url": "https://files.pythonhosted.org/packages/1f/e0/72a77483421ea6df8cd6d5c63e753b3252b4b321e0b6739b4da3b60aeca2/aioproxy6-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3ce3555dd030d633f391a02d4abcc8b2c30155a5ffdafc7055c0e4a7f53b47c2",
                "md5": "da1f8ccc21adc1b13fe135ec7bad6371",
                "sha256": "81f0cae9319f99b0740f9a552ccc923fa1e2ea52cec211742302c80f8db14f57"
            },
            "downloads": -1,
            "filename": "aioproxy6-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "da1f8ccc21adc1b13fe135ec7bad6371",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 9464,
            "upload_time": "2025-07-18T10:49:16",
            "upload_time_iso_8601": "2025-07-18T10:49:16.852586Z",
            "url": "https://files.pythonhosted.org/packages/3c/e3/555dd030d633f391a02d4abcc8b2c30155a5ffdafc7055c0e4a7f53b47c2/aioproxy6-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-18 10:49:16",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "vasmarfas",
    "github_project": "aioproxy6",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "aioproxy6"
}
        
Elapsed time: 0.48697s