Skip to main content

Python SDK для работы с панелью Amnezio VPN

Project description

Amnezio Python SDK

Python SDK для работы с панелью Amnezio VPN.

Установка

pip install amnezio

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

Аутентификация

SDK поддерживает два способа аутентификации:

1. API токен (рекомендуется)

from amnezio import AmnezioClient

async with AmnezioClient(
    base_url="https://panel.example.com",
    api_token="amz_xxxxxxxxxxxxxxxxxx"
) as client:
    # Работа с API
    users = await client.users.list()

2. Логин и пароль

async with AmnezioClient(
    base_url="https://panel.example.com",
    username="admin",
    password="secret"
) as client:
    # Работа с API
    users = await client.users.list()

Рекомендуется использовать API токены для ботов и интеграций:

  • Токены можно отзывать отдельно
  • Безопаснее, чем хранить пароль
  • Можно задать срок действия
  • Лучший аудит (видно какой токен что делает)

Создать токен можно в веб-панели: API Токены → Создать токен

Основные операции

from amnezio import AmnezioClient
from datetime import date, timedelta

async with AmnezioClient(
    base_url="https://panel.example.com",
    api_token="amz_xxxxxxxxxxxxxxxxxx"
) as client:
    # Генерация ключей
    keypair = await client.users.generate_keypair()
    
    # Создание пользователя
    user = await client.users.create(
        sub_id="user123",
        private_key=keypair.private_key,
        preshared_key=keypair.preshared_key,
        profile_id=1,
        paid_for=date.today() + timedelta(days=30)
    )
    
    # Получение конфига (опционально можно принудительно указать endpoint_port)
    config = await client.users.get_config(user.id, endpoint_port=51820)
    
    # Продление подписки
    await client.users.renew_subscription(user.id, date(2027, 12, 31))
    
    # Отключение пользователя
    await client.users.disable(user.id)

Методы

Users

  • create() — добавить пользователя
  • get(user_id) — получить данные пользователя
  • list() — получить список пользователей
  • update(user_id, **kwargs) — обновить пользователя
  • delete(user_id) — удалить пользователя
  • get_config(user_id, endpoint_port=None) — получить конфиг WireGuard
  • get_qrcode(user_id) — получить QR-код с конфигом
  • enable(user_id) — включить пользователя
  • disable(user_id) — отключить пользователя
  • renew_subscription(user_id, paid_for) — продлить подписку
  • generate_keypair() — сгенерировать пару ключей WireGuard

Profiles

  • create(..., extra_udp_ports=None) — создать профиль (доп. UDP порты через CSV)
  • get(profile_id) — получить профиль
  • list() — получить список профилей
  • update(profile_id, **kwargs) — обновить профиль
  • delete(profile_id) — удалить профиль

Nodes

  • create(..., port=9999, node_type="awg"|"wg") — добавить ноду (возвращает NodeCreated с secret_key, docker_compose)
  • get(node_id) — получить ноду
  • list() — получить список нод
  • update(node_id, **kwargs) — обновить ноду
  • delete(node_id) — удалить ноду
  • push_config(node_id) — отправить конфиг на ноду (POST /api/nodes/{id}/push)
  • restart(node_id) — перезапустить VPN-интерфейс на ноде

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

amnezio-1.1.0.tar.gz (33.6 kB view details)

Uploaded Source

Built Distribution

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

amnezio-1.1.0-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

Details for the file amnezio-1.1.0.tar.gz.

File metadata

  • Download URL: amnezio-1.1.0.tar.gz
  • Upload date:
  • Size: 33.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for amnezio-1.1.0.tar.gz
Algorithm Hash digest
SHA256 319a56d45ffa271db65c692aacdee1cb84d14d8e9d152029290a5f2ebf9db25f
MD5 9df832cb4cc705a55b965084ead0ded7
BLAKE2b-256 ec000b284037faab0e0bccee734d83abc60f3fc3e50f33b2c4b459c52e39d6de

See more details on using hashes here.

File details

Details for the file amnezio-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: amnezio-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for amnezio-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a3f1f0fa507f67e179ad54ff4da3b2dc05b44f293f5f4cab90f3d3838661445e
MD5 e4286f6b58729d0edb583f6459b70b04
BLAKE2b-256 179ccbf5490b2d176fd895373fee495a46a7d45d4fd880ba47cc3046fdfb6380

See more details on using hashes here.

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