#!/bin/bash # Hayaku HTTP守护进程安装脚本 set -e echo "安装Hayaku HTTP守护进程..." # 检查是否以root权限运行 if [ "$EUID" -ne 0 ]; then echo "请使用sudo运行此脚本" exit 1 fi # 获取脚本所在目录 SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" BINARY_NAME="InjectLib" PLIST_NAME="com.qiuchenly.hayaku.daemon.plist" # 检查二进制文件是否存在(在脚本同级目录) if [ ! -f "$SCRIPT_DIR/../InjectLib" ]; then echo "错误: 找不到 $BINARY_NAME 文件" echo "请先编译项目" exit 1 fi # 软连接tool和config.json到二进制同级目录 ln -fs "$SCRIPT_DIR/../tool" "/usr/local/bin/tool" ln -fs "$SCRIPT_DIR/../config.json" "/usr/local/bin/config.json" ln -fs "$SCRIPT_DIR/../frontend" "/usr/local/bin/frontend" # 复制二进制文件到系统目录 echo "复制二进制文件到 /usr/local/bin/" cp "$SCRIPT_DIR/../InjectLib" "/usr/local/bin/" chmod +x "/usr/local/bin/$BINARY_NAME" # 复制plist文件到LaunchDaemons目录 echo "安装LaunchDaemon配置..." cp "$SCRIPT_DIR/$PLIST_NAME" "/Library/LaunchDaemons/" chmod 644 "/Library/LaunchDaemons/$PLIST_NAME" # 加载并启动服务 echo "启动服务..." launchctl load "/Library/LaunchDaemons/$PLIST_NAME" launchctl start "com.qiuchenly.hayaku.daemon" echo "安装完成!" echo "服务状态:" launchctl list | grep com.qiuchenly.hayaku.daemon || echo "服务未运行" echo "" echo "访问 http://localhost:15200 查看应用商店" echo "查看日志: tail -f /var/log/hayaku_daemon*"