MalinaKod Deploy System — система развёртывания и управления сервисами
Project description
MalinaKod Deploy System
Профессиональная система развёртывания и управления Telegram ботами и сопутствующими сервисами на серверах клиентов. Продукт студии MalinaKod.
Что это
Система состоит из двух частей:
- Клиентский пакет (
malinakod) — публикуется в PyPI. Клиент делаетpip install malinakod→malinakod initи всё разворачивается автоматически по лицензионному ключу. - Инструменты разработчика (
tools/) — у тебя локально:tools/keygen.py— генератор лицензионных ключей.tools/packager.py— упаковщик и шифратор сервисов.tools/panel.py— панель управления всеми клиентами.
Установка (разработчик)
git clone https://github.com/Medenchi/Malinacode-Deploy-system.git
cd Malinacode-Deploy-system
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
Полный production-процесс выкатки клиенту →
DEPLOYMENT.md: мастер-секрет лицензий, GitHub deploy-токен для приватного репо релизов, systemd-юниты, ротация секретов, чек-лист.
Клиентский запуск
pip install malinakod
malinakod init
После активации:
malinakod status # таблица публичных сервисов
malinakod restart [service] # рестарт одного или всех
malinakod logs <service> -n 50 -f
malinakod info # инфо о машине
malinakod machine-id # ID машины для привязки лицензии
Инструменты разработчика
# Лицензии
python tools/keygen.py new
python tools/keygen.py ls
python tools/keygen.py revoke <client_id>
# Упаковка сервиса (под клиента)
python tools/packager.py pack \
--client-id client_001 \
--source path/to/bot \
--license-key MLNK-... \
--service-name telegram-bot \
--run-command "python main.py" \
--port 8080 --visible
# Панель
python tools/panel.py add-client --client-id client_001 --host 1.2.3.4 --port 17731
python tools/panel.py overview
python tools/panel.py client-status client_001
python tools/panel.py client-restart client_001 telegram-bot
python tools/panel.py client-logs client_001 telegram-bot --lines 100
python tools/panel.py client-deploy client_001 service_config.json
python tools/panel.py client-exec client_001
Локальное тестирование
# Терминал 1 — фейковый GitHub
python test_env/fake_github.py
# Терминал 2 — агент
MALINA_CLIENT_ID=test_client \
MALINA_AGENT_SECRET=secret \
python -m malinakod.core.agent
# Терминал 3 — тесты
python test_env/run_tests.py
# Терминал 4 — ручная проверка
malinakod init
malinakod status
malinakod logs test-bot -n 20
Переменные окружения агента
| Переменная | Назначение |
|---|---|
MALINA_CLIENT_ID |
ID клиента |
MALINA_AGENT_SECRET |
Секрет HMAC для подписи API запросов |
MALINA_AGENT_PORT |
Порт агента (по умолчанию 17731) |
MALINA_REPORT_URL |
URL для фонового репортинга статуса |
MALINAKOD_LICENSE_SECRET |
Секрет генератора лицензий (только у тебя) |
MALINAKOD_MIRROR |
Базовый URL зеркала с релизами |
MALINAKOD_MIRRORS |
Доп. зеркала через запятую |
Безопасность
- Лицензии HMAC-SHA256, формат
MLNK-XXXXX-XXXXX-XXXXX-XXXXX. - Сборки сервисов шифруются Fernet (PBKDF2-производным от лицензионного ключа).
- API агента: HMAC подпись + защита от replay по timestamp (окно 30 секунд).
- Распаковка архивов с защитой от path traversal.
- Скрытые сервисы никогда не упоминаются в публичном CLI выводе.
Лицензия
Проприетарная. © MalinaKod Studio.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
File details
Details for the file malinakod-0.1.0.tar.gz.
File metadata
- Download URL: malinakod-0.1.0.tar.gz
- Upload date:
- Size: 26.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f5d241223810b0789b7bed42a3ce96bb611248a7530e81d4b7387aad241618df
|
|
| MD5 |
5d62d607cf105bc5cc69e1fbb36ad64f
|
|
| BLAKE2b-256 |
f20ebe762b8e15bc369709257ddf3e4228324d9481f17520e7067b0be959c182
|
File details
Details for the file malinakod-0.1.0-py3-none-any.whl.
File metadata
- Download URL: malinakod-0.1.0-py3-none-any.whl
- Upload date:
- Size: 31.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c146c7713d745fccf1b1795b0b5856c79075f7e86fd3ef83a12dfe2a5295324
|
|
| MD5 |
5ea074d26eeca5e5026c42b80f693aac
|
|
| BLAKE2b-256 |
81f2131e5329203adbb8c13f116f13bb87d29f3c03922781ead83fc982723dd0
|