# MobaXterm Activator **Автор:** [icysanta](https://github.com/icysanta) (или ваш GitHub, если нужно изменить) ## 📄 Описание **MobaXterm Activator** — это веб-приложение для генерации лицензий для MobaXterm. Проект сочетает backend на **FastAPI** (Python) для API-логики и frontend на **HTML**, **CSS**, **JavaScript** для пользовательского интерфейса. Используется **Docker** для контейнеризации, что упрощает развертывание и тестирование. Основная цель — предоставить удобный инструмент для создания кастомных лицензий (.mxtpro) с шифрованием и кодированием, демонстрируя принципы веб-разработки, криптографии и DevOps. Backend обрабатывает генерацию ключей, а frontend — форму для ввода данных и скачивания файла. Проект включает: - API для генерации лицензий с использованием custom XOR-шифрования и variant Base64; - Статический frontend с формой и JS-обработчиком; - Конфигурацию Docker для сборки и запуска в контейнере; - Модульную структуру backend с роутерами, сервисами и утилитами; - Лицензию **MIT** для открытого использования. Это учебный/демонстрационный проект, не предназначенный для коммерческого или незаконного использования. Рекомендуется для изучения FastAPI, криптографии и контейнеризации. --- ## 🛠️ Требования - **Python**: 3.12+ (для backend). - **Docker**: Для контейнеризации (опционально, но рекомендуется). - **Зависимости backend**: Указаны в `backend/requirements.txt` (FastAPI, Uvicorn и т.д.). - **Браузер**: Для тестирования frontend (Chrome, Firefox и т.д.). ## 🚀 Установка и запуск ### Локальный запуск (без Docker) 1. Клонируйте репозиторий: ``` git clone https://git.primo.su/icysanta/MobaXterm-Activator.git cd MobaXterm-Activator ``` 2. Установите зависимости backend: ``` cd backend pip install -r requirements.txt ``` 3. Запустите сервер: ``` uvicorn main:app --reload --host 0.0.0.0 --port 8000 ``` 4. Откройте в браузере: `http://localhost:8000` — увидите frontend-форму для генерации лицензии. ### Запуск в Docker 1. Соберите образ: ``` docker build -t mobaxterm-activator . ``` 2. Запустите контейнер: ``` docker run -d -p 8000:8000 mobaxterm-activator ``` 3. Откройте в браузере: `http://localhost:8000`. ## 📝 Использование 1. На главной странице (`index.html`) введите имя пользователя и версию MobaXterm (формат: X.Y, например, 25.3). 2. Нажмите "Generate" — скачается файл `Custom.mxtpro`. 3. Скопируйте файл в директорию MobaXterm для активации. **Примечание:** Ключи генерируются с типом "Professional" по умолчанию. Для кастомизации измените `license_service.py`. ## 🧰 Структура проекта ```bash / ├── .dockerignore # Файлы, исключённые из Docker-сборки ├── .gitattributes # Атрибуты Git ├── .gitignore # Файлы, исключённые из Git ├── Dockerfile # Инструкции для сборки Docker-образа ├── LICENSE # Лицензия проекта (MIT) ├── README.md # Описание проекта (этот файл) │ ├── .gitea/ # Настройки Gitea (workflows для CI/CD) │ └── workflows/ # YAML-файлы для автоматизации │ ├── .idea/ # Настройки IntelliJ IDEA (можно игнорировать) │ ├── inspectionProfiles/ # Профили инспекций кода │ └── ... # Другие файлы IDE │ ├── backend/ # Backend на FastAPI │ ├── config.py # Конфигурация приложения │ ├── main.py # Точка входа FastAPI │ ├── requirements.txt # Зависимости Python │ ├── __init__.py # Пакетный файл │ │ │ ├── routes/ # Роутеры API │ │ ├── license_routes.py # Роутер для генерации лицензий │ │ └── __init__.py # Пакетный файл │ │ │ ├── services/ # Сервисная логика │ │ ├── license_service.py # Генерация лицензий │ │ └── __init__.py # Пакетный файл │ │ │ └── utils/ # Утилиты (крипто, кодирование) │ ├── crypto.py # Шифрование/дешифрование │ ├── encoding.py # Custom Base64 │ └── __init__.py # Пакетный файл │ └── frontend/ # Статический frontend ├── assets/ # Активы (изображения, шрифты и т.д.) │ ├── audio/ # Аудиофайлы (пусто или добавьте) │ ├── fonts/ # Шрифты │ │ └── LCDSolid1.13-Regular.otf # Пример шрифта │ ├── icons/ # Иконки │ │ └── favicon.ico # Фавикон │ ├── images/ # Изображения │ ├── misc/ # Разное │ └── videos/ # Видео │ ├── css/ # Стили │ ├── style.css # Основные стили │ └── pages/ # Стили для страниц (пусто или добавьте) │ ├── js/ # Скрипты │ ├── main.js # Основной JS (обработка формы) │ └── pages/ # Скрипты для страниц (пусто или добавьте) │ └── templates/ # HTML-шаблоны └── index.html # Главная страница с формой ``` ## 📦 Зависимости - **Backend**: FastAPI, Uvicorn, pathlib, zipfile, tempfile. - **Frontend**: Чистый HTML/CSS/JS (без фреймворков). - **Другие**: Docker для контейнеризации. ## 🤝 Вклад Приветствуются pull requests! Форкните репозиторий, внесите изменения и отправьте PR. Убедитесь, что код соответствует PEP8. ## ⚠️ Предупреждение Этот проект — для образовательных целей. Не используйте для нарушения лицензий ПО. Автор не несёт ответственности за misuse.