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)— получить конфиг WireGuardget_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.0.0.tar.gz
(33.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
amnezio-1.0.0-py3-none-any.whl
(13.6 kB
view details)
File details
Details for the file amnezio-1.0.0.tar.gz.
File metadata
- Download URL: amnezio-1.0.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ff2eab9725ea4d6e86935105012b7b7be8f20f21f6adf3e5ae7ce1739e76073
|
|
| MD5 |
3de99bc17ea4d299b3bf02571afcd058
|
|
| BLAKE2b-256 |
141639d810afa5bfa41a49aae6119a675e944c9613b19af54381e2201f05b143
|
File details
Details for the file amnezio-1.0.0-py3-none-any.whl.
File metadata
- Download URL: amnezio-1.0.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c588f4db193f3a1e3006c8d8684a5381e883f21a4aebafa6f86f1556350fd7dd
|
|
| MD5 |
7e3ccf0559843688588e8fe0e23c0f43
|
|
| BLAKE2b-256 |
22bbba65ba1702d33b9b99192dda9823ed0c2813b1c62264a9e8979b0b68bc60
|