фикс: исправлена синтаксическая ошибка в do_setup и добавлена функция самообновления
This commit is contained in:
parent
683a62a3f5
commit
3ce60d00ce
45
rproxy
45
rproxy
|
|
@ -171,10 +171,11 @@ main_menu() {
|
||||||
draw_separator
|
draw_separator
|
||||||
printf " ${BOLD}4)${NC} ▶️ Запустить туннель\n"
|
printf " ${BOLD}4)${NC} ▶️ Запустить туннель\n"
|
||||||
printf " ${BOLD}5)${NC} ⏹️ Остановить туннель\n"
|
printf " ${BOLD}5)${NC} ⏹️ Остановить туннель\n"
|
||||||
printf " ${BOLD}6)${NC} 🔄 Перезапустить туннель\n"
|
printf " ${CYAN}${BOLD}6)${NC} 🔄 Перезапустить туннель\n"
|
||||||
draw_separator
|
draw_separator
|
||||||
printf " ${BOLD}7)${NC} 🔒 Получить/Обновить SSL (Certbot)\n"
|
printf " ${BOLD}7)${NC} 🔒 Получить/Обновить SSL (Certbot)\n"
|
||||||
printf " ${BOLD}8)${NC} ⚙️ Настройки VPS\n"
|
printf " ${BOLD}8)${NC} ⚙️ Настройки VPS\n"
|
||||||
|
printf " ${BOLD}9)${NC} 🚀 Обновить rProxy\n"
|
||||||
printf " ${BOLD}0)${NC} 🚪 Выход\n"
|
printf " ${BOLD}0)${NC} 🚪 Выход\n"
|
||||||
|
|
||||||
prompt "Выберите действие: "
|
prompt "Выберите действие: "
|
||||||
|
|
@ -188,6 +189,7 @@ main_menu() {
|
||||||
6) do_restart_interactive ;;
|
6) do_restart_interactive ;;
|
||||||
7) do_ssl_interactive ;;
|
7) do_ssl_interactive ;;
|
||||||
8) do_setup ;;
|
8) do_setup ;;
|
||||||
|
9) do_self_update ;;
|
||||||
0|q) clear_screen; exit 0 ;;
|
0|q) clear_screen; exit 0 ;;
|
||||||
*) ;;
|
*) ;;
|
||||||
esac
|
esac
|
||||||
|
|
@ -462,10 +464,8 @@ do_ssl_interactive() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg "Проверяю наличие Certbot на VPS..."
|
msg "Проверяю наличие Certbot на VPS..."
|
||||||
ssh_cmd "command -v certbot >/dev/null 2>&1 || (apt-get update && apt-get install -y certbot python3-certbot-nginx || yum install -y certbot python3-certbot-nginx)" || {
|
ssh_cmd "command -v certbot >/dev/null 2>&1 || (apt-get update -qq && apt-get install -y -qq certbot python3-certbot-nginx || yum install -y certbot python3-certbot-nginx)" || {
|
||||||
err "Не удалось установить Certbot на VPS"
|
warn "Не удалось автоматически установить Certbot на VPS"
|
||||||
pause
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
|
|
||||||
msg "Запрашиваю сертификат для $SVC_DOMAIN..."
|
msg "Запрашиваю сертификат для $SVC_DOMAIN..."
|
||||||
|
|
@ -481,6 +481,34 @@ do_ssl_interactive() {
|
||||||
pause
|
pause
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# ══════════════════════════════════════════════════════════════════════
|
||||||
|
# ОБНОВЛЕНИЕ СКРИПТА
|
||||||
|
# ══════════════════════════════════════════════════════════════════════
|
||||||
|
do_self_update() {
|
||||||
|
clear_screen
|
||||||
|
draw_box "Обновление rProxy"
|
||||||
|
printf "\n"
|
||||||
|
msg "Проверяю наличие обновлений..."
|
||||||
|
|
||||||
|
local url="http://5.104.75.50:3000/Petro1990/rProxy/raw/branch/main/rproxy"
|
||||||
|
local tmp_file="/tmp/rproxy_update"
|
||||||
|
|
||||||
|
if curl -sSL "$url" -o "$tmp_file"; then
|
||||||
|
if [ -s "$tmp_file" ]; then
|
||||||
|
mv "$tmp_file" "/opt/bin/rproxy"
|
||||||
|
chmod +x "/opt/bin/rproxy"
|
||||||
|
msg "Обновление успешно завершено!"
|
||||||
|
pause
|
||||||
|
exec /opt/bin/rproxy # Перезапуск новой версии
|
||||||
|
else
|
||||||
|
err "Файл обновления не пуст или не найден"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
err "Не удалось загрузить обновление"
|
||||||
|
fi
|
||||||
|
pause
|
||||||
|
}
|
||||||
|
|
||||||
# ══════════════════════════════════════════════════════════════════════
|
# ══════════════════════════════════════════════════════════════════════
|
||||||
# УДАЛИТЬ СЕРВИС (интерактивно)
|
# УДАЛИТЬ СЕРВИС (интерактивно)
|
||||||
# ══════════════════════════════════════════════════════════════════════
|
# ══════════════════════════════════════════════════════════════════════
|
||||||
|
|
@ -881,9 +909,10 @@ do_setup() {
|
||||||
sed -i \"/http {/a\\\\ include /etc/nginx/sites-enabled/*.conf;\" /etc/nginx/nginx.conf 2>/dev/null
|
sed -i \"/http {/a\\\\ include /etc/nginx/sites-enabled/*.conf;\" /etc/nginx/nginx.conf 2>/dev/null
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! ssh_cmd "command -v certbot" >/dev/null 2>&1; then
|
if ! command -v certbot >/dev/null 2>&1; then
|
||||||
msg "Устанавливаю Certbot на VPS (может занять пару минут)..."
|
echo \"Устанавливаю Certbot...\"
|
||||||
ssh_cmd "apt-get update -qq && apt-get install -y -qq certbot python3-certbot-nginx || yum install -y certbot python3-certbot-nginx" >/dev/null 2>&1
|
apt-get update -qq && apt-get install -y -qq certbot python3-certbot-nginx >/dev/null 2>&1 || \
|
||||||
|
yum install -y certbot python3-certbot-nginx >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
systemctl enable nginx 2>/dev/null
|
systemctl enable nginx 2>/dev/null
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue