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
+119 -30
View File
@@ -15,7 +15,7 @@ SCRIPT_VERSION="2.1.1"
PROJECT_DIR="/opt/proxy-core"
LANG_FILE="${PROJECT_DIR}/.selected_language"
# Colors
# Colors and styles
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
@@ -23,32 +23,61 @@ BLUE='\033[0;34m'
MAGENTA='\033[0;35m'
CYAN='\033[0;36m'
GRAY='\033[0;90m'
WHITE='\033[1;37m'
NC='\033[0m'
# Styles
BOLD='\033[1m'
DIM='\033[2m'
UNDERLINE='\033[4m'
BLINK='\033[5m'
# Background colors
BG_RED='\033[41m'
BG_GREEN='\033[42m'
BG_BLUE='\033[44m'
BG_MAGENTA='\033[45m'
BG_CYAN='\033[46m'
# Create project directory first
mkdir -p "$PROJECT_DIR"
# 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"; }
log() {
echo -e " ${CYAN}${NC} ${WHITE}$1${NC}"
echo "[$(date '+%Y-%m-%d %H:%M:%S')] [INFO] $1" >> "$LOGFILE" 2>/dev/null
}
warn() {
echo -e " ${YELLOW}${NC} ${YELLOW}$1${NC}"
echo "[$(date '+%Y-%m-%d %H:%M:%S')] [WARN] $1" >> "$LOGFILE" 2>/dev/null
}
error() {
echo -e " ${RED}${NC} ${RED}$1${NC}"
echo "[$(date '+%Y-%m-%d %H:%M:%S')] [ERROR] $1" >> "$LOGFILE" 2>/dev/null
}
success() {
echo -e " ${GREEN}${NC} ${GREEN}$1${NC}"
echo "[$(date '+%Y-%m-%d %H:%M:%S')] [SUCCESS] $1" >> "$LOGFILE" 2>/dev/null
}
# Spinner animation
spinner() {
local pid=$1
local text=$2
local spinstr='⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏'
local frames=("⠋" "⠙" "⠹" "⠸" "⠼" "⠴" "⠦" "⠧" "⠇" "⠏")
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"
for frame in "${frames[@]}"; do
printf "\r ${CYAN}${frame}${NC} ${WHITE}%s${NC}" "$text"
sleep 0.1
done
done
printf "\r\033[K"
printf "\r ${GREEN}${NC} ${WHITE}%s${NC}\n" "$text"
}
# Language support
@@ -631,34 +660,94 @@ EOF
# Main menu
show_main_menu() {
clear
echo -e "${MAGENTA}╔════════════════════════════════════════╗${NC}"
echo -e "${MAGENTA}$(L MENU_TITLE)${NC}"
echo -e "${MAGENTA}║ Version: ${SCRIPT_VERSION}${NC}"
echo -e "${MAGENTA}╚════════════════════════════════════════╝${NC}"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Source banner
if [ -f "$SCRIPT_DIR/banner.sh" ]; then
source "$SCRIPT_DIR/banner.sh"
show_gradient_banner
else
clear
echo -e "${MAGENTA}╔════════════════════════════════════════╗${NC}"
echo -e "${MAGENTA}║ 🚀 Proxy-Core Installer ║${NC}"
echo -e "${MAGENTA}║ Version: ${SCRIPT_VERSION}${NC}"
echo -e "${MAGENTA}╚════════════════════════════════════════╝${NC}"
echo ""
fi
echo -e " ${CYAN}╔═══════════════════════════════════════════════════════════════╗${NC}"
echo -e " ${CYAN}${NC} ${WHITE}📦 УСТАНОВКА${NC} ${CYAN}${NC}"
echo -e " ${CYAN}╚═══════════════════════════════════════════════════════════════╝${NC}"
echo ""
echo -e "${YELLOW}1.${NC} $(L MENU_INSTALL)"
echo -e "${YELLOW}2.${NC} $(L MENU_MANAGE)"
echo -e "${YELLOW}3.${NC} $(L MENU_BACKUP)"
echo -e "${YELLOW}4.${NC} $(L MENU_UPDATE)"
echo -e "${YELLOW}5.${NC} $(L MENU_UNINSTALL)"
echo -e "${YELLOW}6.${NC} $(L SELFSTEAL)"
echo -e "${YELLOW}9.${NC} Сменить язык / Change language"
echo -e "${YELLOW}0.${NC} $(L MENU_EXIT)"
echo -e " ${YELLOW}1.${NC} 🔧 ${WHITE}Установить панель${NC}"
echo -e " ${GRAY}WireGuard, 3x-ui, Remnawave, Hysteria2, MTProxy${NC}"
echo ""
echo -e " ${CYAN}╔═══════════════════════════════════════════════════════════════╗${NC}"
echo -e " ${CYAN}${NC} ${WHITE}⚙️ УПРАВЛЕНИЕ${NC} ${CYAN}${NC}"
echo -e " ${CYAN}╚═══════════════════════════════════════════════════════════════╝${NC}"
echo ""
echo -e " ${YELLOW}2.${NC} 🎮 ${WHITE}Управление сервисами${NC}"
echo -e " ${GRAY}Запуск, остановка, перезапуск панелей${NC}"
echo ""
echo -e " ${YELLOW}3.${NC} 💾 ${WHITE}Резервное копирование${NC}"
echo -e " ${GRAY}Создание и восстановление бэкапов${NC}"
echo ""
echo -e " ${YELLOW}4.${NC} 🔄 ${WHITE}Обновить компоненты${NC}"
echo -e " ${GRAY}Обновление установленных панелей${NC}"
echo ""
echo -e " ${CYAN}╔═══════════════════════════════════════════════════════════════╗${NC}"
echo -e " ${CYAN}${NC} ${WHITE}🌐 ДОПОЛНИТЕЛЬНО${NC} ${CYAN}${NC}"
echo -e " ${CYAN}╚═══════════════════════════════════════════════════════════════╝${NC}"
echo ""
echo -e " ${YELLOW}5.${NC} 🗑️ ${WHITE}Удалить панель${NC}"
echo -e " ${GRAY}Полное удаление установленных компонентов${NC}"
echo ""
echo -e " ${YELLOW}6.${NC} 🎭 ${WHITE}Установить Selfsteal${NC}"
echo -e " ${GRAY}Маскировка трафика под обычный сайт${NC}"
echo ""
echo -e " ${YELLOW}7.${NC} 🌐 ${WHITE}Настроить Reverse Proxy${NC}"
echo -e " ${GRAY}Nginx, Caddy, HAProxy - установка и настройка${NC}"
echo ""
echo -e " ${GRAY}─────────────────────────────────────────────────────────────────${NC}"
echo ""
echo -e " ${YELLOW}9.${NC} 🌍 ${WHITE}Сменить язык / Change language${NC}"
echo -e " ${YELLOW}0.${NC} 🚪 ${WHITE}Выход / Exit${NC}"
echo ""
echo -e " ${GRAY}─────────────────────────────────────────────────────────────────${NC}"
echo ""
}
show_install_menu() {
clear
echo -e "${GREEN}$(L SELECT_PANEL)${NC}"
echo ""
echo -e "${YELLOW}1.${NC} $(L WIREGUARD)"
echo -e "${YELLOW}2.${NC} $(L 3XUI)"
echo -e "${YELLOW}3.${NC} $(L REMNAWAVE)"
echo -e "${YELLOW}4.${NC} $(L HYSTERIA2)"
echo -e "${YELLOW}5.${NC} $(L MTPROXY)"
echo -e "${YELLOW}6.${NC} $(L ALL)"
echo -e "${YELLOW}0.${NC} Назад / Back"
echo -e " ${GREEN}╔═══════════════════════════════════════════════════════════════╗${NC}"
echo -e " ${GREEN}${NC} ${WHITE}📦 Выберите панель для установки${NC} ${GREEN}${NC}"
echo -e " ${GREEN}╚═══════════════════════════════════════════════════════════════╝${NC}"
echo ""
echo -e " ${YELLOW}1.${NC} 🔐 ${WHITE}WireGuard VPN${NC}"
echo -e " ${GRAY}Современный, быстрый и безопасный VPN${NC}"
echo ""
echo -e " ${YELLOW}2.${NC} 🌐 ${WHITE}3x-ui Panel${NC}"
echo -e " ${GRAY}VLESS, VMess, Trojan, Shadowsocks${NC}"
echo ""
echo -e " ${YELLOW}3.${NC} 🐳 ${WHITE}Remnawave Panel${NC}"
echo -e " ${GRAY}Современная панель с Docker${NC}"
echo ""
echo -e " ${YELLOW}4.${NC}${WHITE}Hysteria2 Proxy${NC}"
echo -e " ${GRAY}Высокоскоростной прокси с маскировкой${NC}"
echo ""
echo -e " ${YELLOW}5.${NC} 📱 ${WHITE}MTProxy (Telegram)${NC}"
echo -e " ${GRAY}Официальный прокси для Telegram${NC}"
echo ""
echo -e " ${GRAY}─────────────────────────────────────────────────────────────────${NC}"
echo ""
echo -e " ${YELLOW}6.${NC} 🚀 ${WHITE}Установить всё${NC}"
echo -e " ${GRAY}Последовательная установка всех панелей${NC}"
echo ""
echo -e " ${YELLOW}0.${NC} ⬅️ ${WHITE}Назад / Back${NC}"
echo ""
}