diff --git a/README.md b/README.md index 6e50055..286d064 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,136 @@ -# MobaXterm-Activator +# MobaXterm Activator -Активатор \ No newline at end of file +**Автор:** [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.