feat(core): add vm permission fixer for macOS shortcuts

新增 macOS 快捷指令自动化工具,包含虚拟机权限修复脚本(vm-permission-fixer.sh)及远程引导启动器(vm-permission-fixer-bootstrap.sh)。

- 在打开 Parallels Desktop 时,自动修复指定 .pvm 虚拟机包的所有权。
- 采用 macOS Keychain 安全存储和读取 sudo 密码,避免明文硬编码。
- 补充 shortcuts 模块相关的中英文说明文档,并同步更新项目主 README。
This commit is contained in:
Orion
2026-06-01 09:12:50 +08:00
parent c05742e6d6
commit df3e4b15db
4 changed files with 310 additions and 2 deletions
+23 -2
View File
@@ -1,6 +1,6 @@
# Script Collection
一个面向日常自动化的小型脚本集合,当前包含 Homebrew 升级管理、Sub-Store 节点重命名处理、Cloudflare Worker 脚本。
一个面向日常自动化的小型脚本集合,当前包含 Homebrew 升级管理、macOS 快捷指令自动化、Sub-Store 节点重命名处理、Cloudflare Worker 脚本。
## 目录
@@ -8,7 +8,12 @@
script/
├── homebrew/
│ ├── README.md
│ ├── brew-upgrade-manager-bootstrap.sh
│ └── brew-upgrade-manager.sh
├── shortcuts/
│ ├── README.md
│ ├── vm-permission-fixer-bootstrap.sh
│ └── vm-permission-fixer.sh
├── substore/
│ ├── README.md
│ └── sntp-rename.js
@@ -28,6 +33,7 @@ script/
| 目录 | 脚本 | 用途 | 运行环境 |
| --- | --- | --- | --- |
| `homebrew/` | `brew-upgrade-manager.sh` | 自动更新 Homebrew、升级 Formula/Cask、清理缓存 | macOS、Bash、Homebrew |
| `shortcuts/` | `vm-permission-fixer.sh` | 配合快捷指令自动修复 Parallels Desktop 虚拟机包所有权 | macOS、快捷指令、Bash、Keychain |
| `substore/` | `sntp-rename.js` | 守候网络节点命名专用,在 Sub-Store 代理节点名称中注入线路标签 | Sub-Store 脚本处理器 |
| `cf_worker/lskypro/` | `lsky-telegram-worker.js` | Telegram 收图后上传到 Lsky Pro,并返回 Markdown 图片链接代码块 | Cloudflare Workers、D1、Telegram Bot、Lsky Pro |
| `cf_worker/tg-bot/` | `tg-bot.js` | 基于 Cloudflare Workers 的 Telegram 私聊转发与管理后台 | Cloudflare Workers、D1、Telegram Bot |
@@ -51,6 +57,20 @@ HB_TERMINAL_WIDTH=130 ./brew-upgrade-manager.sh
详细配置见 [homebrew/README.md](homebrew/README.md)。
### 快捷指令自动化
`shortcuts/` 目录包含适合 macOS 快捷指令 App 自动化调用的脚本。当前提供 [shortcuts/vm-permission-fixer.sh](shortcuts/vm-permission-fixer.sh),用于在打开 Parallels Desktop 时修复指定 `.pvm` 虚拟机包所有权。
快捷指令「运行 Shell 脚本」可使用远程启动器:
```bash
curl -fsSL https://git.orionc.me/orion/script/raw/branch/main/shortcuts/vm-permission-fixer-bootstrap.sh | bash
```
脚本不包含明文 sudo 密码;首次运行会弹窗输入一次并保存到 macOS Keychain,后续自动读取。
详细配置见 [shortcuts/README.md](shortcuts/README.md)。
### Sub-Store 节点标签注入
把 [substore/sntp-rename.js](substore/sntp-rename.js) 作为守候网络节点命名专用的 Sub-Store 节点处理脚本使用。默认会识别 `GTM``S1``S2``S3``S4``BGP``Anytls` 等关键词,并把标签插入到节点名末尾或 `- SNTP` 后缀之前。
@@ -69,7 +89,8 @@ HB_TERMINAL_WIDTH=130 ./brew-upgrade-manager.sh
## 安全提示
- 不要把 Bot Token、Cloudflare 密钥、Telegram 群组 ID、管理员 ID 或 sudo 密码提交到公开仓库。
- `homebrew/brew-upgrade-manager.sh` 当前包含 `SUDO_PWD` 占位变量,若确需使用自动输入 sudo 密码,请只在本机私有副本中填写
- `homebrew/``shortcuts/` 的启动器会通过 macOS Keychain 保存并读取 sudo 密码;如需清除,请使用对应 README 中的 `security delete-generic-password` 命令
- 远程启动器属于“下载后执行”模式,只应从可信仓库使用;需要更严格控制时可启用 SHA256 校验。
- Cloudflare Worker 脚本会保存用户状态、消息映射、上传队列或配置项到 D1,请按实际隐私要求控制数据库访问权限。
## 许可证