fix: хостинг #2, docker pull перед secret, свой домен (пункт 21)

Made-with: Cursor
This commit is contained in:
anten-ka
2026-03-06 19:19:01 +03:00
parent 4c78012900
commit 8e69e8fd17

View File

@@ -196,7 +196,8 @@ show_promo() {
echo -e "${MAGENTA}╔══════════════════════════════════════════════════════════════╗${NC}"
echo -e "${MAGENTA}║ ХОСТИНГ СО СКИДКОЙ ДО -60% ОТ ANTEN-KA ║${NC}"
echo -e "${MAGENTA}╚══════════════════════════════════════════════════════════════╝${NC}"
echo -e "${CYAN} >>> Ссылка: $PROMO_LINK ${NC}"
echo -e "${CYAN} Хостинг #1: $PROMO_LINK ${NC}"
echo -e "${CYAN} Хостинг #2: https://vk.cc/cUxAhj ${NC}"
echo -e "\n${MAGENTA}❖ ••••••••••••••••••• АКТУАЛЬНЫЕ ПРОМОКОДЫ •••••••••••••••••• ❖${NC}"
printf " ${YELLOW}%-12s${NC} : ${WHITE}%s${NC}\n" "OFF60" "Скидка 60% на ПЕРВЫЙ МЕСЯЦ"
printf " ${YELLOW}%-12s${NC} : ${WHITE}%s${NC}\n" "antenka20" "Буст 20% + 3% (оплата за 3 МЕС)"
@@ -204,8 +205,10 @@ show_promo() {
printf " ${YELLOW}%-12s${NC} : ${WHITE}%s${NC}\n" "antenka12" "Буст 5% + 5% (оплата за 12 МЕС)"
echo -e "${MAGENTA}❖ •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• ❖${NC}"
if command -v qrencode &>/dev/null; then
echo -e "\n${GREEN}Хостинг #1:${NC}"
qrencode -t ANSIUTF8 "$PROMO_LINK"
echo -e "${GREEN}Сканируйте QR для перехода на хостинг${NC}"
echo -e "${GREEN}Хостинг #2:${NC}"
qrencode -t ANSIUTF8 "https://vk.cc/cUxAhj"
fi
echo "--------------------------------------------------------------"
read -p "Нажмите [ENTER] для возврата в меню..."
@@ -231,11 +234,22 @@ menu_install() {
[[ $(( (i+1) % 2 )) -eq 0 ]] && echo ""
done
echo ""
echo -e " ${CYAN}21)${NC} Ввести свой домен"
echo ""
local d_idx DOMAIN
read -p "Ваш выбор [1-${#domains[@]}]: " d_idx
DOMAIN=${domains[$((d_idx-1))]}
DOMAIN=${DOMAIN:-google.com}
read -p "Ваш выбор [1-21]: " d_idx
if [ "$d_idx" = "21" ]; then
read -p " Введите домен (например, example.com): " DOMAIN
DOMAIN=$(echo "$DOMAIN" | tr -d '[:space:]')
if [ -z "$DOMAIN" ] || ! echo "$DOMAIN" | grep -qE '\.'; then
echo -e " ${RED}Некорректный домен. Используется google.com${NC}"
DOMAIN="google.com"
fi
else
DOMAIN=${domains[$((d_idx-1))]}
DOMAIN=${DOMAIN:-google.com}
fi
echo -e " Домен: ${GREEN}$DOMAIN${NC}"
# ── Выбор порта с проверкой занятости ────────────────────────────────────
@@ -302,22 +316,27 @@ menu_install() {
local SECRET install_steps=5 install_cur=0
# Шаг 1: pull образа (если нет)
# Шаг 1: pull образа (всегда проверяем/обновляем)
install_cur=$((install_cur+1)); progress_bar $install_cur $install_steps "Загрузка образа mtg..."
if ! docker images --format '{{.Repository}}:{{.Tag}}' | grep -q "nineseconds/mtg:2"; then
spinner_start "Загрузка Docker-образа mtg (первый раз — до 1 мин)..."
docker pull nineseconds/mtg:2 >/dev/null 2>&1
spinner_stop
spinner_start "Загрузка Docker-образа mtg..."
docker pull nineseconds/mtg:2 >/dev/null 2>&1
spinner_stop
if ! docker images --format '{{.Repository}}:{{.Tag}}' 2>/dev/null | grep -q "nineseconds/mtg"; then
echo -e " ${RED}${NC} Не удалось загрузить образ mtg. Проверьте интернет."
read -p "Нажмите Enter..."
return
fi
echo -e " ${GREEN}${NC} Образ mtg готов"
# Шаг 2: генерация secret
install_cur=$((install_cur+1)); progress_bar $install_cur $install_steps "Генерация secret..."
spinner_start "Генерация secret для $DOMAIN..."
SECRET=$(docker run --rm nineseconds/mtg:2 generate-secret --hex "$DOMAIN" 2>/dev/null)
SECRET=$(docker run --rm nineseconds/mtg:2 generate-secret --hex "$DOMAIN" 2>&1)
local secret_rc=$?
spinner_stop
if [ -z "$SECRET" ]; then
if [ $secret_rc -ne 0 ] || [ -z "$SECRET" ]; then
echo -e " ${RED}${NC} Ошибка генерации secret."
[ -n "$SECRET" ] && echo -e " ${RED}$SECRET${NC}"
read -p "Нажмите Enter..."
return
fi