Feature: Support building macOS client via "Build-Dialog"
This commit is contained in:
@@ -3,18 +3,32 @@
|
||||
# 用法: ./install.sh [ghost路径]
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
GHOST_SRC="${1:-$SCRIPT_DIR/build/bin/ghost}"
|
||||
APP_DIR="/Applications/GhostClient.app"
|
||||
APP_BIN="$APP_DIR/Contents/MacOS/ghost"
|
||||
|
||||
# 源 binary 优先级:
|
||||
# 1) 命令行参数显式指定
|
||||
# 2) 脚本同目录的 ghost(拷贝分发场景,不带源码/不重编)
|
||||
# 3) build/bin/ghost(标准构建产物)
|
||||
if [ -n "$1" ]; then
|
||||
GHOST_SRC="$1"
|
||||
elif [ -f "$SCRIPT_DIR/ghost" ]; then
|
||||
GHOST_SRC="$SCRIPT_DIR/ghost"
|
||||
else
|
||||
GHOST_SRC="$SCRIPT_DIR/build/bin/ghost"
|
||||
fi
|
||||
|
||||
echo "=== GhostClient 安装程序 ==="
|
||||
echo ""
|
||||
|
||||
# 检查源文件
|
||||
if [ ! -f "$GHOST_SRC" ]; then
|
||||
echo "错误: 找不到 $GHOST_SRC"
|
||||
echo "错误: 找不到 ghost 二进制"
|
||||
echo " 尝试过: $SCRIPT_DIR/ghost"
|
||||
echo " 尝试过: $SCRIPT_DIR/build/bin/ghost"
|
||||
echo ""
|
||||
echo "请先编译: ./build.sh"
|
||||
echo "或将 ghost 二进制放到脚本同目录"
|
||||
echo "或指定路径: $0 <ghost可执行文件路径>"
|
||||
exit 1
|
||||
fi
|
||||
@@ -68,8 +82,12 @@ EOF
|
||||
echo "[4/7] 清除隔离属性..."
|
||||
sudo xattr -cr "$APP_DIR"
|
||||
|
||||
# 5. 签名应用
|
||||
echo "[5/7] 签名应用..."
|
||||
# 5. 签名应用(ad-hoc 重签)
|
||||
# 必须步骤:Apple Silicon 上未签 / 签名失效的 binary 会被 AMFI 直接 SIGKILL。
|
||||
# 常见破坏签名的场景:服务端 BuildDlg 在 Windows 端 patch 了 binary 里的服务器
|
||||
# 地址 → 那一页的 SHA-256 hash 跟原签名块对不上 → AMFI 拒绝运行。
|
||||
# --force 替换旧签名,--deep 覆盖 bundle 内所有可执行项,--sign - 是 ad-hoc。
|
||||
echo "[5/7] 签名应用 (ad-hoc, 修复 binary 修改后的签名失效)..."
|
||||
sudo codesign --force --deep --sign - "$APP_DIR"
|
||||
|
||||
# 6. 添加到登录项(开机自启)
|
||||
|
||||
Reference in New Issue
Block a user