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)
    )
    
    # Получение конфига
    config = await client.users.get_config(user.id)
    
    # Продление подписки
    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) — получить конфиг WireGuard
  • get_qrcode(user_id) — получить QR-код с конфигом
  • enable(user_id) — включить пользователя
  • disable(user_id) — отключить пользователя
  • renew_subscription(user_id, paid_for) — продлить подписку
  • generate_keypair() — сгенерировать пару ключей WireGuard

Profiles

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

Nodes

  • create() — добавить ноду
  • get(node_id) — получить ноду
  • list() — получить список нод
  • update(node_id, **kwargs) — обновить ноду
  • delete(node_id) — удалить ноду
  • sync(node_id) — синхронизировать ноду
  • push_config(node_id) — отправить конфиг на ноду
  • restart(node_id) — перезапустить AmneziaWG на ноде

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-0.2.2.tar.gz (32.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-0.2.2-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for amnezio-0.2.2.tar.gz
Algorithm Hash digest
SHA256 9d3091e43f0f46143799ab3a8f8d5558073beb68c7d2051ac0dbd72656ccd364
MD5 a5fcd1920867e77ec32d246a09ce164f
BLAKE2b-256 02ebbf7729014b5c9bba5bdd3a85770986847e44dded65fc5efebcb3ca6d9a6e

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for amnezio-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 830593e2fb05e1697f99d6923d7f0e93aa99724cad53207adb6ca5601eb3c0b0
MD5 0556171a80de6583378d22615fb75743
BLAKE2b-256 0ca1f6435dd875c60500777c6fb323065033b9c1fecca17b9fc512e232a75db5

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