Simplify menu and add test exit IP
This commit is contained in:
@@ -284,6 +284,18 @@ verify_routes() {
|
|||||||
ip rule show | grep -E "100|110" | sed 's/^/ /' || echo " (无)"
|
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() {
|
test_connectivity() {
|
||||||
load_config
|
load_config
|
||||||
|
|
||||||
@@ -428,27 +440,26 @@ show_status() {
|
|||||||
|
|
||||||
show_menu() {
|
show_menu() {
|
||||||
clear
|
clear
|
||||||
echo -e "${BOLD}${CYAN}"
|
echo "================================"
|
||||||
echo "╔════════════════════════════════════════════╗"
|
echo " 默认出站源地址管理器 v2.0"
|
||||||
echo "║ 默认出站源地址管理器 Pro v2.0 ║"
|
echo "================================"
|
||||||
echo "╚════════════════════════════════════════════╝"
|
echo
|
||||||
echo -e "${RESET}"
|
|
||||||
|
|
||||||
show_status 2>/dev/null || echo
|
show_status 2>/dev/null || echo
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo -e "${BOLD}功能菜单${RESET}"
|
echo "功能菜单"
|
||||||
echo
|
echo "--------"
|
||||||
echo " ${GREEN}1${RESET}) 检测网络环境"
|
echo " 1) 检测网络环境"
|
||||||
echo " ${GREEN}2${RESET}) 应用内网 IP 默认出站"
|
echo " 2) 应用内网 IP 默认出站"
|
||||||
echo " ${GREEN}3${RESET}) 恢复公网 IP 默认出站"
|
echo " 3) 恢复公网 IP 默认出站"
|
||||||
echo " ${GREEN}4${RESET}) 测试连通性"
|
echo " 4) 测试出口 IP"
|
||||||
echo " ${GREEN}5${RESET}) 查看详细状态"
|
echo " 5) 测试连通性"
|
||||||
echo " ${GREEN}6${RESET}) 安装开机自启"
|
echo " 6) 查看详细状态"
|
||||||
echo " ${GREEN}7${RESET}) 移除开机自启"
|
echo " 7) 安装开机自启"
|
||||||
echo " ${GREEN}8${RESET}) 清理策略规则"
|
echo " 8) 移除开机自启"
|
||||||
echo " ${GREEN}9${RESET}) 查看操作日志"
|
echo " 9) 清理策略规则"
|
||||||
echo " ${RED}0${RESET}) 退出"
|
echo " 0) 退出"
|
||||||
echo
|
echo
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -478,10 +489,14 @@ main() {
|
|||||||
read -rp "按回车继续..."
|
read -rp "按回车继续..."
|
||||||
;;
|
;;
|
||||||
4)
|
4)
|
||||||
test_connectivity
|
test_exit_ip
|
||||||
read -rp "按回车继续..."
|
read -rp "按回车继续..."
|
||||||
;;
|
;;
|
||||||
5)
|
5)
|
||||||
|
test_connectivity
|
||||||
|
read -rp "按回车继续..."
|
||||||
|
;;
|
||||||
|
6)
|
||||||
section "详细路由状态"
|
section "详细路由状态"
|
||||||
echo "主路由表:"
|
echo "主路由表:"
|
||||||
ip route show | sed 's/^/ /'
|
ip route show | sed 's/^/ /'
|
||||||
@@ -496,24 +511,19 @@ main() {
|
|||||||
ip route show table 200 2>/dev/null | sed 's/^/ /' || echo " (空)"
|
ip route show table 200 2>/dev/null | sed 's/^/ /' || echo " (空)"
|
||||||
read -rp "按回车继续..."
|
read -rp "按回车继续..."
|
||||||
;;
|
;;
|
||||||
6)
|
7)
|
||||||
install_service
|
install_service
|
||||||
read -rp "按回车继续..."
|
read -rp "按回车继续..."
|
||||||
;;
|
;;
|
||||||
7)
|
8)
|
||||||
remove_service
|
remove_service
|
||||||
read -rp "按回车继续..."
|
read -rp "按回车继续..."
|
||||||
;;
|
;;
|
||||||
8)
|
9)
|
||||||
clean_policy
|
clean_policy
|
||||||
success "策略规则已清理"
|
success "策略规则已清理"
|
||||||
read -rp "按回车继续..."
|
read -rp "按回车继续..."
|
||||||
;;
|
;;
|
||||||
9)
|
|
||||||
section "最近 20 条日志"
|
|
||||||
tail -20 "$LOG_FILE" 2>/dev/null || echo "日志为空"
|
|
||||||
read -rp "按回车继续..."
|
|
||||||
;;
|
|
||||||
0)
|
0)
|
||||||
echo "再见!"
|
echo "再见!"
|
||||||
exit 0
|
exit 0
|
||||||
|
|||||||
Reference in New Issue
Block a user