add tools zip unzip nmap

This commit is contained in:
zj
2025-11-27 07:04:44 +08:00
parent 60b165b577
commit 649d3ff062
9 changed files with 1802 additions and 15 deletions

View File

@@ -1,15 +1,264 @@
#!/bin/bash
#
# TMS工具集成菜单脚本
# 功能: 网络检测、TMS工具管理
#
echo "--- TMS工具 ---"
# --- 颜色定义 ---
C_RESET='\033[0m'
C_RED='\033[0;31m'
C_GREEN='\033[0;32m'
C_YELLOW='\033[0;33m'
C_BLUE='\033[0;34m'
C_CYAN='\033[0;36m'
C_BOLD='\033[1m'
echo "--- 网络检测 ---"
# --- 全局变量 ---
SCRIPT_DIR="/home/smart/.tms3/starter"
NM_SCRIPT="nm_network_manager.sh"
TMS_SCRIPT="bbttms.sh"
TMS_URL="yuyujing.cn/data/sh/bbttms.sh"
echo "--- 局域网查询售票系统地址(凤凰佳影,辰星) ---"
# --- 基础函数 ---
print_header() {
echo -e "${C_CYAN}${C_BOLD}"
echo "=================================================="
echo " TMS 工具集成菜单"
echo "=================================================="
echo -e "${C_RESET}"
}
echo "--- TMS工具 ---"
print_separator() {
echo -e "${C_BLUE}--------------------------------------------------${C_RESET}"
}
cd /home/smart/.tms3/starter
wget -N yuyujing.cn/data/sh/bbttms.sh
sh bbttms.sh
log_info() { echo -e "${C_BLUE}[INFO]${C_RESET} $1"; }
log_success() { echo -e "${C_GREEN}[SUCCESS]${C_RESET} $1"; }
log_error() { echo -e "${C_RED}[ERROR]${C_RESET} $1"; }
log_warn() { echo -e "${C_YELLOW}[WARN]${C_RESET} $1"; }
echo "--- END ---"
# 检查必要的目录和文件
check_environment() {
if [ ! -d "$SCRIPT_DIR" ]; then
log_error "目录不存在: $SCRIPT_DIR"
read -p "是否创建目录? [y/N]: " create_dir
if [[ "$create_dir" =~ ^[Yy]$ ]]; then
mkdir -p "$SCRIPT_DIR"
log_success "已创建目录: $SCRIPT_DIR"
else
log_error "无法继续,退出脚本。"
exit 1
fi
fi
if [ ! -f "$SCRIPT_DIR/$NM_SCRIPT" ]; then
log_warn "网络管理脚本不存在: $SCRIPT_DIR/$NM_SCRIPT"
log_info "请确保网络管理脚本已正确放置。"
fi
}
# --- 核心功能函数 ---
# 1. 外网检测和网络管理
network_check() {
print_separator
log_info "启动外网检测..."
print_separator
if [ -f "$SCRIPT_DIR/$NM_SCRIPT" ]; then
cd "$SCRIPT_DIR" || {
log_error "无法切换到目录: $SCRIPT_DIR"
return 1
}
# 检查是否需要sudo权限
if [ "$(id -u)" -ne 0 ]; then
log_info "网络管理需要管理员权限将使用sudo..."
sudo sh "$NM_SCRIPT"
else
sh "$NM_SCRIPT"
fi
else
log_error "网络管理脚本不存在: $SCRIPT_DIR/$NM_SCRIPT"
log_info "请先将网络管理脚本放置到正确位置。"
return 1
fi
}
# 2. 快速网络状态检查
quick_network_check() {
print_separator
log_info "快速网络状态检查..."
# 检查网络接口状态
echo -e "${C_BLUE}网络接口状态:${C_RESET}"
ip addr show | grep -E "^[0-9]+:|inet " | sed 's/^/ /'
echo
# 检查外网连接
log_info "测试外网连接..."
if ping -c 3 -W 3 8.8.8.8 >/dev/null 2>&1; then
log_success "外网连接正常 (Google DNS 8.8.8.8)"
elif ping -c 3 -W 3 1.1.1.1 >/dev/null 2>&1; then
log_success "外网连接正常 (Cloudflare DNS 1.1.1.1)"
elif ping -c 3 -W 3 114.114.114.114 >/dev/null 2>&1; then
log_success "外网连接正常 (114 DNS)"
else
log_error "外网连接失败"
return 1
fi
# 检查DNS解析
log_info "测试DNS解析..."
if nslookup baidu.com >/dev/null 2>&1; then
log_success "DNS解析正常"
else
log_warn "DNS解析可能有问题"
fi
}
# 3. 下载并运行TMS工具
run_tms_tool() {
print_separator
log_info "启动TMS工具..."
print_separator
cd "$SCRIPT_DIR" || {
log_error "无法切换到目录: $SCRIPT_DIR"
return 1
}
log_info "正在下载最新版本的TMS工具..."
if wget -N "$TMS_URL" -O "$TMS_SCRIPT"; then
log_success "TMS工具下载成功"
# 检查文件是否存在且可执行
if [ -f "$TMS_SCRIPT" ]; then
chmod +x "$TMS_SCRIPT"
log_info "正在运行TMS工具..."
sh "$TMS_SCRIPT"
else
log_error "下载的TMS工具文件不存在"
return 1
fi
else
log_error "TMS工具下载失败"
log_info "请检查网络连接或URL是否正确: $TMS_URL"
return 1
fi
}
# 5. 一键执行(原脚本功能)
one_click_run() {
print_separator
log_info "执行一键流程..."
print_separator
# 1. 外网检测
log_info "步骤1: 外网检测"
if ! quick_network_check; then
log_warn "网络检测发现问题,是否继续? [y/N]"
read -r continue_choice
if [[ ! "$continue_choice" =~ ^[Yy]$ ]]; then
log_info "用户取消操作"
return 1
fi
fi
echo
# 2. 运行TMS工具
log_info "步骤2: 运行TMS工具"
run_tms_tool
print_separator
log_success "一键流程执行完成"
}
# 6. 显示系统信息
show_system_info() {
print_separator
log_info "系统信息"
print_separator
neofetch
echo -e "\n${C_BLUE}网络接口:${C_RESET}"
ip link show | grep -E "^[0-9]+:" | sed 's/^/ /'
echo -e "\n${C_BLUE}脚本目录:${C_RESET}"
echo " $SCRIPT_DIR"
echo -e "\n${C_BLUE}脚本文件状态:${C_RESET}"
if [ -f "$SCRIPT_DIR/$NM_SCRIPT" ]; then
echo -e " 网络管理脚本: ${C_GREEN}存在${C_RESET}"
else
echo -e " 网络管理脚本: ${C_RED}不存在${C_RESET}"
fi
if [ -f "$SCRIPT_DIR/$TMS_SCRIPT" ]; then
echo -e " TMS工具脚本: ${C_GREEN}存在${C_RESET}"
echo " 最后修改: $(stat -c %y "$SCRIPT_DIR/$TMS_SCRIPT" 2>/dev/null | cut -d. -f1)"
else
echo -e " TMS工具脚本: ${C_YELLOW}未下载${C_RESET}"
fi
}
# --- 菜单显示 ---
show_menu() {
clear
print_header
echo -e "${C_YELLOW}请选择操作:${C_RESET}"
echo
echo " 1. 外网检测和网络管理"
echo " 2. 快速网络状态检查"
echo " 3. 下载并运行TMS工具"
echo " 4. 一键执行 (检测+TMS)"
echo " 5. 显示系统信息"
echo " 0. 退出"
echo
print_separator
read -rp "请输入选择 [0-6]: " choice
}
# --- 主函数 ---
main() {
# 环境检查
check_environment
while true; do
show_menu
case $choice in
1)
network_check
;;
2)
quick_network_check
;;
3)
run_tms_tool
;;
4)
one_click_run
;;
5)
show_system_info
;;
0)
print_separator
log_success "感谢使用TMS工具集成菜单"
exit 0
;;
*)
log_error "无效选择,请输入 0-6 之间的数字"
;;
esac
echo
read -p "按回车键继续..." -r
done
}
# --- 脚本入口 ---
main "$@"