#!/bin/bash

# OpenClaw 远程安装/修复脚本 - macOS 版本
# 用户运行此脚本后，技术支持人员可远程连接

set -e

echo "========================================="
echo "   OpenClaw 远程支持工具 (macOS)"
echo "========================================="
echo ""
echo "此工具将帮助技术人员远程为您安装 OpenClaw"
echo ""
echo "安全说明："
echo "- 只创建临时访问账号"
echo "- 安装完成后会删除访问权限"
echo "- 不会安装任何后门程序"
echo ""
echo "========================================="
echo ""
read -p "按回车键继续..."

echo ""
echo "正在配置远程访问..."
echo ""

# 生成随机密码
PASS=$(LC_ALL=C tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 12)
USER="support"

# 检查是否以 root 运行
if [ "$EUID" -ne 0 ]; then 
    echo "需要管理员权限，请输入您的密码："
    sudo -v
fi

echo "[1/5] 启用远程登录..."
sudo systemsetup -setremotelogin on > /dev/null 2>&1

echo "[2/5] 创建临时支持账号..."
# 创建用户（如果不存在）
if ! id "$USER" &>/dev/null; then
    sudo dscl . -create /Users/$USER
    sudo dscl . -create /Users/$USER UserShell /bin/bash
    sudo dscl . -create /Users/$USER RealName "OpenClaw Support"
    sudo dscl . -create /Users/$USER UniqueID 510
    sudo dscl . -create /Users/$USER PrimaryGroupID 20
    sudo dscl . -create /Users/$USER NFSHomeDirectory /Users/$USER
    sudo dscl . -passwd /Users/$USER "$PASS"
    sudo createhomedir -c -u $USER > /dev/null 2>&1
fi

echo "[3/5] 配置管理员权限..."
sudo dseditgroup -o edit -a $USER -t user admin

echo "[4/5] 获取网络信息..."
IP=$(ifconfig | grep "inet " | grep -v 127.0.0.1 | awk '{print $2}' | head -1)

echo "[5/5] 生成连接信息..."

# 保存连接信息
INFO_FILE="$HOME/Desktop/OpenClaw连接信息.txt"
cat > "$INFO_FILE" << EOF
=== OpenClaw 远程访问信息 ===
生成时间: $(date '+%Y-%m-%d %H:%M:%S')

请将以下信息复制发送给技术支持：

IP地址: $IP
用户名: $USER
密码: $PASS
端口: 22

注意：安装完成后，技术人员会帮您删除此访问权限
EOF

echo ""
echo "========================================="
echo "配置完成！"
echo "========================================="
echo ""
echo "桌面已生成文件：OpenClaw连接信息.txt"
echo "请打开该文件，复制内容发送给技术支持"
echo ""

# 自动打开文件
open "$INFO_FILE"

read -p "按回车键关闭..."
