mirror of
https://git-qiuchenly.yltfspace.com/QiuChenly/corepatch
synced 2025-11-25 04:35:07 +08:00
Compare commits
3 Commits
345a1ce7c8
...
7e4250d76d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7e4250d76d | ||
|
|
a07cb064cf | ||
|
|
0000058cfd |
@@ -1443,7 +1443,8 @@
|
|||||||
"co.podzim.PDFPals-setapp",
|
"co.podzim.PDFPals-setapp",
|
||||||
"com.lowtechguys.Clop-setapp",
|
"com.lowtechguys.Clop-setapp",
|
||||||
"com.dreamer.habits-setapp",
|
"com.dreamer.habits-setapp",
|
||||||
"com.smallwhite-media.SwiftyLaunch-setapp"
|
"com.smallwhite-media.SwiftyLaunch-setapp",
|
||||||
|
"com.imobie.FocuSee-setapp"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,31 +1,32 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
<!DOCTYPE plist PUBLIC "-//Apple//DTDPLIST1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
<dict>
|
<dict>
|
||||||
<key>Label</key>
|
<key>Label</key>
|
||||||
<string>com.qiuchenly.hayaku.daemon</string>
|
<string>com.qiuchenly.hayaku.daemon</string>
|
||||||
<key>ProgramArguments</key>
|
<key>ProgramArguments</key>
|
||||||
<array>
|
<array>
|
||||||
<string>/usr/local/bin/InjectLib</string>
|
<string>/usr/local/bin/QiuChenly/InjectLib</string>
|
||||||
<string>--daemon</string>
|
<string>--daemon</string>
|
||||||
</array>
|
<string>/usr/local/bin/QiuChenly/config.json</string>
|
||||||
<key>RunAtLoad</key>
|
</array>
|
||||||
<true/>
|
<key>RunAtLoad</key>
|
||||||
<key>KeepAlive</key>
|
<true/>
|
||||||
<true/>
|
<key>KeepAlive</key>
|
||||||
<key>StandardOutPath</key>
|
<true/>
|
||||||
<string>/var/log/hayaku_daemon.log</string>
|
<key>StandardOutPath</key>
|
||||||
<key>StandardErrorPath</key>
|
<string>/var/log/hayaku_daemon.log</string>
|
||||||
<string>/var/log/hayaku_daemon_error.log</string>
|
<key>StandardErrorPath</key>
|
||||||
<key>UserName</key>
|
<string>/var/log/hayaku_daemon_error.log</string>
|
||||||
<string>root</string>
|
<key>UserName</key>
|
||||||
<key>GroupName</key>
|
<string>root</string>
|
||||||
<string>wheel</string>
|
<key>GroupName</key>
|
||||||
<key>WorkingDirectory</key>
|
<string>wheel</string>
|
||||||
<string>/usr/local/bin</string>
|
<key>WorkingDirectory</key>
|
||||||
<key>ProcessType</key>
|
<string>/usr/local/bin/QiuChenly</string>
|
||||||
<string>Background</string>
|
<key>ProcessType</key>
|
||||||
<key>ThrottleInterval</key>
|
<string>Background</string>
|
||||||
<integer>1</integer>
|
<key>ThrottleInterval</key>
|
||||||
</dict>
|
<integer>1</integer>
|
||||||
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
|||||||
@@ -24,15 +24,20 @@ if [ ! -f "$SCRIPT_DIR/../InjectLib" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 软连接tool和config.json到二进制同级目录
|
# 创建目录
|
||||||
ln -fs "$SCRIPT_DIR/../tool" "/usr/local/bin/tool"
|
mkdir -p "/usr/local/bin/QiuChenly"
|
||||||
ln -fs "$SCRIPT_DIR/../config.json" "/usr/local/bin/config.json"
|
cp -r "$SCRIPT_DIR/../tool" "/usr/local/bin/QiuChenly/tool"
|
||||||
ln -fs "$SCRIPT_DIR/../frontend" "/usr/local/bin/frontend"
|
cp -r "$SCRIPT_DIR/../config.json" "/usr/local/bin/QiuChenly/config.json"
|
||||||
|
cp -r "$SCRIPT_DIR/../frontend" "/usr/local/bin/QiuChenly/frontend"
|
||||||
|
|
||||||
# 复制二进制文件到系统目录
|
# 复制二进制文件到系统目录
|
||||||
echo "复制二进制文件到 /usr/local/bin/"
|
echo "复制二进制文件到 /usr/local/bin/QiuChenly/"
|
||||||
cp "$SCRIPT_DIR/../InjectLib" "/usr/local/bin/"
|
cp "$SCRIPT_DIR/../InjectLib" "/usr/local/bin/QiuChenly/"
|
||||||
chmod +x "/usr/local/bin/$BINARY_NAME"
|
chmod +x "/usr/local/bin/QiuChenly/$BINARY_NAME"
|
||||||
|
|
||||||
|
xattr -cr "/usr/local/bin/QiuChenly/InjectLib"
|
||||||
|
xattr -cr "/usr/local/bin/QiuChenly/tool"
|
||||||
|
codesign -fs - --all-architectures "/usr/local/bin/QiuChenly/tool/CoreInject.dylib"
|
||||||
|
|
||||||
# 复制plist文件到LaunchDaemons目录
|
# 复制plist文件到LaunchDaemons目录
|
||||||
echo "安装LaunchDaemon配置..."
|
echo "安装LaunchDaemon配置..."
|
||||||
|
|||||||
@@ -21,10 +21,11 @@ launchctl unload "/Library/LaunchDaemons/$PLIST_NAME" 2>/dev/null || true
|
|||||||
|
|
||||||
# 删除文件
|
# 删除文件
|
||||||
echo "删除文件..."
|
echo "删除文件..."
|
||||||
rm -f "/usr/local/bin/InjectLib"
|
rm -f "/usr/local/bin/QiuChenly/InjectLib"
|
||||||
rm -f "/usr/local/bin/tool"
|
rm -rf "/usr/local/bin/QiuChenly/tool"
|
||||||
rm -f "/usr/local/bin/config.json"
|
rm -f "/usr/local/bin/QiuChenly/config.json"
|
||||||
rm -f "/usr/local/bin/frontend"
|
rm -rf "/usr/local/bin/QiuChenly/frontend"
|
||||||
|
rm -rf "/usr/local/bin/QiuChenly"
|
||||||
rm -f "/Library/LaunchDaemons/$PLIST_NAME"
|
rm -f "/Library/LaunchDaemons/$PLIST_NAME"
|
||||||
rm -f "/var/log/hayaku_daemon.log"
|
rm -f "/var/log/hayaku_daemon.log"
|
||||||
rm -f "/var/log/hayaku_daemon_error.log"
|
rm -f "/var/log/hayaku_daemon_error.log"
|
||||||
|
|||||||
637
res/安装说明.md
637
res/安装说明.md
@@ -4,6 +4,8 @@
|
|||||||
|
|
||||||
QiuChenly 应用商店是一个基于 HTTP 服务的 macOS 应用注入工具商店,以系统守护进程方式运行,提供 Web 界面管理和使用各种 macOS 应用注入脚本。
|
QiuChenly 应用商店是一个基于 HTTP 服务的 macOS 应用注入工具商店,以系统守护进程方式运行,提供 Web 界面管理和使用各种 macOS 应用注入脚本。
|
||||||
|
|
||||||
|
文档篇幅较长,很详细,善用搜索,记得看完。
|
||||||
|
|
||||||
## 预览
|
## 预览
|
||||||
|
|
||||||

|

|
||||||
@@ -16,6 +18,12 @@ QiuChenly 应用商店是一个基于 HTTP 服务的 macOS 应用注入工具商
|
|||||||
- 系统守护进程方式运行,开机自动启动
|
- 系统守护进程方式运行,开机自动启动
|
||||||
- Web 界面访问,方便直观
|
- Web 界面访问,方便直观
|
||||||
- 支持数百款 macOS 应用的注入和破解
|
- 支持数百款 macOS 应用的注入和破解
|
||||||
|
- **支持临时运行**:无需安装系统服务,可直接命令行启动测试
|
||||||
|
|
||||||
|
**使用方式:**
|
||||||
|
|
||||||
|
- **临时运行**:适合测试,无需安装,命令行启动即可
|
||||||
|
- **安装服务**:推荐长期使用,开机自启,自动重启
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -42,7 +50,7 @@ QiuChenly 应用商店是一个基于 HTTP 服务的 macOS 应用注入工具商
|
|||||||
在安装前,请确保项目目录包含以下关键文件:
|
在安装前,请确保项目目录包含以下关键文件:
|
||||||
|
|
||||||
```
|
```
|
||||||
InjectShell/
|
InjectLib/
|
||||||
├── InjectLib # 主程序(编译生成)
|
├── InjectLib # 主程序(编译生成)
|
||||||
├── config.json # 配置文件
|
├── config.json # 配置文件
|
||||||
├── tool/ # 工具目录
|
├── tool/ # 工具目录
|
||||||
@@ -55,7 +63,69 @@ InjectShell/
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 详细安装步骤
|
## 临时运行(无需安装)
|
||||||
|
|
||||||
|
如果您只是想测试或临时使用,可以不必安装系统服务,直接使用命令行临时启动:
|
||||||
|
|
||||||
|
### 如何临时运行
|
||||||
|
|
||||||
|
1. **打开终端**
|
||||||
|
- 按下快捷键 **Command ⌘ + 空格**
|
||||||
|
- 输入 **终端** 并打开
|
||||||
|
|
||||||
|
2. **进入项目目录**
|
||||||
|
```bash
|
||||||
|
cd /Volumes/MySSD/InjectLib
|
||||||
|
# 或者你的项目实际路径
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **直接运行程序**
|
||||||
|
```bash
|
||||||
|
sudo ./InjectLib --daemon config.json
|
||||||
|
```
|
||||||
|
|
||||||
|
4. **保持终端窗口打开**
|
||||||
|
- 服务会在当前终端窗口中运行
|
||||||
|
- 不要关闭终端窗口
|
||||||
|
- 按 **Ctrl + C** 可以停止服务
|
||||||
|
|
||||||
|
5. **访问 Web 界面**
|
||||||
|
- 打开浏览器访问:`http://localhost:15200`
|
||||||
|
|
||||||
|
### 临时运行的优缺点
|
||||||
|
|
||||||
|
**优点:**
|
||||||
|
- 无需安装,快速测试
|
||||||
|
- 不修改系统配置
|
||||||
|
- 停止后不留任何痕迹
|
||||||
|
- 适合临时使用或测试
|
||||||
|
|
||||||
|
**缺点:**
|
||||||
|
- 关闭终端窗口后服务会停止
|
||||||
|
- 不会开机自动启动
|
||||||
|
- 进程异常退出后不会自动重启
|
||||||
|
- 需要手动管理进程
|
||||||
|
- 仍然需要配置系统权限(完全磁盘访问 + App管理)
|
||||||
|
|
||||||
|
### 重要提示
|
||||||
|
|
||||||
|
**即使临时运行,也必须授予系统权限:**
|
||||||
|
|
||||||
|
1. **配置完全磁盘访问权限**
|
||||||
|
- 系统设置 → 隐私与安全性 → 完全磁盘访问权限
|
||||||
|
- 添加项目路径下的 `InjectLib` 程序
|
||||||
|
|
||||||
|
2. **配置 App 管理权限**
|
||||||
|
- 系统设置 → 隐私与安全性 → App管理
|
||||||
|
- 添加项目路径下的 `InjectLib` 程序
|
||||||
|
|
||||||
|
详细的权限配置方法请参考后面的"安装后配置"章节。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 详细安装步骤(推荐:开机自启)
|
||||||
|
|
||||||
|
如果您希望服务开机自动启动、异常退出后自动重启,建议按照以下步骤安装系统服务。
|
||||||
|
|
||||||
### 步骤 1:进入项目目录
|
### 步骤 1:进入项目目录
|
||||||
|
|
||||||
@@ -87,8 +157,12 @@ sudo bash install_daemon.sh
|
|||||||
|
|
||||||
安装过程会自动执行以下操作:
|
安装过程会自动执行以下操作:
|
||||||
|
|
||||||
1. 创建软链接:`tool`、`config.json`、`frontend` → `/usr/local/bin/`
|
1. 创建安装目录:`/usr/local/bin/QiuChenly/`
|
||||||
2. 复制二进制:`InjectLib` → `/usr/local/bin/InjectLib`
|
2. 复制所有文件到系统目录:
|
||||||
|
- `tool/` → `/usr/local/bin/QiuChenly/tool/`
|
||||||
|
- `config.json` → `/usr/local/bin/QiuChenly/config.json`
|
||||||
|
- `frontend/` → `/usr/local/bin/QiuChenly/frontend/`
|
||||||
|
- `InjectLib` → `/usr/local/bin/QiuChenly/InjectLib`
|
||||||
3. 安装守护进程配置:`com.qiuchenly.hayaku.daemon.plist` → `/Library/LaunchDaemons/`
|
3. 安装守护进程配置:`com.qiuchenly.hayaku.daemon.plist` → `/Library/LaunchDaemons/`
|
||||||
4. 加载并启动服务
|
4. 加载并启动服务
|
||||||
|
|
||||||
@@ -96,7 +170,7 @@ sudo bash install_daemon.sh
|
|||||||
|
|
||||||
```
|
```
|
||||||
安装Hayaku HTTP守护进程...
|
安装Hayaku HTTP守护进程...
|
||||||
复制二进制文件到 /usr/local/bin/
|
复制二进制文件到 /usr/local/bin/QiuChenly/
|
||||||
安装LaunchDaemon配置...
|
安装LaunchDaemon配置...
|
||||||
启动服务...
|
启动服务...
|
||||||
安装完成!
|
安装完成!
|
||||||
@@ -109,108 +183,255 @@ xxxxx 0 com.qiuchenly.hayaku.daemon
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 重要警告 - 请务必仔细阅读
|
## 安装后配置(必须执行)
|
||||||
|
|
||||||
### 安装后绝对不能删除项目源文件夹!
|
### ⚠️ 授予程序必要的系统权限
|
||||||
|
|
||||||
**这是最重要的注意事项!**
|
**这是最重要的步骤!如果不授权,服务将无法正常工作!**
|
||||||
|
|
||||||
#### 为什么不能删除?
|
#### 为什么需要这些权限?
|
||||||
|
|
||||||
安装脚本使用了**软链接(Symbolic Link)**机制,而不是复制文件:
|
QiuChenly 应用商店的主程序 `InjectLib` 需要以下权限才能正常运行:
|
||||||
|
|
||||||
| 文件/目录 | 源路径 | 目标路径 | 链接方式 |
|
- **完全磁盘访问权限**:用于读取和修改应用程序包内的文件
|
||||||
| ---------------- | ---------------------- | ---------------------------- | ---------- |
|
- **App管理权限**:用于管理和注入目标应用程序
|
||||||
| tool 工具目录 | `项目目录/tool/` | `/usr/local/bin/tool` | **软链接** |
|
|
||||||
| config.json 配置 | `项目目录/config.json` | `/usr/local/bin/config.json` | **软链接** |
|
|
||||||
| frontend 前端 | `项目目录/frontend/` | `/usr/local/bin/frontend` | **软链接** |
|
|
||||||
| InjectLib 程序 | `项目目录/InjectLib` | `/usr/local/bin/InjectLib` | 复制 |
|
|
||||||
|
|
||||||
#### 什么是软链接?
|
#### 如何授予权限
|
||||||
|
|
||||||
软链接类似于 Windows 的"快捷方式",它只是一个指向原始文件的指针,**不是真实的文件拷贝**。
|
**注意:必须授权给安装后的程序路径 `/usr/local/bin/QiuChenly/InjectLib`**
|
||||||
|
|
||||||
```
|
---
|
||||||
系统中的软链接 → 指向 → 项目源文件夹中的实际文件
|
|
||||||
```
|
|
||||||
|
|
||||||
如果您删除了项目源文件夹:
|
**步骤 1:配置完全磁盘访问权限**
|
||||||
|
|
||||||
- 软链接会失效(变成"死链接")
|
##### 方法 A:图形界面操作(推荐)
|
||||||
- 服务启动时找不到 `tool`、`config.json`、`frontend` 目录
|
|
||||||
- 应用商店无法正常工作
|
|
||||||
- 所有功能完全失效
|
|
||||||
|
|
||||||
#### 示例说明
|
1. **打开系统设置**
|
||||||
|
- 点击屏幕左上角的 **苹果图标**
|
||||||
|
- 选择 **系统设置**(或 **系统偏好设置**,取决于 macOS 版本)
|
||||||
|
|
||||||
**正常情况:**
|
2. **进入隐私与安全性**
|
||||||
|
- 在左侧边栏中找到并点击 **隐私与安全性**
|
||||||
|
- 在右侧向下滚动,找到 **完全磁盘访问权限**
|
||||||
|
- 点击进入
|
||||||
|
|
||||||
|
3. **解锁设置**
|
||||||
|
- 点击左下角的 **锁图标**
|
||||||
|
- 输入您的 **管理员密码**
|
||||||
|
- 点击 **解锁**
|
||||||
|
|
||||||
|
4. **添加 InjectLib 程序**
|
||||||
|
- 点击应用列表下方的 **+** 按钮
|
||||||
|
- 在弹出的文件选择窗口中,按下键盘快捷键 **Command ⌘ + Shift ⇧ + G**
|
||||||
|
- 在弹出的"前往文件夹"输入框中输入:`/usr/local/bin/QiuChenly/`
|
||||||
|
- 点击 **前往**
|
||||||
|
- 选中 **InjectLib** 文件
|
||||||
|
- 点击 **打开**
|
||||||
|
|
||||||
|
5. **确认开关状态**
|
||||||
|
- 在应用列表中找到 **InjectLib**
|
||||||
|
- 确保它旁边的开关是 **✓ 蓝色/绿色开启状态**
|
||||||
|
- 如果是关闭状态,点击开关将其打开
|
||||||
|
|
||||||
|
6. **锁定设置**
|
||||||
|
- 点击左下角的 **锁图标** 锁定设置
|
||||||
|
|
||||||
|
##### 方法 B:使用终端命令快速打开
|
||||||
|
|
||||||
|
如果您熟悉终端,可以直接执行以下命令打开对应设置页面:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
/usr/local/bin/tool → InjectShell/tool/
|
open "x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles"
|
||||||
# 软链接指向源文件夹,一切正常
|
|
||||||
```
|
```
|
||||||
|
|
||||||
**删除源文件夹后:**
|
然后按照方法 A 的步骤 3-6 操作即可。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**步骤 2:配置 App 管理权限**
|
||||||
|
|
||||||
|
##### 方法 A:图形界面操作(推荐)
|
||||||
|
|
||||||
|
1. **打开系统设置**
|
||||||
|
- 点击屏幕左上角的 **苹果图标**
|
||||||
|
- 选择 **系统设置**(或 **系统偏好设置**)
|
||||||
|
|
||||||
|
2. **进入隐私与安全性**
|
||||||
|
- 在左侧边栏中找到并点击 **隐私与安全性**
|
||||||
|
- 在右侧向下滚动,找到 **App管理**(或 **自动化**,取决于 macOS 版本)
|
||||||
|
- 点击进入
|
||||||
|
|
||||||
|
3. **解锁设置**
|
||||||
|
- 点击左下角的 **锁图标**
|
||||||
|
- 输入您的 **管理员密码**
|
||||||
|
- 点击 **解锁**
|
||||||
|
|
||||||
|
4. **添加 InjectLib 程序**
|
||||||
|
- 点击应用列表下方的 **+** 按钮
|
||||||
|
- 在弹出的文件选择窗口中,按下键盘快捷键 **Command ⌘ + Shift ⇧ + G**
|
||||||
|
- 在弹出的"前往文件夹"输入框中输入:`/usr/local/bin/QiuChenly/`
|
||||||
|
- 点击 **前往**
|
||||||
|
- 选中 **InjectLib** 文件
|
||||||
|
- 点击 **打开**
|
||||||
|
|
||||||
|
5. **确认开关状态**
|
||||||
|
- 在应用列表中找到 **InjectLib**
|
||||||
|
- 确保它旁边的开关是 **✓ 蓝色/绿色开启状态**
|
||||||
|
- 如果是关闭状态,点击开关将其打开
|
||||||
|
|
||||||
|
6. **锁定设置**
|
||||||
|
- 点击左下角的 **锁图标** 锁定设置
|
||||||
|
|
||||||
|
##### 方法 B:使用终端命令快速打开
|
||||||
|
|
||||||
|
如果您熟悉终端,可以直接执行以下命令打开对应设置页面:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
/usr/local/bin/tool → InjectShell/tool/
|
open "x-apple.systempreferences:com.apple.preference.security?Privacy_AppManagement"
|
||||||
# 源文件夹已被删除,软链接失效
|
|
||||||
# 服务启动报错:No such file or directory
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### 推荐做法
|
然后按照方法 A 的步骤 3-6 操作即可。
|
||||||
|
|
||||||
#### 1. 选择永久存放位置
|
---
|
||||||
|
|
||||||
在安装**之前**,将项目文件夹移动到一个不会被删除的位置,例如:
|
**步骤 3:重启服务使权限生效**
|
||||||
|
|
||||||
|
配置完权限后,需要重启服务才能使权限生效。
|
||||||
|
|
||||||
|
##### 方法 A:图形界面操作(推荐)
|
||||||
|
|
||||||
|
1. **打开"活动监视器"**
|
||||||
|
- 按下键盘快捷键 **Command ⌘ + 空格** 打开聚焦搜索
|
||||||
|
- 输入 **活动监视器**
|
||||||
|
- 按下 **回车键** 打开
|
||||||
|
|
||||||
|
2. **查找并结束 InjectLib 进程**
|
||||||
|
- 在右上角的搜索框中输入:**InjectLib**
|
||||||
|
- 找到 **InjectLib** 进程
|
||||||
|
- 双击该进程(或选中后点击上方的关闭按钮)
|
||||||
|
- 点击 **退出** 或 **强制退出**
|
||||||
|
|
||||||
|
3. **等待服务自动重启**
|
||||||
|
- LaunchDaemon 会自动重启服务(大约 1-2 秒)
|
||||||
|
- 您可以在活动监视器中看到 InjectLib 进程再次出现
|
||||||
|
|
||||||
|
##### 方法 B:使用终端命令
|
||||||
|
|
||||||
|
如果您熟悉终端,可以执行以下命令:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 推荐位置1:用户主目录
|
sudo launchctl stop com.qiuchenly.hayaku.daemon
|
||||||
~/InjectShell
|
sudo launchctl start com.qiuchenly.hayaku.daemon
|
||||||
|
|
||||||
# 推荐位置2:当前位置(如果您确定不会删除)
|
|
||||||
/Volumes/MySSD/InjectShell/
|
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 2. 移动项目文件夹
|
#### 验证权限和服务
|
||||||
|
|
||||||
如果需要移动,请**先卸载,再移动,然后重新安装**:
|
##### 方法 A:图形界面验证(推荐)
|
||||||
|
|
||||||
|
**1. 检查服务是否运行**
|
||||||
|
|
||||||
|
- 打开 **活动监视器**(Command ⌘ + 空格,输入"活动监视器")
|
||||||
|
- 在右上角搜索框输入:**InjectLib**
|
||||||
|
- 如果能看到 **InjectLib** 进程在运行,说明服务已启动
|
||||||
|
|
||||||
|
**2. 访问 Web 界面**
|
||||||
|
|
||||||
|
- 打开您的浏览器(Safari、Chrome 等)
|
||||||
|
- 在地址栏输入:`http://localhost:15200`
|
||||||
|
- 如果能看到应用商店界面,说明服务正常运行
|
||||||
|
|
||||||
|
**3. 检查日志文件(可选)**
|
||||||
|
|
||||||
|
方法一:使用控制台应用
|
||||||
|
- 按下快捷键 **Command ⌘ + 空格**,输入 **控制台** 并打开
|
||||||
|
- 在左侧边栏选择 **系统日志**
|
||||||
|
- 在右上角搜索框输入:**hayaku_daemon**
|
||||||
|
- 查看日志中是否有 `Operation not permitted` 或 `Permission denied` 等权限错误
|
||||||
|
- 如果没有权限错误,说明配置成功
|
||||||
|
|
||||||
|
方法二:使用终端查看
|
||||||
|
```bash
|
||||||
|
# 查看错误日志
|
||||||
|
sudo tail -n 20 /var/log/hayaku_daemon_error.log
|
||||||
|
|
||||||
|
# 实时查看日志(按 Ctrl+C 停止)
|
||||||
|
sudo tail -f /var/log/hayaku_daemon_error.log
|
||||||
|
```
|
||||||
|
|
||||||
|
##### 方法 B:使用终端验证
|
||||||
|
|
||||||
|
如果您熟悉终端,可以执行以下命令:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 1. 卸载当前安装
|
# 查看服务状态
|
||||||
cd /当前项目路径/res
|
sudo launchctl list | grep com.qiuchenly.hayaku.daemon
|
||||||
sudo bash uninstall_daemon.sh
|
|
||||||
|
|
||||||
# 2. 移动项目到新位置
|
# 测试运行主程序
|
||||||
mv /当前项目路径 /新的永久路径
|
sudo /usr/local/bin/QiuChenly/InjectLib --daemon /usr/local/bin/QiuChenly/config.json
|
||||||
|
# 如果能正常启动说明权限配置正确,按 Ctrl+C 停止
|
||||||
|
|
||||||
# 3. 在新位置重新安装
|
# 检查日志是否有权限错误
|
||||||
cd /新的永久路径/res
|
tail -n 20 /var/log/hayaku_daemon_error.log
|
||||||
sudo bash install_daemon.sh
|
|
||||||
|
# 在浏览器中打开 Web 界面
|
||||||
|
open http://localhost:15200
|
||||||
```
|
```
|
||||||
|
|
||||||
### 如何验证软链接是否正常
|
##### 验证成功的标志
|
||||||
|
|
||||||
安装完成后,可以执行以下命令验证软链接:
|
如果一切正常,您应该能够:
|
||||||
|
- 在活动监视器中看到 InjectLib 进程运行
|
||||||
|
- 访问 `http://localhost:15200` 看到 Web 界面
|
||||||
|
- 日志文件中没有权限相关的错误
|
||||||
|
- 成功注入应用程序
|
||||||
|
|
||||||
|
#### 重要提示
|
||||||
|
|
||||||
|
- **必须授权给 `/usr/local/bin/QiuChenly/InjectLib`(安装后的路径)**
|
||||||
|
- **两个权限都必须配置**:完全磁盘访问 + App管理
|
||||||
|
- **每次更新程序后都需要重新授权**
|
||||||
|
- 授权后必须重启服务才能生效
|
||||||
|
- 权限授予后会永久生效,除非手动撤销
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 重要说明
|
||||||
|
|
||||||
|
### 安装后可以安全删除项目源文件夹
|
||||||
|
|
||||||
|
**安装采用文件复制方式**,所有必要的文件都会复制到 `/usr/local/bin/QiuChenly/` 目录中:
|
||||||
|
|
||||||
|
| 文件/目录 | 源路径 | 目标路径 | 方式 |
|
||||||
|
| ---------------- | ---------------------- | ----------------------------------------- | ------ |
|
||||||
|
| tool 工具目录 | `项目目录/tool/` | `/usr/local/bin/QiuChenly/tool/` | 复制 |
|
||||||
|
| config.json 配置 | `项目目录/config.json` | `/usr/local/bin/QiuChenly/config.json` | 复制 |
|
||||||
|
| frontend 前端 | `项目目录/frontend/` | `/usr/local/bin/QiuChenly/frontend/` | 复制 |
|
||||||
|
| InjectLib 程序 | `项目目录/InjectLib` | `/usr/local/bin/QiuChenly/InjectLib` | 复制 |
|
||||||
|
|
||||||
|
安装完成后,**服务完全独立运行**,不再依赖项目源文件夹。您可以:
|
||||||
|
|
||||||
|
- 安全地删除项目源文件夹
|
||||||
|
- 移动项目文件夹到其他位置
|
||||||
|
- 重命名项目文件夹
|
||||||
|
|
||||||
|
### 如何验证安装
|
||||||
|
|
||||||
|
安装完成后,可以执行以下命令验证文件:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ls -la /usr/local/bin/ | grep -E 'tool|config.json|frontend|InjectLib'
|
ls -la /usr/local/bin/QiuChenly/
|
||||||
```
|
```
|
||||||
|
|
||||||
正常输出应该类似:
|
正常输出应该包含:
|
||||||
|
|
||||||
```
|
```
|
||||||
lrwxr-xr-x tool -> /Volumes/data/macOS_HookWorkSpace/InjectShell/tool
|
drwxr-xr-x tool/
|
||||||
lrwxr-xr-x config.json -> /Volumes/data/macOS_HookWorkSpace/InjectShell/config.json
|
-rw-r--r-- config.json
|
||||||
lrwxr-xr-x frontend -> /Volumes/data/macOS_HookWorkSpace/InjectShell/frontend
|
drwxr-xr-x frontend/
|
||||||
-rwxr-xr-x InjectLib
|
-rwxr-xr-x InjectLib
|
||||||
```
|
```
|
||||||
|
|
||||||
**说明:**
|
所有文件都是实际复制的文件,不是符号链接
|
||||||
|
|
||||||
- `l` 开头表示软链接(link)
|
|
||||||
- `->` 后面是指向的源文件路径
|
|
||||||
- `InjectLib` 是实际复制的文件,不是链接
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -283,28 +504,47 @@ http://localhost:15200
|
|||||||
|
|
||||||
### 查看运行日志
|
### 查看运行日志
|
||||||
|
|
||||||
系统会自动记录服务的运行日志和错误日志:
|
系统会自动记录服务的运行日志和错误日志。
|
||||||
|
|
||||||
|
#### 方法 A:使用控制台应用(推荐)
|
||||||
|
|
||||||
|
1. **打开控制台应用**
|
||||||
|
- 按下快捷键 **Command ⌘ + 空格**
|
||||||
|
- 输入 **控制台** 并打开
|
||||||
|
|
||||||
|
2. **查看系统日志**
|
||||||
|
- 在左侧边栏选择 **系统日志**
|
||||||
|
- 在右上角搜索框输入:**hayaku_daemon**
|
||||||
|
- 可以实时查看日志更新
|
||||||
|
|
||||||
|
3. **筛选日志**
|
||||||
|
- 点击搜索框旁边的筛选按钮
|
||||||
|
- 可以按照时间、级别(错误、警告、信息)筛选
|
||||||
|
|
||||||
|
#### 方法 B:使用终端命令
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 实时查看标准输出日志
|
# 实时查看标准输出日志
|
||||||
tail -f /var/log/hayaku_daemon.log
|
sudo tail -f /var/log/hayaku_daemon.log
|
||||||
|
|
||||||
# 实时查看错误日志
|
# 实时查看错误日志
|
||||||
tail -f /var/log/hayaku_daemon_error.log
|
sudo tail -f /var/log/hayaku_daemon_error.log
|
||||||
|
|
||||||
# 查看最近100行日志
|
# 查看最近100行日志
|
||||||
tail -n 100 /var/log/hayaku_daemon.log
|
sudo tail -n 100 /var/log/hayaku_daemon.log
|
||||||
|
|
||||||
# 查看所有日志
|
# 查看所有日志
|
||||||
cat /var/log/hayaku_daemon.log
|
sudo cat /var/log/hayaku_daemon.log
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**注意:** 查看 `/var/log/` 目录下的文件需要使用 `sudo` 管理员权限。
|
||||||
|
|
||||||
### 日志文件说明
|
### 日志文件说明
|
||||||
|
|
||||||
| 日志文件 | 路径 | 内容 |
|
| 日志文件 | 路径 | 内容 | 查看方式 |
|
||||||
| -------- | ---------------------------------- | ---------------------- |
|
| -------- | ---------------------------------- | ---------------------- | --------------------- |
|
||||||
| 标准输出 | `/var/log/hayaku_daemon.log` | 正常运行信息、调试信息 |
|
| 标准输出 | `/var/log/hayaku_daemon.log` | 正常运行信息、调试信息 | 控制台应用或终端+sudo |
|
||||||
| 错误输出 | `/var/log/hayaku_daemon_error.log` | 错误信息、异常堆栈 |
|
| 错误输出 | `/var/log/hayaku_daemon_error.log` | 错误信息、异常堆栈 | 控制台应用或终端+sudo |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -398,17 +638,24 @@ sudo launchctl list | grep com.qiuchenly.hayaku.daemon
|
|||||||
# 应该没有任何输出
|
# 应该没有任何输出
|
||||||
|
|
||||||
# 检查系统文件是否已删除
|
# 检查系统文件是否已删除
|
||||||
ls -la /usr/local/bin/ | grep -E 'InjectLib|tool|config.json|frontend'
|
ls -la /usr/local/bin/QiuChenly/
|
||||||
|
# 应该提示目录不存在
|
||||||
|
|
||||||
|
# 或者检查整个安装路径
|
||||||
|
ls -d /usr/local/bin/QiuChenly 2>/dev/null
|
||||||
# 应该没有任何输出
|
# 应该没有任何输出
|
||||||
```
|
```
|
||||||
|
|
||||||
### 卸载后可以做什么
|
### 卸载说明
|
||||||
|
|
||||||
卸载完成后,项目源文件夹**不会被删除**,您可以:
|
卸载操作会:
|
||||||
|
|
||||||
- 安全地删除项目源文件夹
|
- 删除 `/usr/local/bin/QiuChenly/` 目录及所有文件
|
||||||
- 移动项目到其他位置后重新安装
|
- 删除 LaunchDaemon 配置文件
|
||||||
- 保留项目供以后使用
|
- 删除日志文件
|
||||||
|
- 项目源文件夹**不会被删除**(如果您还保留着的话)
|
||||||
|
|
||||||
|
卸载完成后,项目源文件夹可以保留供以后重新安装使用
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -422,7 +669,120 @@ ls -la /usr/local/bin/ | grep -E 'InjectLib|tool|config.json|frontend'
|
|||||||
|
|
||||||
## 故障排查
|
## 故障排查
|
||||||
|
|
||||||
### 问题 1:执行安装脚本提示权限不足
|
### 问题 1:服务无法正常工作或注入失败
|
||||||
|
|
||||||
|
**症状:**
|
||||||
|
|
||||||
|
- 服务启动了,但无法注入应用
|
||||||
|
- 日志中显示权限错误
|
||||||
|
- 提示"Operation not permitted"
|
||||||
|
- 无法访问应用程序包
|
||||||
|
|
||||||
|
**原因:** 主程序 `InjectLib` 没有必要的系统权限
|
||||||
|
|
||||||
|
**解决方案:**
|
||||||
|
|
||||||
|
#### 步骤 1:检查当前权限状态
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 检查服务状态
|
||||||
|
sudo launchctl list | grep com.qiuchenly.hayaku.daemon
|
||||||
|
|
||||||
|
# 查看错误日志
|
||||||
|
tail -n 50 /var/log/hayaku_daemon_error.log
|
||||||
|
```
|
||||||
|
|
||||||
|
如果日志中出现以下关键词,说明是权限问题:
|
||||||
|
- `Operation not permitted`
|
||||||
|
- `Permission denied`
|
||||||
|
- `sandbox`
|
||||||
|
- `TCC`
|
||||||
|
|
||||||
|
#### 步骤 2:为安装后的程序授权
|
||||||
|
|
||||||
|
**重要:安装后程序位于 `/usr/local/bin/QiuChenly/InjectLib`,需要给这个位置的程序授权!**
|
||||||
|
|
||||||
|
**A. 配置完全磁盘访问权限**
|
||||||
|
|
||||||
|
图形界面操作:
|
||||||
|
1. 点击屏幕左上角的 **苹果图标** → **系统设置**
|
||||||
|
2. 点击 **隐私与安全性** → **完全磁盘访问权限**
|
||||||
|
3. 点击左下角 **🔒** 输入密码解锁
|
||||||
|
4. 点击 **+** 按钮
|
||||||
|
5. 按 **Command ⌘ + Shift ⇧ + G**,输入:`/usr/local/bin/QiuChenly/`
|
||||||
|
6. 选择 **InjectLib** 并添加
|
||||||
|
7. 确保开关是 **✓ 开启状态**
|
||||||
|
|
||||||
|
终端快捷方式(可选):
|
||||||
|
```bash
|
||||||
|
# 打开系统设置(然后按照上面的步骤操作)
|
||||||
|
open "x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles"
|
||||||
|
```
|
||||||
|
|
||||||
|
**B. 配置 App 管理权限**
|
||||||
|
|
||||||
|
图形界面操作:
|
||||||
|
1. 点击屏幕左上角的 **苹果图标** → **系统设置**
|
||||||
|
2. 点击 **隐私与安全性** → **App管理**
|
||||||
|
3. 点击左下角 **🔒** 输入密码解锁
|
||||||
|
4. 点击 **+** 按钮
|
||||||
|
5. 按 **Command ⌘ + Shift ⇧ + G**,输入:`/usr/local/bin/QiuChenly/`
|
||||||
|
6. 选择 **InjectLib** 并添加
|
||||||
|
7. 确保开关是 **✓ 开启状态**
|
||||||
|
|
||||||
|
终端快捷方式(可选):
|
||||||
|
```bash
|
||||||
|
# 打开系统设置(然后按照上面的步骤操作)
|
||||||
|
open "x-apple.systempreferences:com.apple.preference.security?Privacy_AppManagement"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 步骤 3:重启服务
|
||||||
|
|
||||||
|
图形界面操作:
|
||||||
|
1. 打开 **活动监视器**(Command ⌘ + 空格,输入"活动监视器")
|
||||||
|
2. 搜索 **InjectLib**
|
||||||
|
3. 选中进程,点击 **退出**
|
||||||
|
4. 等待服务自动重启(1-2秒)
|
||||||
|
|
||||||
|
终端命令(可选):
|
||||||
|
```bash
|
||||||
|
sudo launchctl stop com.qiuchenly.hayaku.daemon
|
||||||
|
sudo launchctl start com.qiuchenly.hayaku.daemon
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 步骤 4:验证权限
|
||||||
|
|
||||||
|
图形界面验证:
|
||||||
|
1. 打开浏览器访问 `http://localhost:15200`
|
||||||
|
2. 在活动监视器中确认 InjectLib 进程运行正常
|
||||||
|
3. 打开"控制台"应用(Command ⌘ + 空格,输入"控制台"),搜索 **hayaku_daemon** 检查是否有权限错误
|
||||||
|
|
||||||
|
终端验证(可选):
|
||||||
|
```bash
|
||||||
|
# 测试运行
|
||||||
|
sudo /usr/local/bin/QiuChenly/InjectLib --daemon /usr/local/bin/QiuChenly/config.json
|
||||||
|
# 按 Ctrl+C 停止
|
||||||
|
|
||||||
|
# 如果能正常启动且没有权限错误,说明配置成功
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 常见权限错误示例
|
||||||
|
|
||||||
|
```
|
||||||
|
# 错误1:没有完全磁盘访问权限
|
||||||
|
Error: Failed to access application bundle
|
||||||
|
Operation not permitted
|
||||||
|
|
||||||
|
# 错误2:没有 App 管理权限
|
||||||
|
Error: Failed to inject into process
|
||||||
|
sandbox: denied(1) process-exec
|
||||||
|
|
||||||
|
# 解决方法:按照上面的步骤授权即可
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 问题 2:执行安装脚本提示权限不足
|
||||||
|
|
||||||
**错误信息:**
|
**错误信息:**
|
||||||
|
|
||||||
@@ -439,7 +799,7 @@ sudo bash install_daemon.sh
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 问题 2:找不到 InjectLib 文件
|
### 问题 3:找不到 InjectLib 文件
|
||||||
|
|
||||||
**错误信息:**
|
**错误信息:**
|
||||||
|
|
||||||
@@ -459,7 +819,7 @@ sudo bash install_daemon.sh
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 问题 3:服务无法启动
|
### 问题 4:服务无法启动
|
||||||
|
|
||||||
**检查方法:**
|
**检查方法:**
|
||||||
|
|
||||||
@@ -482,26 +842,24 @@ lsof -i :15200
|
|||||||
# 如果是其他程序,关闭该程序或修改配置使用其他端口
|
# 如果是其他程序,关闭该程序或修改配置使用其他端口
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 原因 2:软链接失效(删除了源文件夹)
|
#### 原因 2:文件缺失或损坏
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 检查软链接状态
|
# 检查安装文件是否完整
|
||||||
ls -la /usr/local/bin/tool
|
ls -la /usr/local/bin/QiuChenly/
|
||||||
ls -la /usr/local/bin/config.json
|
|
||||||
ls -la /usr/local/bin/frontend
|
|
||||||
|
|
||||||
# 如果显示红色或"No such file or directory",说明源文件夹被删除了
|
# 应该包含:InjectLib, tool/, config.json, frontend/
|
||||||
# 解决方案:恢复源文件夹,或重新安装
|
# 如果文件缺失,需要重新安装
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 原因 3:权限问题
|
#### 原因 3:权限问题
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 检查文件权限
|
# 检查文件权限
|
||||||
ls -la /usr/local/bin/InjectLib
|
ls -la /usr/local/bin/QiuChenly/InjectLib
|
||||||
|
|
||||||
# 确保InjectLib有执行权限
|
# 确保InjectLib有执行权限
|
||||||
sudo chmod +x /usr/local/bin/InjectLib
|
sudo chmod +x /usr/local/bin/QiuChenly/InjectLib
|
||||||
|
|
||||||
# 重启服务
|
# 重启服务
|
||||||
sudo launchctl stop com.qiuchenly.hayaku.daemon
|
sudo launchctl stop com.qiuchenly.hayaku.daemon
|
||||||
@@ -510,7 +868,7 @@ sudo launchctl start com.qiuchenly.hayaku.daemon
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 问题 4:无法访问 http://localhost:15200
|
### 问题 5:无法访问 http://localhost:15200
|
||||||
|
|
||||||
**检查清单:**
|
**检查清单:**
|
||||||
|
|
||||||
@@ -543,50 +901,44 @@ lsof -i :15200
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 问题 5:意外删除了项目源文件夹
|
### 问题 6:修改配置文件或工具后不生效
|
||||||
|
|
||||||
**症状:**
|
**症状:**
|
||||||
|
|
||||||
- 服务无法启动
|
- 修改了项目源文件夹中的 `config.json` 或 `tool/` 目录,但服务没有变化
|
||||||
- 访问 Web 界面显示 404 或无法连接
|
|
||||||
- 日志中显示"No such file or directory"
|
**原因:**
|
||||||
|
|
||||||
|
安装时使用的是文件复制,服务运行的是 `/usr/local/bin/QiuChenly/` 中的文件,不是源文件夹中的文件。
|
||||||
|
|
||||||
**解决方案:**
|
**解决方案:**
|
||||||
|
|
||||||
#### 方案 1:从备份恢复
|
修改配置后需要重新安装:
|
||||||
|
|
||||||
如果您有备份,恢复到原位置即可
|
|
||||||
|
|
||||||
#### 方案 2:重新下载项目
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 1. 先卸载残留的配置(如果卸载脚本也丢失,手动清理)
|
# 1. 停止服务
|
||||||
sudo launchctl unload /Library/LaunchDaemons/com.qiuchenly.hayaku.daemon.plist
|
sudo launchctl stop com.qiuchenly.hayaku.daemon
|
||||||
sudo rm -f /Library/LaunchDaemons/com.qiuchenly.hayaku.daemon.plist
|
|
||||||
sudo rm -f /usr/local/bin/InjectLib
|
|
||||||
sudo rm -f /usr/local/bin/tool
|
|
||||||
sudo rm -f /usr/local/bin/config.json
|
|
||||||
sudo rm -f /usr/local/bin/frontend
|
|
||||||
|
|
||||||
# 2. 重新克隆或下载项目
|
# 2. 手动更新文件
|
||||||
cd /path/to/install
|
sudo cp /path/to/InjectShell/config.json /usr/local/bin/QiuChenly/config.json
|
||||||
git clone <项目地址>
|
# 或者更新工具目录
|
||||||
# 或解压下载的zip文件
|
sudo cp -r /path/to/InjectShell/tool /usr/local/bin/QiuChenly/
|
||||||
|
|
||||||
# 3. 编译项目
|
# 3. 启动服务
|
||||||
cd InjectShell
|
sudo launchctl start com.qiuchenly.hayaku.daemon
|
||||||
mkdir build && cd build
|
```
|
||||||
cmake ..
|
|
||||||
make
|
|
||||||
|
|
||||||
# 4. 重新安装
|
或者完全重新安装:
|
||||||
cd ../res
|
|
||||||
|
```bash
|
||||||
|
cd /path/to/InjectShell/res
|
||||||
|
sudo bash uninstall_daemon.sh
|
||||||
sudo bash install_daemon.sh
|
sudo bash install_daemon.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 问题 6:卸载后仍能访问 Web 界面
|
### 问题 7:卸载后仍能访问 Web 界面
|
||||||
|
|
||||||
**原因:** 服务可能还在运行,或浏览器缓存
|
**原因:** 服务可能还在运行,或浏览器缓存
|
||||||
|
|
||||||
@@ -605,14 +957,14 @@ sudo kill -9 <PID>
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 问题 7:更新项目后功能异常
|
### 问题 8:更新项目后功能异常
|
||||||
|
|
||||||
**原因:** 服务仍在使用旧的二进制文件
|
**原因:** 服务使用的是安装时复制的文件,不会自动更新
|
||||||
|
|
||||||
**解决方案:**
|
**解决方案:**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 1. 重新编译项目
|
# 1. 重新编译项目(如果修改了源代码)
|
||||||
cd /path/to/InjectShell/build
|
cd /path/to/InjectShell/build
|
||||||
make clean
|
make clean
|
||||||
cmake ..
|
cmake ..
|
||||||
@@ -621,15 +973,26 @@ make
|
|||||||
# 2. 停止服务
|
# 2. 停止服务
|
||||||
sudo launchctl stop com.qiuchenly.hayaku.daemon
|
sudo launchctl stop com.qiuchenly.hayaku.daemon
|
||||||
|
|
||||||
# 3. 更新系统中的二进制文件
|
# 3. 更新系统中的文件
|
||||||
sudo cp ../InjectLib /usr/local/bin/InjectLib
|
sudo cp /path/to/InjectShell/InjectLib /usr/local/bin/QiuChenly/InjectLib
|
||||||
sudo chmod +x /usr/local/bin/InjectLib
|
sudo chmod +x /usr/local/bin/QiuChenly/InjectLib
|
||||||
|
|
||||||
|
# 如果修改了配置或工具,也需要更新
|
||||||
|
sudo cp /path/to/InjectShell/config.json /usr/local/bin/QiuChenly/config.json
|
||||||
|
sudo cp -r /path/to/InjectShell/tool /usr/local/bin/QiuChenly/
|
||||||
|
sudo cp -r /path/to/InjectShell/frontend /usr/local/bin/QiuChenly/
|
||||||
|
|
||||||
# 4. 启动服务
|
# 4. 启动服务
|
||||||
sudo launchctl start com.qiuchenly.hayaku.daemon
|
sudo launchctl start com.qiuchenly.hayaku.daemon
|
||||||
```
|
```
|
||||||
|
|
||||||
**注意:** `tool`、`config.json`、`frontend` 是软链接,修改源文件会自动生效,无需手动更新
|
**或者更简单的方法:重新安装**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /path/to/InjectShell/res
|
||||||
|
sudo bash uninstall_daemon.sh
|
||||||
|
sudo bash install_daemon.sh
|
||||||
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -653,17 +1016,28 @@ sudo launchctl start com.qiuchenly.hayaku.daemon
|
|||||||
### 当前版本功能
|
### 当前版本功能
|
||||||
|
|
||||||
- LaunchDaemon 守护进程安装
|
- LaunchDaemon 守护进程安装
|
||||||
- 软链接管理(tool、config.json、frontend)
|
- 文件复制安装(所有文件独立运行)
|
||||||
|
- 安装后可安全删除源文件夹
|
||||||
- 系统级服务运行
|
- 系统级服务运行
|
||||||
- Web 界面访问(端口 15200)
|
- Web 界面访问(端口 15200)
|
||||||
- 自动启动和崩溃重启
|
- 自动启动和崩溃重启
|
||||||
- 日志记录功能
|
- 日志记录功能
|
||||||
- 完整的卸载功能
|
- 完整的卸载功能
|
||||||
|
|
||||||
|
### 最近更新(v2.0)
|
||||||
|
|
||||||
|
**安装机制重大变更:**
|
||||||
|
|
||||||
|
- 从软链接改为文件复制方式
|
||||||
|
- 统一安装目录到 `/usr/local/bin/QiuChenly/`
|
||||||
|
- 安装后完全独立运行,不再依赖源文件夹
|
||||||
|
- 简化了部署和维护流程
|
||||||
|
|
||||||
### 待开发功能
|
### 待开发功能
|
||||||
|
|
||||||
- 一键重新安装功能
|
- 一键重新安装功能
|
||||||
- 配置文件热更新
|
- 配置文件热更新
|
||||||
|
- 在线更新功能
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -685,8 +1059,9 @@ sudo launchctl start com.qiuchenly.hayaku.daemon
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**文档版本:** v1.0
|
**文档版本:** v2.0
|
||||||
**最后更新:** 2025-10-14
|
**最后更新:** 2025-10-14
|
||||||
**适用项目版本:** InjectShell 4.0
|
**适用项目版本:** InjectShell 4.0+
|
||||||
|
**主要变更:** 安装机制从软链接改为文件复制
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user