v3.1
This commit is contained in:
@@ -4,8 +4,9 @@
|
||||
# Использует autossh и systemd для обеспечения стабильного и постоянного соединения.
|
||||
#
|
||||
# Использование:
|
||||
# 1. Установка: sudo bash tunnel-manager.sh install
|
||||
# 2. Запуск: sudo bash tunnel-manager.sh menu
|
||||
# 1. Запуск одной командой (автоустановка + меню): curl -s https://.../install_ssh_tunnel.sh | sudo bash
|
||||
# 2. Установка: sudo bash tunnel-manager.sh install
|
||||
# 3. Запуск меню: sudo bash tunnel-manager.sh menu
|
||||
#
|
||||
|
||||
# --- Глобальные переменные и конфигурация ---
|
||||
@@ -108,6 +109,34 @@ load_vps_settings() {
|
||||
return 1
|
||||
}
|
||||
|
||||
# Функция отображения публичного ключа
|
||||
show_public_key() {
|
||||
echo -e "${BOLD}${CYAN}--- Публичный ключ для копирования на VPS ---${NC}"
|
||||
if [ -f "/root/.ssh/id_rsa.pub" ]; then
|
||||
echo -e "${GREEN}Ключ RSA:${NC}"
|
||||
cat /root/.ssh/id_rsa.pub
|
||||
echo ""
|
||||
fi
|
||||
read -p "Нажмите Enter для продолжения..."
|
||||
}
|
||||
|
||||
# Функция проверки SSH подключения
|
||||
check_ssh_connection() {
|
||||
if ! load_vps_settings; then
|
||||
log_message "Сначала необходимо настроить VPS (опция 1)." "$RED"
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo -e "${CYAN}Проверка подключения к $VPS_USER@$VPS_HOST:$VPS_PORT...${NC}"
|
||||
if timeout 10 ssh -p "$VPS_PORT" -o BatchMode=yes -o ConnectTimeout=5 "$VPS_USER@$VPS_HOST" "echo 'SSH Connection OK'" 2>/dev/null; then
|
||||
echo -e "${GREEN}✓ SSH подключение работает${NC}"
|
||||
return 0
|
||||
else
|
||||
echo -e "${RED}✗ SSH подключение не работает${NC}"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# --- Основные функции ---
|
||||
|
||||
# 1. Установка зависимостей и настройка системы
|
||||
@@ -882,21 +911,40 @@ main_menu() {
|
||||
}
|
||||
|
||||
# --- Точка входа ---
|
||||
case "$1" in
|
||||
install)
|
||||
install_manager
|
||||
;;
|
||||
menu)
|
||||
# Главное изменение: если скрипт запущен без аргументов, выполняем автоматическую установку и запуск меню
|
||||
if [[ $# -eq 0 ]]; then
|
||||
echo -e "${BOLD}${CYAN}SSH Tunnel Manager v1.0${NC}"
|
||||
echo -e "Автоматический запуск установки и меню..."
|
||||
|
||||
# Проверяем, установлен ли уже скрипт
|
||||
if [ -f "/usr/local/bin/tunnel-manager" ]; then
|
||||
echo -e "${YELLOW}Менеджер уже установлен. Запуск меню...${NC}"
|
||||
main_menu
|
||||
;;
|
||||
*)
|
||||
echo -e "${BOLD}${CYAN}SSH Tunnel Manager v1.0${NC}"
|
||||
echo -e "Использование: sudo bash $0 {install|menu}"
|
||||
echo -e " ${BOLD}install${NC} - Устанавливает зависимости и копирует скрипт в /usr/local/bin/tunnel-manager"
|
||||
echo -e " ${BOLD}menu${NC} - Запускает интерактивное меню управления туннелями"
|
||||
echo ""
|
||||
echo -e "Рекомендуемый первый запуск: ${BOLD}sudo bash $0 install${NC}"
|
||||
;;
|
||||
esac
|
||||
else
|
||||
echo -e "${GREEN}Начинаем установку...${NC}"
|
||||
install_manager
|
||||
echo -e "${GREEN}Установка завершена. Запуск меню...${NC}"
|
||||
main_menu
|
||||
fi
|
||||
else
|
||||
case "$1" in
|
||||
install)
|
||||
install_manager
|
||||
;;
|
||||
menu)
|
||||
main_menu
|
||||
;;
|
||||
*)
|
||||
echo -e "${BOLD}${CYAN}SSH Tunnel Manager v1.0${NC}"
|
||||
echo -e "Использование:"
|
||||
echo -e " 1. Запуск одной командой (автоустановка + меню):"
|
||||
echo -e " curl -s https://git.softuniq.eu/OpenDoor/vps_ssh_tunel/raw/branch/main/install_ssh_tunnel.sh | sudo bash"
|
||||
echo -e " 2. Только установка: sudo bash $0 install"
|
||||
echo -e " 3. Только меню: sudo bash $0 menu"
|
||||
echo ""
|
||||
echo -e "После установки можно использовать: sudo tunnel-manager menu"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
exit 0
|
||||
exit 0
|
||||
Reference in New Issue
Block a user