Add license key validation v1.1

This commit is contained in:
anten-ka
2026-03-08 13:55:33 +03:00
parent 387ba0d881
commit da433fa65c

58
warp.sh
View File

@@ -14,6 +14,12 @@ WARP_LOG="/var/log/warp-manager.log"
BOT_PID_FILE="/var/run/warp_bot.pid" BOT_PID_FILE="/var/run/warp_bot.pid"
DEFAULT_PORT=40000 DEFAULT_PORT=40000
VALID_KEYS=(
"WARP-PRO-2026-ALPHA"
"WARP-PRO-2026-BETA"
"WARP-PRO-2026-GAMMA"
)
RED='\033[0;31m'; GREEN='\033[0;32m'; CYAN='\033[0;36m' RED='\033[0;31m'; GREEN='\033[0;32m'; CYAN='\033[0;36m'
YELLOW='\033[1;33m'; MAGENTA='\033[0;35m'; WHITE='\033[1;37m' YELLOW='\033[1;33m'; MAGENTA='\033[0;35m'; WHITE='\033[1;37m'
BLUE='\033[0;34m'; NC='\033[0m' BLUE='\033[0;34m'; NC='\033[0m'
@@ -22,6 +28,7 @@ SOCKS_PORT=""
MY_IP="" MY_IP=""
BOT_TOKEN="" BOT_TOKEN=""
BOT_CHAT_ID="" BOT_CHAT_ID=""
LICENSE_KEY=""
# ─── Config ─────────────────────────────────────────────────── # ─── Config ───────────────────────────────────────────────────
@@ -32,6 +39,7 @@ init_config() {
SOCKS_PORT="40000" SOCKS_PORT="40000"
BOT_TOKEN="" BOT_TOKEN=""
BOT_CHAT_ID="" BOT_CHAT_ID=""
LICENSE_KEY=""
CONF CONF
fi fi
source "$WARP_CONF" source "$WARP_CONF"
@@ -48,6 +56,49 @@ save_config_val() {
source "$WARP_CONF" source "$WARP_CONF"
} }
# ─── License ──────────────────────────────────────────────────
is_valid_key() {
local k="$1"
for vk in "${VALID_KEYS[@]}"; do
[ "$k" = "$vk" ] && return 0
done
return 1
}
check_license() {
local arg_key="${1:-}"
source "$WARP_CONF" 2>/dev/null
if [ -n "${LICENSE_KEY:-}" ] && is_valid_key "$LICENSE_KEY"; then
return 0
fi
if [ -n "$arg_key" ] && is_valid_key "$arg_key"; then
save_config_val "LICENSE_KEY" "$arg_key"
LICENSE_KEY="$arg_key"
return 0
fi
echo ""
echo -e "${RED}╔══════════════════════════════════════════════════════════════╗${NC}"
echo -e "${RED}║ ⛔ ЛИЦЕНЗИОННЫЙ КЛЮЧ НЕДЕЙСТВИТЕЛЕН ║${NC}"
echo -e "${RED}╚══════════════════════════════════════════════════════════════╝${NC}"
echo ""
if [ -n "$arg_key" ]; then
echo -e " ${WHITE}Ключ ${YELLOW}${arg_key}${WHITE} не найден в базе.${NC}"
else
echo -e " ${WHITE}Для установки требуется лицензионный ключ.${NC}"
fi
echo ""
echo -e " ${CYAN}Использование:${NC}"
echo -e " ${WHITE}bash <(curl -sL ...) ${GREEN}ВАШ_КЛЮЧ${NC}"
echo ""
echo -e " ${WHITE}Получить ключ: ${CYAN}https://www.youtube.com/@antenkaru${NC}"
echo ""
exit 1
}
# ─── Logging ────────────────────────────────────────────────── # ─── Logging ──────────────────────────────────────────────────
log_action() { log_action() {
@@ -921,9 +972,8 @@ run_startup() {
printf "\r ${CYAN}[%d/%d]${NC} ${GREEN}${NC} Права root подтверждены \n" "$s" "$total" printf "\r ${CYAN}[%d/%d]${NC} ${GREEN}${NC} Права root подтверждены \n" "$s" "$total"
((s++)) ((s++))
printf " ${CYAN}[%d/%d]${NC} ${YELLOW}${NC} Загрузка конфигурации..." "$s" "$total" printf " ${CYAN}[%d/%d]${NC} ${YELLOW}${NC} Проверка лицензии..." "$s" "$total"
init_config printf "\r ${CYAN}[%d/%d]${NC} ${GREEN}${NC} Лицензия активна \n" "$s" "$total"
printf "\r ${CYAN}[%d/%d]${NC} ${GREEN}${NC} Конфигурация загружена \n" "$s" "$total"
((s++)) ((s++))
printf " ${CYAN}[%d/%d]${NC} ${YELLOW}${NC} Проверка зависимостей..." "$s" "$total" printf " ${CYAN}[%d/%d]${NC} ${YELLOW}${NC} Проверка зависимостей..." "$s" "$total"
@@ -968,5 +1018,5 @@ run_startup() {
case "${1:-}" in case "${1:-}" in
--bot-daemon) init_config; bot_daemon ;; --bot-daemon) init_config; bot_daemon ;;
*) run_startup ;; *) init_config; check_license "${1:-}"; run_startup ;;
esac esac