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.1.0.tar.gz (28.8 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.1.0-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for amnezio-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2b0040e03dcef663980dddd33e60a79d9d88659f688626c6917e2874b4a89cf5
MD5 36f83a45e7af80df2f8f215f3b0956d6
BLAKE2b-256 e48e1b97669a39e22dacb197d03d6870d830a415a5a4e3be9f097318d821d022

See more details on using hashes here.

File details

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

File metadata

  • Download URL: amnezio-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.3 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ade01549cb51c72c7ffc0338ff493ced24eb754aed8487fec33a46687ac1a666
MD5 a8312b3a815517970db05864292547f9
BLAKE2b-256 fe3d4b09287494a4a11caf5fce2cbd49296a06b45df004e6419cfd69d9ae0eac

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