Files

118 lines
6.6 KiB
Markdown

# MSWP — mita Server Web Panel
Веб-панель и система развёртывания для прокси-протокола **[mieru/mita](https://github.com/enfein/mieru)**, с опциональной интеграцией **Cloudflare WARP** и CLI-утилитой `mita-ctl`.
> Проект рассчитан на Ubuntu/Debian VPS. Включает: скрипты установки, веб-панель на Flask, CLI-утилиту и Telegram-бота.
---
## Архитектура
```
curl -Ls ... | sudo bash (bootstrap.sh)
install.sh — установка mita, WARP, веб-панели, бота, cron
├── mita (systemd) — прокси-сервер
├── WARP Docker — SOCKS5-прокси (127.0.0.1:40000)
├── mita-panel (Flask) — веб-интерфейс управления
├── mita-bot (systemd) — Telegram-бот
├── mita-ctl — CLI-меню
├── manage-users.sh — CLI для пользователей
└── auto-update (cron) — ежедневное обновление списков WARP
```
## Технологии
| Компонент | Технология |
|---|---|
| Бэкенд | Python 3 / Flask / Gunicorn |
| Фронтенд | Vanilla JS, Jinja2, QRCode.js |
| Прокси | mieru/mita |
| WARP | seiry/cloudflare-warp-proxy (Docker) |
| CLI | Bash |
| Защита | fail2ban, UFW/iptables, Let's Encrypt |
## Быстрый старт
```bash
curl -Ls https://raw.githubusercontent.com/grendervilll/mitactl/main/bootstrap.sh | sudo bash
```
---
## Структура проекта
```
.
├── app.py # Бэкенд Flask
├── bot.py # Telegram-бот
├── bootstrap.sh # Bootstrap-установщик
├── install.sh # Полная установка сервера
├── install-panel.sh # Установка только панели
├── install-bot.sh # Установка Telegram-бота
├── mita-ctl.sh # CLI-утилита
├── manage-users.sh # CLI управление пользователями
├── domains.txt # Список доменов для WARP
├── templates/
│ ├── base.html # Базовый шаблон: сайдбар, модалы, toast
│ ├── index.html # SPA: Dashboard, Users, SSL, Security, Bot
│ └── login.html # Страница входа
└── static/
└── qrcode.min.js # QRCode.js (minified)
```
---
## Дорожная карта
### ✅ Версия 1.4 (реализовано)
- [x] Автоматическая установка mita сервера (systemd)
- [x] Интеграция Cloudflare WARP через Docker
- [x] Веб-панель с секретным путём (Flask + Gunicorn, path-based security)
- [x] Тёмная тема, адаптивный UI: Dashboard, Users, SSL, Security
- [x] CRUD пользователей (создание, удаление, список) — авто/ручное/bulk, выбор сложности пароля
- [x] Статистика трафика: день, 7 дней, 30 дней (позиционный парсинг mita get users)
- [x] Онлайн-статус пользователей
- [x] Генерация клиентских конфигов (mieru JSON и sing-box JSON)
- [x] Скачивание конфигов и отображение QR-кодов
- [x] Управление WARP: per-user флаг full_warp, правила доменов/IP, всё/ничего, toggle в UI и боте
- [x] SSL-сертификаты: самоподписной (10 лет) авто при установке, LE через UI, кнопка перезапуска, смена порта
- [x] Переключение режима доступа: IP / SSH-туннель через вкладку SSL в веб-панели
- [x] Автоопределение Telegram ID через API бота при установке (веб-панель, CLI, install.sh)
- [x] Интеграция fail2ban: rate-limiting панели + fail2ban jail (пресеты)
- [x] Управление файрволом (UFW/iptables) через CLI и панель
- [x] Режим SSH-туннеля: панель только на 127.0.0.1
- [x] Ежедневное автообновление списков WARP (cron + dlc.dat v2fly)
- [x] CLI `mita-ctl` — 13 пунктов, смена порта панели, обновление из GitHub, автооткат при ошибке
- [x] CLI `manage-users.sh` — add/remove/list/quota
- [x] Полное удаление всех компонентов (+ self-destruct утилиты)
- [x] Инструкция для клиента Karing (iOS/Android)
- [x] Защита сессий: динамический Secure cookie, in-memory rate limiter
- [x] Bootstrap-установщик (одна команда)
- [x] Мониторинг сервера: CPU, RAM, диск на дашборде (автообновление каждые 2 сек)
- [x] Telegram-бот: inline-меню, user\_ подменю, конфиг/Karing, 4096-char truncate, 100-btn limit
- [x] Установка: веб-панель, CLI, полный установщик; авто-ID через API; venv + зеркала PyPI + fallback на apt
### ⬜ Запланировано
- [ ] Квоты пользователей в веб-панели (бэкенд готов, нужен UI)
- [ ] Per-user egress routing (обход ограничения mita)
- [ ] Поддержка нескольких протоколов (TCP + UDP) — доработка
- [ ] Автоматический импорт конфигов в Karing (упрощение ручной инструкции)
- [ ] Резервное копирование и восстановление конфигурации
- [ ] Уведомления (Telegram-бот / email) при событиях
- [ ] Мультиязычность интерфейса (i18n: RU/EN)
- [ ] API-ключи для внешней интеграции
- [ ] Графики использования трафика (история)
- [ ] Автоматическое обновление mita бинарника
- [ ] Развёртывание панели в Docker
- [ ] Логирование действий администратора (audit log)
---
## Лицензия
Проект разработан **grendervill**. Репозиторий: `https://gt.netbird.mhspx.ru/grendervill/MSWP.git`