Files
MobaXterm-Activator/README.md

137 lines
7.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.