#!/bin/sh # ================================================================= # 🗑️ Tailscale 深度卸载脚本 (Cloudflare 专用版) # ================================================================= # 定义颜色 RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' echo -e "${YELLOW}>>> 正在准备卸载 Tailscale...${NC}" # --- 1. 停止并禁用服务 --- if [ -f /etc/init.d/tailscale ]; then echo -e "⏹️ 停止 Tailscale 服务..." /etc/init.d/tailscale stop 2>/dev/null /etc/init.d/tailscale disable 2>/dev/null rm -f /etc/init.d/tailscale echo -e "${GREEN}✅ 服务已停止并移除启动项${NC}" else echo -e "${BLUE}ℹ️ 未检测到启动服务,跳过${NC}" fi # 再次尝试杀掉残留进程 killall tailscaled 2>/dev/null # --- 2. 删除程序文件 (二进制) --- echo -e "🧹 清理程序文件..." FILES_TO_REMOVE="/usr/sbin/tailscale /usr/sbin/tailscaled /usr/bin/tailscale /usr/bin/tailscaled /tmp/tailscale*" for file in $FILES_TO_REMOVE; do if [ -e "$file" ]; then rm -rf "$file" echo -e " - 已删除: $file" fi done # --- 3. 核心选择题:身份数据去留 --- echo "" echo -e "${RED}⚠️ 【关键选择】关于身份数据 (证书/密钥/设备ID)${NC}" echo -e "${BLUE}--------------------------------------------------${NC}" echo -e "${GREEN}选项 N (默认):${NC} 保留身份。重装后无需登录,IP不变。" echo -e "${RED}选项 Y (删除):${NC} 彻底抹除。重装后视为新设备。" echo -e "${BLUE}--------------------------------------------------${NC}" echo "" # ⚠️ 关键修复:强制从 /dev/tty 读取输入,解决 curl 管道无法交互的问题 echo -n "❓ 是否删除身份数据? [y/N]: " if [ -t 0 ]; then read yn else read yn < /dev/tty fi case $yn in [Yy]* ) DELETE_DATA=true ;; * ) DELETE_DATA=false ;; esac # --- 4. 执行数据清理 --- DATA_DIRS="/etc/tailscale /var/lib/tailscale /var/run/tailscale /root/.local/share/tailscale" if [ "$DELETE_DATA" = true ]; then echo -e "${RED}🧨 正在销毁身份数据...${NC}" for dir in $DATA_DIRS; do if [ -d "$dir" ]; then rm -rf "$dir" echo -e " - 已销毁目录: $dir" fi done rm -f /etc/config/tailscale 2>/dev/null echo -e "${RED}✅ 身份已彻底移除。这台设备现在是“白板”了。${NC}" else echo -e "${GREEN}🛡️ 身份数据已保留。${NC}" echo -e " - 密钥目录: /etc/tailscale" fi # --- 5. 清理依赖 (温馨提示) --- echo "" echo -e "${BLUE}ℹ️ 提示: 脚本仅卸载了 Tailscale 本体。${NC}" echo -e " 系统依赖 (curl, ca-bundle, kmod-tun) 被保留,以免影响其他软件。" echo "" echo -e "${GREEN}🎉 卸载完成!江湖路远,有缘再见!${NC}"