From 5c1e9adb6fe86f6db270e6f77f7bd39abfffa5aa Mon Sep 17 00:00:00 2001 From: mango Date: Sat, 21 Mar 2026 01:14:00 +0800 Subject: [PATCH] Simplify menu and add test exit IP --- scripts/hkt.sh | 62 +++++++++++++++++++++++++++++--------------------- 1 file changed, 36 insertions(+), 26 deletions(-) diff --git a/scripts/hkt.sh b/scripts/hkt.sh index a2a7fdc..147bd02 100644 --- a/scripts/hkt.sh +++ b/scripts/hkt.sh @@ -284,6 +284,18 @@ verify_routes() { ip rule show | grep -E "100|110" | sed 's/^/ /' || echo " (无)" } +test_exit_ip() { + section "测试出口 IP" + + info "查询当前出口 IP..." + local exit_ip + exit_ip="$(curl -4 --connect-timeout 5 --max-time 10 -s https://api.ipify.org 2>/dev/null || echo "查询失败")" + + echo + success "当前出口 IP: $exit_ip" + echo +} + test_connectivity() { load_config @@ -428,27 +440,26 @@ show_status() { show_menu() { clear - echo -e "${BOLD}${CYAN}" - echo "╔════════════════════════════════════════════╗" - echo "║ 默认出站源地址管理器 Pro v2.0 ║" - echo "╚════════════════════════════════════════════╝" - echo -e "${RESET}" + echo "================================" + echo " 默认出站源地址管理器 v2.0" + echo "================================" + echo show_status 2>/dev/null || echo echo - echo -e "${BOLD}功能菜单${RESET}" - echo - echo " ${GREEN}1${RESET}) 检测网络环境" - echo " ${GREEN}2${RESET}) 应用内网 IP 默认出站" - echo " ${GREEN}3${RESET}) 恢复公网 IP 默认出站" - echo " ${GREEN}4${RESET}) 测试连通性" - echo " ${GREEN}5${RESET}) 查看详细状态" - echo " ${GREEN}6${RESET}) 安装开机自启" - echo " ${GREEN}7${RESET}) 移除开机自启" - echo " ${GREEN}8${RESET}) 清理策略规则" - echo " ${GREEN}9${RESET}) 查看操作日志" - echo " ${RED}0${RESET}) 退出" + echo "功能菜单" + echo "--------" + echo " 1) 检测网络环境" + echo " 2) 应用内网 IP 默认出站" + echo " 3) 恢复公网 IP 默认出站" + echo " 4) 测试出口 IP" + echo " 5) 测试连通性" + echo " 6) 查看详细状态" + echo " 7) 安装开机自启" + echo " 8) 移除开机自启" + echo " 9) 清理策略规则" + echo " 0) 退出" echo } @@ -478,10 +489,14 @@ main() { read -rp "按回车继续..." ;; 4) - test_connectivity + test_exit_ip read -rp "按回车继续..." ;; 5) + test_connectivity + read -rp "按回车继续..." + ;; + 6) section "详细路由状态" echo "主路由表:" ip route show | sed 's/^/ /' @@ -496,24 +511,19 @@ main() { ip route show table 200 2>/dev/null | sed 's/^/ /' || echo " (空)" read -rp "按回车继续..." ;; - 6) + 7) install_service read -rp "按回车继续..." ;; - 7) + 8) remove_service read -rp "按回车继续..." ;; - 8) + 9) clean_policy success "策略规则已清理" read -rp "按回车继续..." ;; - 9) - section "最近 20 条日志" - tail -20 "$LOG_FILE" 2>/dev/null || echo "日志为空" - read -rp "按回车继续..." - ;; 0) echo "再见!" exit 0