#!/bin/bash # ================================================================= # 🐧 FNOS (标准 Linux) Tailscale 智能卸载脚本 # 特性:保护大硬盘数据 | 可选保留身份 | 清理 Systemd # ================================================================= # 定义颜色 RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' echo -e "${YELLOW}>>> [1/4] 停止服务与进程...${NC}" # 停止 Systemd 服务 sudo systemctl stop tailscaled 2>/dev/null sudo systemctl disable tailscaled 2>/dev/null # 强制杀进程 sudo killall tailscaled 2>/dev/null echo -e "${GREEN}✅ 服务已停止${NC}" echo -e "${YELLOW}>>> [2/4] 移除程序与配置...${NC}" # 尝试使用 apt 卸载 (如果之前是 apt 装的) if command -v apt-get >/dev/null; then sudo apt-get remove tailscale -y >/dev/null 2>&1 fi # 再次手动清理残留二进制 (防止官方脚本残留) sudo rm -f /usr/sbin/tailscale /usr/sbin/tailscaled /usr/bin/tailscale /usr/bin/tailscaled sudo rm -f /lib/systemd/system/tailscaled.service sudo systemctl daemon-reload echo -e "${GREEN}✅ 程序文件已清理${NC}" echo -e "${YELLOW}>>> [3/4] 处理 Taildrop 文件存储 (关键步骤)...${NC}" # 检查是否存在软链接 (之前脚本建立的指向大硬盘的链接) if [ -L "/var/lib/tailscale/files" ]; then # 获取真实路径 (用于提示用户) REAL_PATH=$(readlink -f /var/lib/tailscale/files) # ⚠️ 关键:只删除软链接本身,不删除真实文件! sudo unlink /var/lib/tailscale/files echo -e "${GREEN}🛡️ 已断开软链接。${NC}" echo -e "${BLUE}ℹ️ 您的大硬盘文件被完整保留在:${NC}" echo -e " 📂 ${YELLOW}$REAL_PATH${NC}" else # 如果不是软链接,说明可能是默认存储,也不建议贸然删除 if [ -d "/var/lib/tailscale/files" ]; then echo -e "${BLUE}ℹ️ 默认存储目录未变动,将随主目录处理。${NC}" fi fi echo "" echo -e "${RED}⚠️ 【关键选择】关于身份数据 (证书/密钥/设备ID)${NC}" echo -e "${BLUE}--------------------------------------------------${NC}" echo -e "${GREEN}选项 N (默认):${NC} 保留身份。重装后无需登录,IP不变,继续做网关。" echo -e "${RED}选项 Y (删除):${NC} 彻底抹除。这台 NAS 将被视为新设备。" echo -e "${BLUE}--------------------------------------------------${NC}" echo "" # 交互式读取 (兼容 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 if [ "$DELETE_DATA" = true ]; then echo -e "${RED}🧨 正在销毁身份数据 (/var/lib/tailscale)...${NC}" # 再次确认软链接已断开,防止误删 if [ -L "/var/lib/tailscale/files" ]; then sudo unlink /var/lib/tailscale/files; fi # 删除整个数据目录 sudo rm -rf /var/lib/tailscale sudo rm -rf /etc/tailscale echo -e "${RED}✅ 身份已彻底移除。${NC}" else echo -e "${GREEN}🛡️ 身份数据已保留。${NC}" echo -e " - 下次安装时将自动恢复。" fi echo "" echo -e "${GREEN}🎉 FNOS Tailscale 卸载完成!${NC}" echo -e "${BLUE}ℹ️ 提示:Taildrop 文件夹里的电影/照片都在,放心!${NC}"