118 lines
6.6 KiB
Markdown
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`
|