diff --git a/README-v2.md b/README-v2.md
new file mode 100644
index 0000000..af43cad
--- /dev/null
+++ b/README-v2.md
@@ -0,0 +1,418 @@
+# 🚀 Proxy-Core
+
+
+
+```
+╔═══════════════════════════════════════════════════════════════════╗
+║ ██████╗ ██████╗ ██████╗ ██╗ ██╗██╗ ██╗ ██████╗ ██████╗ ║
+║ ██╔══██╗██╔══██╗██╔═══██╗╚██╗██╔╝╚██╗ ██╔╝ ██╔════╝██╔═══██╗║
+║ ██████╔╝██████╔╝██║ ██║ ╚███╔╝ ╚████╔╝█████╗██║ ██║ ██║║
+║ ██╔═══╝ ██╔══██╗██║ ██║ ██╔██╗ ╚██╔╝ ╚════╝██║ ██║ ██║║
+║ ██║ ██║ ██║╚██████╔╝██╔╝ ██╗ ██║ ╚██████╗╚██████╔╝║
+║ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ║
+║ ║
+║ Advanced VPN & Proxy Panel Auto-Installer ║
+╚═══════════════════════════════════════════════════════════════════╝
+```
+
+[](https://opensource.org/licenses/MIT)
+[](https://github.com/houseassassin/proxy-core)
+[](https://www.gnu.org/software/bash/)
+[](https://www.docker.com/)
+
+**Универсальный установщик и менеджер VPN/Proxy панелей с поддержкой множества протоколов**
+
+[Установка](#-быстрая-установка) • [Возможности](#-возможности) • [Документация](#-документация) • [Поддержка](#-поддержка)
+
+
+
+---
+
+## 📋 О проекте
+
+**Proxy-Core** — это мощный инструмент для автоматической установки и управления VPN/Proxy панелями. Объединяет лучшие практики из популярных проектов и предоставляет единый интерфейс для работы с различными протоколами.
+
+### 🎯 Поддерживаемые панели
+
+| Панель | Протоколы | Особенности |
+|--------|-----------|-------------|
+| **WireGuard** | WireGuard | Быстрый, современный, безопасный VPN |
+| **3x-ui** | VLESS, VMess, Trojan, Shadowsocks, XTLS | Веб-панель Xray с множеством протоколов |
+| **Remnawave** | Multi-protocol | Современная панель с Docker и reverse proxy |
+| **Hysteria2** | Hysteria2 | Высокоскоростной прокси с маскировкой трафика |
+| **MTProxy** | MTProxy | Официальный прокси для Telegram |
+
+### 🔄 Reverse Proxy
+
+| Сервер | Особенности | Рекомендуется для |
+|--------|-------------|-------------------|
+| **Nginx** | Высокая производительность, стабильность | Production, высокие нагрузки |
+| **Caddy** | Автоматический HTTPS, простая конфигурация | Быстрый старт, малые проекты |
+
+### 💻 Поддерживаемые ОС
+
+
+
+| OS | Версии | Статус |
+|:--:|:------:|:------:|
+| 🐧 **Ubuntu** | 18.04, 20.04, 22.04, 24.04 | ✅ Полная поддержка |
+| 🐧 **Debian** | 10, 11, 12 | ✅ Полная поддержка |
+| 🎩 **CentOS** | 7, 8, 9 | ✅ Полная поддержка |
+| 🎩 **RHEL** | 7, 8, 9 | ✅ Полная поддержка |
+| 🎩 **Fedora** | 35+ | ✅ Полная поддержка |
+
+
+
+---
+
+## ⚡ Быстрая установка
+
+### Метод 1: Одна команда (рекомендуется)
+
+```bash
+bash <(curl -Ls https://raw.githubusercontent.com/houseassassin/proxy-core/main/install-advanced-v2.sh)
+```
+
+### Метод 2: Скачать и запустить
+
+```bash
+wget https://raw.githubusercontent.com/houseassassin/proxy-core/main/install-advanced-v2.sh
+chmod +x install-advanced-v2.sh
+sudo ./install-advanced-v2.sh
+```
+
+### Метод 3: Клонировать репозиторий
+
+```bash
+git clone https://github.com/houseassassin/proxy-core.git
+cd proxy-core
+chmod +x *.sh
+sudo ./install-advanced-v2.sh
+```
+
+---
+
+## 🌟 Возможности
+
+
+
+### 🔧 Автоматизация
+
+
+
+- ✅ **Автоопределение ОС** — автоматическое определение дистрибутива и версии
+- ✅ **Установка зависимостей** — Docker, Docker Compose, certbot и все необходимое
+- ✅ **Генерация паролей** — автоматическая генерация безопасных паролей и ключей
+- ✅ **Настройка firewall** — автоматическая конфигурация UFW/firewalld
+- ✅ **BBR оптимизация** — включение BBR для улучшения производительности TCP
+- ✅ **Swap управление** — автоматическое создание swap при нехватке RAM
+
+
+
+### 🔐 SSL/TLS сертификаты
+
+
+
+- 🔒 **Let's Encrypt** — HTTP-01 challenge для обычных доменов
+- 🔒 **Cloudflare DNS** — DNS-01 challenge с поддержкой wildcard сертификатов
+- 🔒 **Gcore DNS** — альтернативный DNS провайдер
+- 🔒 **Самоподписанные** — для тестирования и локальных сетей
+- 🔒 **Автообновление** — автоматическое обновление сертификатов через cron
+
+
+
+### 🎮 Управление
+
+
+
+- 📊 **Мониторинг** — статус сервисов, использование ресурсов, логи
+- 🔄 **Обновления** — простое обновление всех компонентов
+- 💾 **Резервное копирование** — ручное и автоматическое создание бэкапов
+- 🔄 **Восстановление** — быстрое восстановление из резервных копий
+- 👥 **Управление клиентами** — добавление, удаление, просмотр клиентов WireGuard
+- 📱 **QR-коды** — генерация QR-кодов для мобильных устройств
+
+
+
+### 🎨 Дополнительные функции
+
+
+
+- 🎭 **Selfsteal** — маскировка под обычный сайт
+- 🔄 **Выбор Reverse Proxy** — Nginx или Caddy на выбор
+- 📱 **MTProxy** — официальный прокси для Telegram с QR-кодами
+- 🌍 **Многоязычность** — English + Русский
+- 🎨 **Цветной вывод** — красивый и понятный интерфейс
+- ⚡ **Spinner анимация** — визуализация длительных операций
+
+---
+
+## 📖 Документация
+
+### 🚀 Быстрый старт
+
+#### 1. Установка WireGuard
+
+```bash
+sudo ./install-advanced-v2.sh
+# Выберите: 1 (Install Panel) → 1 (WireGuard)
+```
+
+#### 2. Установка 3x-ui
+
+```bash
+sudo ./install-advanced-v2.sh
+# Выберите: 1 (Install Panel) → 2 (3x-ui)
+```
+
+#### 3. Установка Remnawave с выбором Reverse Proxy
+
+```bash
+sudo ./install-advanced-v2.sh
+# Выберите: 1 (Install Panel) → 3 (Remnawave)
+# Затем выберите: 1 (Nginx) или 2 (Caddy)
+```
+
+#### 4. Установка Hysteria2
+
+```bash
+sudo ./install-advanced-v2.sh
+# Выберите: 1 (Install Panel) → 4 (Hysteria2)
+```
+
+#### 5. Установка MTProxy для Telegram
+
+```bash
+sudo ./install-advanced-v2.sh
+# Выберите: 1 (Install Panel) → 5 (MTProxy)
+```
+
+**Результат:**
+- Прокси для Telegram
+- Ссылка для подключения: `tg://proxy?server=...`
+- QR-код для быстрого подключения
+- Конфигурация: `/opt/MTProxy/`
+
+**Управление:**
+```bash
+sudo ./mtproxy-manager.sh
+```
+
+---
+
+### 🎭 Selfsteal - Маскировка трафика
+
+Selfsteal позволяет замаскировать ваш прокси-сервер под обычный веб-сайт.
+
+#### Установка Selfsteal
+
+```bash
+sudo ./install-advanced-v2.sh
+# Выберите: 6 (Selfsteal)
+```
+
+#### Типы Selfsteal:
+
+**1. Случайный сайт**
+- Автоматически выбирается популярный сайт
+- Wikipedia, GitHub, StackOverflow, Reddit, Medium
+
+**2. Пользовательский URL**
+- Укажите любой URL
+- Скрипт скачает и настроит страницу
+
+**3. Локальный HTML файл**
+- Используйте свой HTML файл
+- Полный контроль над содержимым
+
+#### Как это работает:
+
+1. При обращении к серверу по HTTP показывается обычный сайт
+2. Прокси работает на других портах/протоколах
+3. Для внешнего наблюдателя сервер выглядит как обычный веб-сайт
+
+---
+
+### 🔄 Reverse Proxy - Nginx vs Caddy
+
+#### Когда использовать Nginx:
+
+✅ **Production окружение**
+- Высокие нагрузки (1000+ одновременных подключений)
+- Требуется максимальная производительность
+- Нужна гибкая конфигурация
+- Есть опыт работы с Nginx
+
+#### Когда использовать Caddy:
+
+✅ **Быстрый старт**
+- Автоматический HTTPS из коробки
+- Простая конфигурация
+- Малые и средние проекты
+- Нет опыта с веб-серверами
+
+#### Сравнение:
+
+| Функция | Nginx | Caddy |
+|---------|-------|-------|
+| Производительность | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
+| Простота настройки | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
+| Автоматический HTTPS | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
+| Гибкость | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
+| Документация | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
+
+---
+
+### 📱 MTProxy Management
+
+#### Показать ссылку подключения
+
+```bash
+sudo ./mtproxy-manager.sh
+# Выберите: 1 (Показать ссылку подключения)
+```
+
+Получите:
+- Ссылку для Telegram: `tg://proxy?server=...`
+- QR-код для быстрого подключения
+- Параметры для ручной настройки
+
+#### Сгенерировать новый секрет
+
+```bash
+sudo ./mtproxy-manager.sh
+# Выберите: 2 (Сгенерировать новый секрет)
+```
+
+⚠️ **Внимание:** Все текущие подключения будут разорваны!
+
+#### Изменить порт
+
+```bash
+sudo ./mtproxy-manager.sh
+# Выберите: 3 (Изменить порт)
+```
+
+#### Обновить конфигурацию Telegram
+
+```bash
+sudo ./mtproxy-manager.sh
+# Выберите: 4 (Обновить конфигурацию)
+```
+
+Обновляет:
+- `proxy-secret` - секреты Telegram
+- `proxy-multi.conf` - конфигурация серверов
+
+#### Показать статистику
+
+```bash
+sudo ./mtproxy-manager.sh
+# Выберите: 5 (Показать статистику)
+```
+
+Показывает:
+- Статус сервиса
+- Использование CPU и RAM
+- Количество активных подключений
+
+---
+
+## 🔒 Безопасность
+
+### ✅ Рекомендации после установки
+
+1. **Смените пароли по умолчанию**
+2. **Настройте firewall**
+3. **Включите автообновления**
+4. **Установите fail2ban**
+5. **Настройте регулярные бэкапы**
+6. **Используйте Selfsteal для маскировки**
+7. **Мониторинг логов**
+
+Подробнее в [SECURITY.md](docs/SECURITY.md).
+
+---
+
+## 📊 Структура проекта
+
+```
+proxy-core/
+├── 📄 install-advanced-v2.sh # Основной установщик v2.1
+├── 📄 install-advanced.sh # Установщик v2.0
+├── 🎮 manage.sh # Менеджер панелей
+├── 🔧 wg-manager.sh # WireGuard менеджер
+├── 📱 mtproxy-manager.sh # MTProxy менеджер
+├── 🔄 update.sh # Обновление
+├── 🎨 banner.sh # ASCII баннер
+├── 📖 README.md # Документация
+├── 📖 CONTRIBUTING.md # Руководство для участников
+├── 📖 PUBLISH.md # Инструкция по публикации
+└── 📜 LICENSE # MIT License
+```
+
+---
+
+## 🤝 Благодарности
+
+Проект основан на лучших практиках из:
+
+- [3dp-manager](https://github.com/denpiligrim/3dp-manager) - Docker management, Hysteria2
+- [remnawave-reverse-proxy](https://github.com/eGamesAPI/remnawave-reverse-proxy) - SSL, multi-language
+- [remnawave-scripts](https://github.com/DigneZzZ/remnawave-scripts) - Backup system
+- [RemnaSetup](https://github.com/Capybara-z/RemnaSetup) - Beautiful UI, selfsteal
+
+Огромное спасибо авторам! 🙏
+
+---
+
+## 📝 Лицензия
+
+MIT License - свободное использование и модификация
+
+---
+
+## 💬 Поддержка
+
+- **GitHub Issues:** [github.com/houseassassin/proxy-core/issues](https://github.com/houseassassin/proxy-core/issues)
+- **Telegram:** [@houseassassin](https://t.me/houseassassin)
+
+---
+
+## 🔄 Changelog
+
+### Version 2.1.0 (2026-04-22)
+
+✨ **Новое:**
+- 📱 Поддержка MTProxy для Telegram
+- 🔄 Выбор Reverse Proxy (Nginx/Caddy)
+- 🎭 Selfsteal - маскировка под обычный сайт
+- 📱 QR-коды для MTProxy
+- 🎮 Менеджер MTProxy
+
+🔧 **Улучшения:**
+- Интерактивный выбор компонентов
+- Улучшенная система меню
+- Больше опций конфигурации
+
+### Version 2.0.0 (2026-04-22)
+
+✨ **Новое:**
+- Поддержка Hysteria2
+- Улучшенное управление SSL (3 метода)
+- Автоматическая настройка BBR
+- Многоязычный интерфейс (EN/RU)
+- Spinner анимация
+- Система логирования
+
+---
+
+
+
+### 💖 Сделано с любовью by [houseassassin](https://github.com/houseassassin)
+
+**Если проект помог вам, поставьте ⭐ звезду!**
+
+[⬆ Наверх](#-proxy-core)
+
+
diff --git a/install-advanced-v2.sh b/install-advanced-v2.sh
new file mode 100755
index 0000000..b5d7da3
--- /dev/null
+++ b/install-advanced-v2.sh
@@ -0,0 +1,561 @@
+#!/bin/bash
+
+# Proxy-Core - Advanced VPN & Proxy Panel Auto-Installer
+# Version: 2.1.0
+# Author: houseassassin
+# GitHub: https://github.com/houseassassin/proxy-core
+#
+# Supports: WireGuard, 3x-ui, Remnawave, Hysteria2, MTProxy
+# Reverse Proxy: Nginx, Caddy
+# Features: Selfsteal templates
+
+set -euo pipefail
+
+SCRIPT_VERSION="2.1.0"
+PROJECT_DIR="/opt/proxy-core"
+LANG_FILE="${PROJECT_DIR}/.selected_language"
+
+# Colors
+RED='\033[0;31m'
+GREEN='\033[0;32m'
+YELLOW='\033[1;33m'
+BLUE='\033[0;34m'
+MAGENTA='\033[0;35m'
+CYAN='\033[0;36m'
+GRAY='\033[0;90m'
+NC='\033[0m'
+
+# Logging
+LOGFILE="${PROJECT_DIR}/installer.log"
+
+log() { echo -e "${GREEN}[INFO]${NC} $1" | tee -a "$LOGFILE"; }
+warn() { echo -e "${YELLOW}[WARN]${NC} $1" | tee -a "$LOGFILE"; }
+error() { echo -e "${RED}[ERROR]${NC} $1" | tee -a "$LOGFILE"; exit 1; }
+success() { echo -e "${GREEN}[SUCCESS]${NC} $1" | tee -a "$LOGFILE"; }
+
+# Spinner animation
+spinner() {
+ local pid=$1
+ local text=$2
+ local spinstr='⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏'
+
+ while kill -0 "$pid" 2>/dev/null; do
+ for (( i=0; i<${#spinstr}; i++ )); do
+ printf "\r${GREEN}[%s]${NC} %s" "${spinstr:$i:1}" "$text"
+ sleep 0.1
+ done
+ done
+ printf "\r\033[K"
+}
+
+# Language support
+declare -A LANG_EN=(
+ [MENU_TITLE]="VPN Panel Installer"
+ [MENU_INSTALL]="Install Panel"
+ [MENU_MANAGE]="Manage Services"
+ [MENU_BACKUP]="Backup & Restore"
+ [MENU_UPDATE]="Update Components"
+ [MENU_UNINSTALL]="Uninstall"
+ [MENU_EXIT]="Exit"
+ [SELECT_PANEL]="Select panel to install"
+ [WIREGUARD]="WireGuard VPN"
+ [3XUI]="3x-ui Panel"
+ [REMNAWAVE]="Remnawave Panel"
+ [HYSTERIA2]="Hysteria2 Proxy"
+ [MTPROXY]="MTProxy (Telegram)"
+ [SELECT_REVERSE_PROXY]="Select Reverse Proxy"
+ [NGINX]="Nginx"
+ [CADDY]="Caddy"
+ [SELFSTEAL]="Install Selfsteal Template"
+ [ALL]="Install All"
+)
+
+declare -A LANG_RU=(
+ [MENU_TITLE]="Установщик VPN панелей"
+ [MENU_INSTALL]="Установить панель"
+ [MENU_MANAGE]="Управление сервисами"
+ [MENU_BACKUP]="Резервное копирование"
+ [MENU_UPDATE]="Обновить компоненты"
+ [MENU_UNINSTALL]="Удалить"
+ [MENU_EXIT]="Выход"
+ [SELECT_PANEL]="Выберите панель для установки"
+ [WIREGUARD]="WireGuard VPN"
+ [3XUI]="Панель 3x-ui"
+ [REMNAWAVE]="Панель Remnawave"
+ [HYSTERIA2]="Прокси Hysteria2"
+ [MTPROXY]="MTProxy (Telegram)"
+ [SELECT_REVERSE_PROXY]="Выберите Reverse Proxy"
+ [NGINX]="Nginx"
+ [CADDY]="Caddy"
+ [SELFSTEAL]="Установить Selfsteal шаблон"
+ [ALL]="Установить всё"
+)
+
+MENU_LANG="en"
+
+load_language() {
+ if [ -f "$LANG_FILE" ]; then
+ MENU_LANG=$(cat "$LANG_FILE" 2>/dev/null | tr -d '[:space:]')
+ fi
+}
+
+save_language() {
+ mkdir -p "$(dirname "$LANG_FILE")"
+ echo "$1" > "$LANG_FILE"
+ MENU_LANG="$1"
+}
+
+L() {
+ local key="$1"
+ local var_name="LANG_${MENU_LANG^^}_${key}"
+ echo "${!var_name:-$key}"
+}
+
+# System checks
+check_root() {
+ if [[ $EUID -ne 0 ]]; then
+ error "Этот скрипт должен быть запущен с правами root"
+ fi
+}
+
+detect_os() {
+ if [ -f /etc/os-release ]; then
+ . /etc/os-release
+ OS=$ID
+ VER=$VERSION_ID
+ else
+ error "Не удалось определить операционную систему"
+ fi
+ log "Обнаружена ОС: $OS $VER"
+}
+
+check_memory() {
+ local mem_mb=$(free -m | grep Mem: | awk '{print $2}')
+ if [ $mem_mb -lt 2000 ]; then
+ local swap_mb=$(free -m | grep Swap: | awk '{print $2}')
+ if [ $swap_mb -eq 0 ]; then
+ warn "Мало RAM ($mem_mb MB), создаём swap 2GB..."
+ fallocate -l 2G /swapfile || dd if=/dev/zero of=/swapfile bs=1M count=2048
+ chmod 600 /swapfile
+ mkswap /swapfile
+ swapon /swapfile
+ echo '/swapfile none swap sw 0 0' >> /etc/fstab
+ success "Swap создан"
+ fi
+ fi
+}
+
+# Network utilities
+get_server_ip() {
+ curl -s -4 ifconfig.me || curl -s -4 api.ipify.org || curl -s -4 ipinfo.io/ip
+}
+
+get_random_port() {
+ local MIN=${1:-3000}
+ local MAX=${2:-6999}
+
+ while :; do
+ PORT=$(shuf -i "$MIN-$MAX" -n 1)
+ if ! ss -ltun | awk '{print $4}' | grep -q ":$PORT\$"; then
+ echo "$PORT"
+ return
+ fi
+ done
+}
+
+# Docker management
+install_docker() {
+ if command -v docker >/dev/null 2>&1 && docker info >/dev/null 2>&1; then
+ log "Docker уже установлен"
+ return 0
+ fi
+
+ log "Установка Docker..."
+ curl -fsSL https://get.docker.com -o /tmp/get-docker.sh
+ sh /tmp/get-docker.sh
+ rm /tmp/get-docker.sh
+
+ systemctl enable docker
+ systemctl start docker
+
+ success "Docker установлен"
+}
+
+# System packages
+install_packages() {
+ log "Установка системных пакетов..."
+
+ case $OS in
+ ubuntu|debian)
+ apt-get update -y
+ apt-get install -y curl wget git sudo ufw certbot \
+ ca-certificates jq openssl tar net-tools \
+ qrencode python3-certbot-dns-cloudflare \
+ unattended-upgrades locales dnsutils coreutils \
+ grep gawk python3-pip cron nginx
+ ;;
+ centos|rhel|fedora)
+ yum update -y
+ yum install -y curl wget git sudo firewalld certbot \
+ ca-certificates jq openssl tar net-tools qrencode nginx
+ ;;
+ esac
+
+ # BBR
+ if ! grep -q "net.core.default_qdisc = fq" /etc/sysctl.conf; then
+ echo "net.core.default_qdisc = fq" >> /etc/sysctl.conf
+ fi
+ if ! grep -q "net.ipv4.tcp_congestion_control = bbr" /etc/sysctl.conf; then
+ echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf
+ fi
+ sysctl -p >/dev/null
+
+ # UFW
+ if command -v ufw >/dev/null 2>&1; then
+ ufw allow 22/tcp comment 'SSH' >/dev/null 2>&1
+ ufw allow 443/tcp comment 'HTTPS' >/dev/null 2>&1
+ ufw --force enable >/dev/null 2>&1
+ fi
+
+ success "Системные пакеты установлены"
+}
+
+# MTProxy installation
+install_mtproxy() {
+ log "Установка MTProxy для Telegram..."
+
+ # Установка зависимостей
+ case $OS in
+ ubuntu|debian)
+ apt-get install -y git build-essential libssl-dev zlib1g-dev
+ ;;
+ centos|rhel|fedora)
+ yum install -y git gcc make openssl-devel zlib-devel
+ ;;
+ esac
+
+ # Клонирование репозитория
+ cd /opt
+ if [ -d "MTProxy" ]; then
+ rm -rf MTProxy
+ fi
+ git clone https://github.com/TelegramMessenger/MTProxy.git
+ cd MTProxy
+
+ # Компиляция
+ make
+
+ # Получение секрета
+ curl -s https://core.telegram.org/getProxySecret -o proxy-secret
+ curl -s https://core.telegram.org/getProxyConfig -o proxy-multi.conf
+
+ # Генерация секрета для клиентов
+ SECRET=$(head -c 16 /dev/urandom | xxd -ps)
+
+ # Выбор порта
+ read -p "Введите порт для MTProxy (по умолчанию 8443): " MTPROXY_PORT
+ MTPROXY_PORT=${MTPROXY_PORT:-8443}
+
+ # Создание systemd сервиса
+ cat > /etc/systemd/system/mtproxy.service </dev/null || firewall-cmd --permanent --add-port=$MTPROXY_PORT/tcp 2>/dev/null
+
+ SERVER_IP=$(get_server_ip)
+
+ success "MTProxy установлен!"
+ echo ""
+ log "Ссылка для подключения:"
+ echo -e "${CYAN}tg://proxy?server=${SERVER_IP}&port=${MTPROXY_PORT}&secret=${SECRET}${NC}"
+ echo ""
+ log "Или используйте в Telegram:"
+ echo -e "${YELLOW}Server: ${SERVER_IP}${NC}"
+ echo -e "${YELLOW}Port: ${MTPROXY_PORT}${NC}"
+ echo -e "${YELLOW}Secret: ${SECRET}${NC}"
+}
+
+# Reverse Proxy selection
+select_reverse_proxy() {
+ echo ""
+ echo -e "${GREEN}$(L SELECT_REVERSE_PROXY)${NC}"
+ echo ""
+ echo -e "${YELLOW}1.${NC} $(L NGINX)"
+ echo -e "${YELLOW}2.${NC} $(L CADDY)"
+ echo ""
+ read -p "Выберите / Select [1-2]: " PROXY_CHOICE
+
+ case $PROXY_CHOICE in
+ 1)
+ REVERSE_PROXY="nginx"
+ install_nginx
+ ;;
+ 2)
+ REVERSE_PROXY="caddy"
+ install_caddy
+ ;;
+ *)
+ warn "Неверный выбор, используется Nginx"
+ REVERSE_PROXY="nginx"
+ install_nginx
+ ;;
+ esac
+}
+
+# Nginx installation
+install_nginx() {
+ if command -v nginx >/dev/null 2>&1; then
+ log "Nginx уже установлен"
+ return 0
+ fi
+
+ log "Установка Nginx..."
+
+ case $OS in
+ ubuntu|debian)
+ apt-get install -y nginx
+ ;;
+ centos|rhel|fedora)
+ yum install -y nginx
+ ;;
+ esac
+
+ systemctl enable nginx
+ systemctl start nginx
+
+ success "Nginx установлен"
+}
+
+# Caddy installation
+install_caddy() {
+ if command -v caddy >/dev/null 2>&1; then
+ log "Caddy уже установлен"
+ return 0
+ fi
+
+ log "Установка Caddy..."
+
+ case $OS in
+ ubuntu|debian)
+ apt-get install -y debian-keyring debian-archive-keyring apt-transport-https
+ curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
+ curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
+ apt-get update
+ apt-get install -y caddy
+ ;;
+ centos|rhel|fedora)
+ yum install -y yum-plugin-copr
+ yum copr enable @caddy/caddy -y
+ yum install -y caddy
+ ;;
+ esac
+
+ systemctl enable caddy
+ systemctl start caddy
+
+ success "Caddy установлен"
+}
+
+# Selfsteal template installation
+install_selfsteal() {
+ log "Установка Selfsteal шаблона..."
+
+ if [ ! -d "/opt/remnawave" ] && [ ! -d "/opt/remnanode" ]; then
+ error "Remnawave или Remnanode должны быть установлены для selfsteal"
+ fi
+
+ # Определяем директорию
+ if [ -d "/opt/remnawave" ]; then
+ INSTALL_DIR="/opt/remnawave"
+ else
+ INSTALL_DIR="/opt/remnanode"
+ fi
+
+ echo ""
+ echo -e "${GREEN}Выберите тип selfsteal шаблона:${NC}"
+ echo ""
+ echo -e "${YELLOW}1.${NC} Случайный сайт"
+ echo -e "${YELLOW}2.${NC} Пользовательский URL"
+ echo -e "${YELLOW}3.${NC} Локальный HTML файл"
+ echo ""
+ read -p "Выберите [1-3]: " SELFSTEAL_TYPE
+
+ case $SELFSTEAL_TYPE in
+ 1)
+ # Список популярных сайтов
+ SITES=(
+ "https://www.wikipedia.org"
+ "https://www.github.com"
+ "https://www.stackoverflow.com"
+ "https://www.reddit.com"
+ "https://www.medium.com"
+ )
+ RANDOM_SITE=${SITES[$RANDOM % ${#SITES[@]}]}
+ log "Используется случайный сайт: $RANDOM_SITE"
+
+ # Скачиваем страницу
+ curl -sL "$RANDOM_SITE" > "$INSTALL_DIR/selfsteal.html"
+ ;;
+ 2)
+ read -p "Введите URL сайта: " CUSTOM_URL
+ log "Скачивание $CUSTOM_URL..."
+ curl -sL "$CUSTOM_URL" > "$INSTALL_DIR/selfsteal.html"
+ ;;
+ 3)
+ read -p "Введите путь к HTML файлу: " HTML_PATH
+ if [ -f "$HTML_PATH" ]; then
+ cp "$HTML_PATH" "$INSTALL_DIR/selfsteal.html"
+ else
+ error "Файл не найден: $HTML_PATH"
+ fi
+ ;;
+ *)
+ warn "Неверный выбор"
+ return 1
+ ;;
+ esac
+
+ # Настройка Nginx для selfsteal
+ if [ "$REVERSE_PROXY" = "nginx" ]; then
+ cat > /etc/nginx/sites-available/selfsteal < /dev/null; then
+ log "QR-код для быстрого подключения:"
+ qrencode -t ansiutf8 "tg://proxy?server=${SERVER_IP}&port=${MTPROXY_PORT}&secret=${SECRET}"
+ fi
+}
+
+regenerate_secret() {
+ check_installed
+
+ warn "Это изменит секрет и все текущие подключения будут разорваны!"
+ read -p "Продолжить? (y/N): " confirm
+
+ if [[ "$confirm" != "y" && "$confirm" != "Y" ]]; then
+ log "Отменено"
+ return 0
+ fi
+
+ NEW_SECRET=$(head -c 16 /dev/urandom | xxd -ps)
+
+ # Обновляем конфигурацию
+ sed -i "s/SECRET=.*/SECRET=$NEW_SECRET/" "$MTPROXY_DIR/.config"
+
+ # Перезапускаем сервис
+ systemctl restart mtproxy
+
+ success "Новый секрет сгенерирован: $NEW_SECRET"
+ get_connection_link
+}
+
+change_port() {
+ check_installed
+
+ read -p "Введите новый порт: " NEW_PORT
+
+ if [ -z "$NEW_PORT" ]; then
+ error "Порт не может быть пустым"
+ return 1
+ fi
+
+ # Проверяем, что порт свободен
+ if ss -ltun | grep -q ":$NEW_PORT "; then
+ error "Порт $NEW_PORT уже используется"
+ return 1
+ fi
+
+ # Обновляем конфигурацию
+ sed -i "s/MTPROXY_PORT=.*/MTPROXY_PORT=$NEW_PORT/" "$MTPROXY_DIR/.config"
+
+ # Обновляем systemd сервис
+ source "$MTPROXY_DIR/.config"
+
+ cat > /etc/systemd/system/mtproxy.service </dev/null
+ ufw allow $NEW_PORT/tcp 2>/dev/null
+
+ success "Порт изменен на $NEW_PORT"
+ get_connection_link
+}
+
+update_config() {
+ check_installed
+
+ log "Обновление конфигурации Telegram..."
+
+ cd "$MTPROXY_DIR"
+ curl -s https://core.telegram.org/getProxySecret -o proxy-secret
+ curl -s https://core.telegram.org/getProxyConfig -o proxy-multi.conf
+
+ systemctl restart mtproxy
+
+ success "Конфигурация обновлена"
+}
+
+show_stats() {
+ check_installed
+
+ echo ""
+ log "Статистика MTProxy:"
+ echo ""
+
+ # Статус сервиса
+ if systemctl is-active --quiet mtproxy; then
+ echo -e "${GREEN}Статус: Работает${NC}"
+ else
+ echo -e "${RED}Статус: Остановлен${NC}"
+ fi
+
+ # Использование ресурсов
+ echo ""
+ log "Использование ресурсов:"
+ ps aux | grep mtproto-proxy | grep -v grep | awk '{printf "CPU: %s%% | RAM: %s MB\n", $3, $6/1024}'
+
+ # Количество подключений
+ echo ""
+ log "Активные подключения:"
+ ss -tn | grep -c ":$(source $MTPROXY_DIR/.config && echo $MTPROXY_PORT) " || echo "0"
+
+ echo ""
+}
+
+show_logs() {
+ check_installed
+
+ echo ""
+ log "Последние 50 строк логов:"
+ echo ""
+ journalctl -u mtproxy -n 50 --no-pager
+ echo ""
+ read -p "Нажмите Enter для продолжения..."
+}
+
+uninstall_mtproxy() {
+ check_installed
+
+ warn "Это полностью удалит MTProxy!"
+ read -p "Продолжить? (y/N): " confirm
+
+ if [[ "$confirm" != "y" && "$confirm" != "Y" ]]; then
+ log "Отменено"
+ return 0
+ fi
+
+ # Остановка и удаление сервиса
+ systemctl stop mtproxy
+ systemctl disable mtproxy
+ rm -f /etc/systemd/system/mtproxy.service
+ systemctl daemon-reload
+
+ # Удаление файлов
+ rm -rf "$MTPROXY_DIR"
+
+ # Удаление правила firewall
+ source "$MTPROXY_DIR/.config" 2>/dev/null
+ ufw delete allow $MTPROXY_PORT/tcp 2>/dev/null
+
+ success "MTProxy удален"
+ exit 0
+}
+
+main_menu() {
+ while true; do
+ clear
+ echo -e "${BLUE}╔════════════════════════════════════════╗${NC}"
+ echo -e "${BLUE}║ MTProxy Management ║${NC}"
+ echo -e "${BLUE}╚════════════════════════════════════════╝${NC}"
+ echo ""
+ echo -e "${YELLOW}1.${NC} Показать ссылку подключения"
+ echo -e "${YELLOW}2.${NC} Сгенерировать новый секрет"
+ echo -e "${YELLOW}3.${NC} Изменить порт"
+ echo -e "${YELLOW}4.${NC} Обновить конфигурацию Telegram"
+ echo -e "${YELLOW}5.${NC} Показать статистику"
+ echo -e "${YELLOW}6.${NC} Показать логи"
+ echo -e "${YELLOW}7.${NC} Перезапустить сервис"
+ echo -e "${YELLOW}8.${NC} Удалить MTProxy"
+ echo -e "${YELLOW}0.${NC} Выход"
+ echo ""
+ read -p "Выберите опцию: " choice
+
+ case $choice in
+ 1)
+ get_connection_link
+ read -p "Нажмите Enter..."
+ ;;
+ 2)
+ regenerate_secret
+ read -p "Нажмите Enter..."
+ ;;
+ 3)
+ change_port
+ read -p "Нажмите Enter..."
+ ;;
+ 4)
+ update_config
+ read -p "Нажмите Enter..."
+ ;;
+ 5)
+ show_stats
+ read -p "Нажмите Enter..."
+ ;;
+ 6)
+ show_logs
+ ;;
+ 7)
+ systemctl restart mtproxy
+ success "MTProxy перезапущен"
+ sleep 2
+ ;;
+ 8)
+ uninstall_mtproxy
+ ;;
+ 0)
+ log "Выход"
+ exit 0
+ ;;
+ *)
+ warn "Неверный выбор"
+ sleep 1
+ ;;
+ esac
+ done
+}
+
+# Check root
+if [[ $EUID -ne 0 ]]; then
+ error "Этот скрипт должен быть запущен с правами root"
+ exit 1
+fi
+
+main_menu