deee59ddba
- templates/index.html: вкладка SSL — замена самоподписного сертификата на SSH-туннель, авто-ID при установке бота - app.py: API /api/panel/access (get/set ip/ssh), /api/bot/detect-id, правка парсинга трафика - bot.py: позиционный парсинг mita get users (8 колонок) - install.sh, mita-ctl.sh: автоопределение Telegram ID через getUpdates API, исправлен unbound variable BOLD, SCRIPT_DIR - install-panel.sh: копирование bot.py и install-bot.sh в /opt/mita-panel/ - README: обновлена дорожная карта
118 lines
6.5 KiB
Markdown
118 lines
6.5 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.2 (реализовано)
|
|
|
|
- [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 на пользователя (toggle + правила: домены, IP, geosite, geoip, URL источники)
|
|
- [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` — интерактивное меню (10+ функций)
|
|
- [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-бот: создание/удаление пользователей, трафик, WARP, мониторинг CPU/RAM/диск
|
|
- [x] Установка бота через веб-панель, CLI и полный установщик
|
|
|
|
### ⬜ Запланировано
|
|
|
|
- [ ] Квоты пользователей в веб-панели (бэкенд готов, нужен 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`
|