# 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"
}