feat: beautiful UI redesign with icons, colors, and improved UX

 Added:
- Beautiful gradient banner with colors
- Icons for all menu items (🔧 🚀 ⚖️ 🌐 etc)
- Improved color scheme with better contrast
- Enhanced logging with icons (✓ ✗ ⚠ ℹ)
- Better spinner animation
- Structured menu sections with boxes
- Descriptions for all menu items

🎨 Changed:
- Redesigned main menu with sections
- Redesigned install menu with icons
- Redesigned reverse-proxy-manager menu
- Updated banner.sh with gradient effects
- Enhanced visual hierarchy

💅 Improved:
- Better readability with spacing
- Consistent icon usage
- Professional look and feel
- User-friendly interface

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
This commit is contained in:
houseassassin
2026-04-25 10:45:08 +03:00
parent bf0819aea9
commit 7e53b6ca34
3 changed files with 354 additions and 97 deletions
+92 -46
View File
@@ -304,80 +304,126 @@ EOF
# Show configuration tips
show_tips() {
clear
echo -e "${MAGENTA}╔════════════════════════════════════════════════════════════╗${NC}"
echo -e "${MAGENTA}║ Подсказки по настройке Reverse Proxy ║${NC}"
echo -e "${MAGENTA}╚════════════════════════════════════════════════════════════╝${NC}"
echo ""
echo -e "${MAGENTA}╔════════════════════════════════════════════════════════════════════╗${NC}"
echo -e "${MAGENTA}${NC} ${WHITE}💡 Подсказки по настройке Reverse Proxy${NC} ${MAGENTA}${NC}"
echo -e "${MAGENTA}╚════════════════════════════════════════════════════════════════════╝${NC}"
echo ""
echo -e "${CYAN}📌 Nginx${NC}"
echo " ✓ Лучший выбор для высоких нагрузок"
echo " ✓ Отличное кэширование и обработка статики"
echo " ✓ Гибкая конфигурация"
echo " ✗ Требует ручной настройки SSL"
echo -e " ${CYAN}╔═══════════════════════════════════════════════════════════════╗${NC}"
echo -e " ${CYAN}${NC} ${WHITE}🔧 Nginx${NC} ${CYAN}${NC}"
echo -e " ${CYAN}╚═══════════════════════════════════════════════════════════════╝${NC}"
echo -e " ${GREEN}${NC} Лучший выбор для высоких нагрузок"
echo -e " ${GREEN}${NC} Отличное кэширование и обработка статики"
echo -e " ${GREEN}${NC} Гибкая конфигурация"
echo -e " ${RED}${NC} Требует ручной настройки SSL"
echo ""
echo -e "${CYAN}📌 Caddy${NC}"
echo " ✓ Автоматический SSL из коробки"
echo " ✓ Простая конфигурация"
echo " ✓ HTTP/3 поддержка"
echo " ✗ Меньше производительность чем Nginx"
echo -e " ${CYAN}╔═══════════════════════════════════════════════════════════════╗${NC}"
echo -e " ${CYAN}${NC} ${WHITE}🚀 Caddy${NC} ${CYAN}${NC}"
echo -e " ${CYAN}╚═══════════════════════════════════════════════════════════════╝${NC}"
echo -e " ${GREEN}${NC} Автоматический SSL из коробки"
echo -e " ${GREEN}${NC} Простая конфигурация"
echo -e " ${GREEN}${NC} HTTP/3 поддержка"
echo -e " ${RED}${NC} Меньше производительность чем Nginx"
echo ""
echo -e "${CYAN}📌 HAProxy${NC}"
echo " ✓ Лучший для балансировки нагрузки"
echo " ✓ TCP и HTTP режимы"
echo " ✓ Продвинутые health checks"
echo " ✗ Не обрабатывает SSL (нужен Nginx/Caddy)"
echo -e " ${CYAN}╔═══════════════════════════════════════════════════════════════╗${NC}"
echo -e " ${CYAN}${NC} ${WHITE}⚖️ HAProxy${NC} ${CYAN}${NC}"
echo -e " ${CYAN}╚═══════════════════════════════════════════════════════════════╝${NC}"
echo -e " ${GREEN}${NC} Лучший для балансировки нагрузки"
echo -e " ${GREEN}${NC} TCP и HTTP режимы"
echo -e " ${GREEN}${NC} Продвинутые health checks"
echo -e " ${RED}${NC} Не обрабатывает SSL (нужен Nginx/Caddy)"
echo ""
echo -e "${CYAN}📌 Гибридные решения${NC}"
echo " • Nginx + Caddy: статика + автоSSL"
echo " • HAProxy + Nginx: балансировка + кэш"
echo " • Caddy + HAProxy: автоSSL + балансировка"
echo -e " ${CYAN}╔═══════════════════════════════════════════════════════════════╗${NC}"
echo -e " ${CYAN}${NC} ${WHITE}🔄 Гибридные решения${NC} ${CYAN}${NC}"
echo -e " ${CYAN}╚═══════════════════════════════════════════════════════════════╝${NC}"
echo -e " ${BLUE}${NC} Nginx + Caddy: статика + автоSSL"
echo -e " ${BLUE}${NC} HAProxy + Nginx: балансировка + кэш"
echo -e " ${BLUE}${NC} Caddy + HAProxy: автоSSL + балансировка"
echo ""
echo -e "${YELLOW}Рекомендации:${NC}"
echo " 1. Для простых VPN панелей: Caddy"
echo " 2. Для высоких нагрузок: Nginx"
echo " 3. Для кластера серверов: HAProxy + Nginx"
echo " 4. Для максимальной автоматизации: Caddy"
echo -e " ${YELLOW}╔═══════════════════════════════════════════════════════════════╗${NC}"
echo -e " ${YELLOW}${NC} ${WHITE}📋 Рекомендации${NC} ${YELLOW}${NC}"
echo -e " ${YELLOW}╚═══════════════════════════════════════════════════════════════╝${NC}"
echo -e " ${WHITE}1.${NC} Для простых VPN панелей: ${GREEN}Caddy${NC}"
echo -e " ${WHITE}2.${NC} Для высоких нагрузок: ${GREEN}Nginx${NC}"
echo -e " ${WHITE}3.${NC} Для кластера серверов: ${GREEN}HAProxy + Nginx${NC}"
echo -e " ${WHITE}4.${NC} Для максимальной автоматизации: ${GREEN}Caddy${NC}"
echo ""
read -p "Нажмите Enter для продолжения..."
read -p " Нажмите Enter для продолжения..."
}
# Main menu
show_main_menu() {
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
clear
echo -e "${MAGENTA}╔════════════════════════════════════════════════════════════╗${NC}"
echo -e "${MAGENTA}║ Reverse Proxy Manager ║${NC}"
echo -e "${MAGENTA} Version: 2.1.1${NC}"
echo -e "${MAGENTA}╚════════════════════════════════════════════════════════════╝${NC}"
echo ""
echo -e "${CYAN}╔═══════════════════════════════════════════════════════════════════════╗${NC}"
echo -e "${CYAN}${MAGENTA} 🌐 REVERSE PROXY MANAGER ${CYAN}${NC}"
echo -e "${CYAN}${BLUE} Nginx • Caddy • HAProxy ${CYAN}${NC}"
echo -e "${CYAN}╚═══════════════════════════════════════════════════════════════════════╝${NC}"
echo ""
local installed=$(detect_installed_proxies)
echo -e "${CYAN}Установлено:${NC} ${installed:-нет}"
if [ -n "$installed" ]; then
echo -e " ${GREEN}${NC} ${WHITE}Установлено:${NC} ${CYAN}${installed}${NC}"
else
echo -e " ${GRAY}${NC} ${GRAY}Ничего не установлено${NC}"
fi
echo ""
echo -e "${YELLOW}Установка:${NC}"
echo " 1) Установить Nginx"
echo " 2) Установить Caddy"
echo " 3) Установить HAProxy"
echo -e " ${CYAN}╔═══════════════════════════════════════════════════════════════╗${NC}"
echo -e " ${CYAN}${NC} ${WHITE}📦 УСТАНОВКА${NC} ${CYAN}${NC}"
echo -e " ${CYAN}╚═══════════════════════════════════════════════════════════════╝${NC}"
echo ""
echo -e " ${YELLOW}1.${NC} 🔧 ${WHITE}Установить Nginx${NC}"
echo -e " ${GRAY}Высокая производительность и кэширование${NC}"
echo ""
echo -e " ${YELLOW}2.${NC} 🚀 ${WHITE}Установить Caddy${NC}"
echo -e " ${GRAY}Автоматический SSL из коробки${NC}"
echo ""
echo -e " ${YELLOW}3.${NC} ⚖️ ${WHITE}Установить HAProxy${NC}"
echo -e " ${GRAY}Балансировка нагрузки${NC}"
echo ""
echo -e "${YELLOW}Настройка:${NC}"
echo " 4) Настроить Nginx для 3x-ui"
echo " 5) Настроить Caddy для 3x-ui"
echo " 6) Настроить HAProxy (балансировка)"
echo " 7) Настроить Nginx + Caddy (гибрид)"
echo -e " ${CYAN}╔═══════════════════════════════════════════════════════════════╗${NC}"
echo -e " ${CYAN}${NC} ${WHITE}⚙️ НАСТРОЙКА${NC} ${CYAN}${NC}"
echo -e " ${CYAN}╚═══════════════════════════════════════════════════════════════╝${NC}"
echo ""
echo -e " ${YELLOW}4.${NC} 🌐 ${WHITE}Настроить Nginx для 3x-ui${NC}"
echo -e " ${GRAY}Автоматическая настройка с SSL${NC}"
echo ""
echo -e " ${YELLOW}5.${NC} 🔐 ${WHITE}Настроить Caddy для 3x-ui${NC}"
echo -e " ${GRAY}Автоматический HTTPS${NC}"
echo ""
echo -e " ${YELLOW}6.${NC} ⚖️ ${WHITE}Настроить HAProxy (балансировка)${NC}"
echo -e " ${GRAY}Распределение нагрузки между серверами${NC}"
echo ""
echo -e " ${YELLOW}7.${NC} 🔄 ${WHITE}Настроить Nginx + Caddy (гибрид)${NC}"
echo -e " ${GRAY}Статика + автоматический SSL${NC}"
echo ""
echo -e "${YELLOW}Информация:${NC}"
echo " 8) Показать подсказки"
echo " 9) Статус сервисов"
echo -e " ${CYAN}╔═══════════════════════════════════════════════════════════════╗${NC}"
echo -e " ${CYAN}${NC} ${WHITE}️ ИНФОРМАЦИЯ${NC} ${CYAN}${NC}"
echo -e " ${CYAN}╚═══════════════════════════════════════════════════════════════╝${NC}"
echo ""
echo -e " ${YELLOW}8.${NC} 💡 ${WHITE}Показать подсказки${NC}"
echo -e " ${GRAY}Рекомендации по выбору${NC}"
echo ""
echo -e " ${YELLOW}9.${NC} 📊 ${WHITE}Статус сервисов${NC}"
echo -e " ${GRAY}Проверка работы установленных proxy${NC}"
echo ""
echo " 0) Выход"
echo -e " ${GRAY}─────────────────────────────────────────────────────────────────${NC}"
echo ""
echo -e " ${YELLOW}0.${NC} 🚪 ${WHITE}Выход${NC}"
echo ""
echo -e " ${GRAY}─────────────────────────────────────────────────────────────────${NC}"
echo ""
}