add tools zip unzip nmap
This commit is contained in:
@@ -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 "$@"
|
||||
|
||||
Reference in New Issue
Block a user