# Script Collection 一个面向日常自动化的小型脚本集合,当前包含 Homebrew 升级管理、macOS 快捷指令自动化、Sub-Store 节点重命名处理、Cloudflare Worker 脚本。 ## 目录 ```text 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 ├── cf_worker/ │ ├── lskypro/ │ │ ├── README.md │ │ └── lsky-telegram-worker.js │ └── tg-bot/ │ ├── README.md │ └── tg-bot.js ├── LICENSE └── README.md ``` ## 脚本概览 | 目录 | 脚本 | 用途 | 运行环境 | | --- | --- | --- | --- | | `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 | ## 快速开始 ### Homebrew 升级 ```bash cd homebrew chmod +x brew-upgrade-manager.sh ./brew-upgrade-manager.sh ``` 如在非交互式终端运行,可指定输出宽度: ```bash ./brew-upgrade-manager.sh --width 130 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` 后缀之前。 详细规则见 [substore/README.md](substore/README.md)。 ### Cloudflare Worker 脚本 `cf_worker/` 目录包含两个独立 Worker: - [cf_worker/lskypro/lsky-telegram-worker.js](cf_worker/lskypro/lsky-telegram-worker.js):接收 Telegram 图片,上传到 Lsky Pro,返回 Markdown 图片链接代码块。默认单文件上限 `500.00 MB`,上传队列最多 `500` 张。 - [cf_worker/tg-bot/tg-bot.js](cf_worker/tg-bot/tg-bot.js):Telegram 私聊转发与管理后台,绑定 Telegram Bot Token、管理员 ID、管理群 ID 和 D1 数据库。 详细部署说明分别见 [cf_worker/lskypro/README.md](cf_worker/lskypro/README.md) 和 [cf_worker/tg-bot/README.md](cf_worker/tg-bot/README.md)。 ## 安全提示 - 不要把 Bot Token、Cloudflare 密钥、Telegram 群组 ID、管理员 ID 或 sudo 密码提交到公开仓库。 - `homebrew/` 和 `shortcuts/` 的启动器会通过 macOS Keychain 保存并读取 sudo 密码;如需清除,请使用对应 README 中的 `security delete-generic-password` 命令。 - 远程启动器属于“下载后执行”模式,只应从可信仓库使用;需要更严格控制时可启用 SHA256 校验。 - Cloudflare Worker 脚本会保存用户状态、消息映射、上传队列或配置项到 D1,请按实际隐私要求控制数据库访问权限。 ## 许可证 本项目使用 GNU Affero General Public License v3.0,详见 [LICENSE](LICENSE)。