From 61bcd4156197f21320ca3fb38736889877f4d5e6 Mon Sep 17 00:00:00 2001 From: savsis Date: Sat, 12 Sep 2026 17:09:19 +0500 Subject: [PATCH] docs: README feature list catches up with tonight's additions, v1.1.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Backup&Restore, multi-admin+2FA, xray config validation, drag-n-drop nodes, and login rate-limiting were all shipped but never made it into the README's feature list. Also switched the README's install command to the mbs.savsis.xyz one-liner to match the landing page (cfac7c1) — kept the raw GitHub clone as a documented alternative, same script either way. Version tag in admin.html bumped to v1.1.0. Co-Authored-By: Claude Sonnet 5 --- README.md | 13 +++++++++++-- admin.html | 2 +- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1836b48..8b225cd 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,8 @@ Сделано by savsis. Изначально писалось под конкретный проект (шеринг VPN среди своих), но получилось достаточно универсально, чтобы выложить как есть. +Лендинг с фичами и честным сравнением с Remnawave/Marzban: **[mbs.savsis.xyz](https://mbs.savsis.xyz)** + ## Что внутри - **Бот** (aiogram 3) — выдача подписок по кнопкам, гифт-коды, привязка тарифов (7 дней / месяц / 3 месяца / полгода / год), автоматическое отключение по истечении подписки (не раз в полчаса, а раз в 90 секунд — важно, чтобы просрочка реально обрывала доступ, а не продолжала работать). @@ -19,7 +21,12 @@ - **Протоколы на выбор при добавлении ноды**: VLESS TCP+Reality, VLESS gRPC+Reality, VLESS XHTTP+Reality, VLESS WS+TLS (с реальным Let's Encrypt сертификатом), Hysteria2 (QUIC, отдельный процесс, obfs). - **Лимит устройств (HWID)** — как у Remnawave, опционально: ограничение числа устройств на подписку через `x-hwid` заголовок. - **Приём оплаты** — ЮKassa и Platega из коробки, опционально; без них бот просто бесплатно выдаёт по кнопке. -- **CLI `mbs`** — управление панелью прямо с сервера: пароль, статус, рестарт, логи. +- **CLI `mbs`** — управление панелью прямо с сервера: пароль, статус, рестарт, логи, обновление. +- **Backup & Restore прямо в админке** — скачал архив (база + `.env`) одной кнопкой, восстановил загрузкой файла. Ни у Remnawave, ни у Marzban такого нет из коробки, только community-скрипты. +- **Мультиадминство + 2FA** — отдельные логины вместо одного пароля на всех, опциональная TOTP-двухфакторка (любой Google Authenticator/Authy) поверх пароля. +- **Проверка конфига Xray перед рестартом** — `xray run -test` плюс проверка что серты реально читаемы юзером, под которым крутится Xray, до того как что-то применится и уронит сервис. +- **Drag-n-drop ноды** — порядок нод в списке настраивается мышкой, как у Remnawave. +- **Rate-limit на вход** — по IP, отдельно на пароль и на 2FA-код. ## Архитектура @@ -96,9 +103,11 @@ sequenceDiagram Нужен чистый сервер на **Ubuntu 22.04/24.04** или **Debian 11/12**, root-доступ и три поднятых DNS A-записи (см. таблицу ниже). ```bash -git clone https://github.com/devsavsis/mbs-panel.git && cd mbs-panel && sudo bash install.sh +bash <(curl -Ls https://mbs.savsis.xyz/install.sh) ``` +(или напрямую с GitHub, если так удобнее: `git clone https://github.com/devsavsis/mbs-panel.git && cd mbs-panel && sudo bash install.sh` — скрипт один и тот же, `mbs.savsis.xyz` просто зеркало с автосинком) + Скрипт спросит домен панели, домен подписки, токен бота от [@BotFather](https://t.me/BotFather) и список Telegram ID админов — и дальше всё сам: ставит зависимости, Xray, nginx, выпускает сертификаты Let's Encrypt, генерирует Reality-ключи, поднимает systemd-сервисы, настраивает firewall (ufw) и fail2ban. В конце покажет пароль от админки и ссылку на панель. ### DNS-записи diff --git a/admin.html b/admin.html index 0d0bde6..76848e4 100644 --- a/admin.html +++ b/admin.html @@ -312,7 +312,7 @@