refactor(cf_worker): 🚚 整理 Cloudflare Worker 脚本目录结构

重构 cf_worker 目录结构,将 Lsky Telegram Upload Worker 与 Telegram Bot 脚本分别移动到各自独立的子文件夹中,并拆分相应的文档。

- 将 lsky-telegram-worker.js 移动至 cf_worker/lskypro/ 目录
- 将 tg-bot.js 移动至 cf_worker/tg-bot/ 目录
- 删除原 cf_worker/README.md,并在各子目录下新建专用的 README.md 文档
- 更新主 README.md 中的目录树结构和脚本概览说明
This commit is contained in:
Orion
2026-05-27 09:59:37 +08:00
parent 43b77ccac5
commit c05742e6d6
5 changed files with 63 additions and 70 deletions
+12 -9
View File
@@ -13,9 +13,12 @@ script/
│ ├── README.md
│ └── sntp-rename.js
├── cf_worker/
│ ├── README.md
│ ├── lsky-telegram-worker.js
│ └── tg-bot.js
│ ├── lskypro/
│ ├── README.md
│ └── lsky-telegram-worker.js
│ └── tg-bot/
│ ├── README.md
│ └── tg-bot.js
├── LICENSE
└── README.md
```
@@ -26,8 +29,8 @@ script/
| --- | --- | --- | --- |
| `homebrew/` | `brew-upgrade-manager.sh` | 自动更新 Homebrew、升级 Formula/Cask、清理缓存 | macOS、Bash、Homebrew |
| `substore/` | `sntp-rename.js` | 守候网络节点命名专用,在 Sub-Store 代理节点名称中注入线路标签 | Sub-Store 脚本处理器 |
| `cf_worker/` | `lsky-telegram-worker.js` | Telegram 收图后上传到 Lsky Pro,并返回 Markdown 图片链接代码块 | Cloudflare Workers、D1、Telegram Bot、Lsky Pro |
| `cf_worker/` | `tg-bot.js` | 基于 Cloudflare Workers 的 Telegram 私聊转发与管理后台 | Cloudflare Workers、D1、Telegram Bot |
| `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 |
## 快速开始
@@ -56,12 +59,12 @@ HB_TERMINAL_WIDTH=130 ./brew-upgrade-manager.sh
### Cloudflare Worker 脚本
`cf_worker/` 目录包含两个 Worker
`cf_worker/` 目录包含两个独立 Worker
- [cf_worker/lsky-telegram-worker.js](cf_worker/lsky-telegram-worker.js):接收 Telegram 图片,上传到 Lsky Pro,返回 Markdown 图片链接代码块。默认单文件上限 `500.00 MB`,上传队列最多 `500` 张。
- [cf_worker/tg-bot.js](cf_worker/tg-bot.js):Telegram 私聊转发与管理后台,绑定 Telegram Bot Token、管理员 ID、管理群 ID 和 D1 数据库。
- [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/README.md](cf_worker/README.md)。
详细部署说明分别见 [cf_worker/lskypro/README.md](cf_worker/lskypro/README.md) 和 [cf_worker/tg-bot/README.md](cf_worker/tg-bot/README.md)。
## 安全提示
+50
View File
@@ -0,0 +1,50 @@
# Lsky Telegram Upload Worker
`lsky-telegram-worker.js` 用于把 Telegram 私聊发送的图片或图片文件上传到 Lsky Pro。上传成功后,Bot 会回复 Markdown 图片链接,并使用 Telegram HTML `<pre>` 代码块渲染,便于 Android 客户端点击复制。
## 功能
- 支持 Telegram `photo` 和图片类 `document`
- 支持 Telegram `media_group_id` 相册收集后批量上传。
- 默认单文件大小限制为 `500.00 MB`,可用 `MAX_FILE_MB` 覆盖。
- 默认上传队列最多收 `500` 张,可用 `MAX_UPLOAD_QUEUE_IMAGES` 覆盖。
- 返回格式为 `![filename](url)`,并关闭网页预览。
- 通过 `ALLOWED_TELEGRAM_USER_IDS` 限制可用用户。
## 必需绑定和环境变量
| 名称 | 说明 |
| --- | --- |
| `DB` | Cloudflare D1 数据库绑定名,用于暂存相册队列 |
| `TELEGRAM_BOT_TOKEN` | Telegram Bot Token |
| `TELEGRAM_WEBHOOK_SECRET` | Telegram Webhook secret token,同时用于 `/init` 初始化鉴权 |
| `ALLOWED_TELEGRAM_USER_IDS` | 允许使用的 Telegram user id,多个用英文逗号分隔 |
| `LSKY_API_URL` | Lsky Pro 上传 API 地址 |
| `LSKY_TOKEN` | Lsky Pro API token |
## 可选环境变量
| 名称 | 默认值 | 说明 |
| --- | --- | --- |
| `MAX_FILE_MB` | `500.00` | 单个 Telegram 图片/文件大小上限,单位 MB |
| `MAX_UPLOAD_QUEUE_IMAGES` | `500` | 单个上传队列最多暂存图片数量 |
| `ALBUM_WAIT_SECONDS` | `5` | 相册收集等待秒数 |
| `LSKY_PERMISSION` | `1` | 传给 Lsky Pro 的 `permission` |
| `LSKY_STRATEGY_ID` | 空 | 传给 Lsky Pro 的 `strategy_id` |
## 部署流程
1. 创建 Telegram Bot,拿到 `TELEGRAM_BOT_TOKEN`
2. 创建 Cloudflare D1 数据库,并在 Worker 中绑定为 `DB`
3. 创建 Worker,把 [lsky-telegram-worker.js](lsky-telegram-worker.js) 作为 Worker 代码。
4. 配置上方环境变量。
5. 访问 `https://<WORKER_URL>/init?secret=<TELEGRAM_WEBHOOK_SECRET>` 初始化 D1 表。
6. 设置 Telegram Webhook
```bash
curl -X POST "https://api.telegram.org/bot<TELEGRAM_BOT_TOKEN>/setWebhook" \
-d "url=<WORKER_URL>/webhook" \
-d "secret_token=<TELEGRAM_WEBHOOK_SECRET>"
```
7. 访问 Worker 根路径,若返回 `Lsky Telegram Worker OK - code-block-max500mb-queue500-2026-05-27`,说明 Worker 基本可用。
@@ -1,64 +1,4 @@
# Cloudflare Worker Scripts
这个目录保存 Cloudflare Workers 相关脚本:
| 脚本 | 用途 |
| --- | --- |
| `lsky-telegram-worker.js` | Telegram 收图后上传到 Lsky Pro,并返回 Markdown 图片链接代码块 |
| `tg-bot.js` | Telegram 双向私聊中继 Bot,包含管理面板、验证、过滤、封禁、备份等功能 |
## Lsky Telegram Upload Worker
`lsky-telegram-worker.js` 用于把 Telegram 私聊发送的图片或图片文件上传到 Lsky Pro。上传成功后,Bot 会回复 Markdown 图片链接,并使用 Telegram HTML `<pre>` 代码块渲染,便于 Android 客户端点击复制。
### 功能
- 支持 Telegram `photo` 和图片类 `document`
- 支持 Telegram `media_group_id` 相册收集后批量上传。
- 默认单文件大小限制为 `500.00 MB`,可用 `MAX_FILE_MB` 覆盖。
- 默认上传队列最多收 `500` 张,可用 `MAX_UPLOAD_QUEUE_IMAGES` 覆盖。
- 返回格式为 `![filename](url)`,并关闭网页预览。
- 通过 `ALLOWED_TELEGRAM_USER_IDS` 限制可用用户。
### 必需绑定和环境变量
| 名称 | 说明 |
| --- | --- |
| `DB` | Cloudflare D1 数据库绑定名,用于暂存相册队列 |
| `TELEGRAM_BOT_TOKEN` | Telegram Bot Token |
| `TELEGRAM_WEBHOOK_SECRET` | Telegram Webhook secret token,同时用于 `/init` 初始化鉴权 |
| `ALLOWED_TELEGRAM_USER_IDS` | 允许使用的 Telegram user id,多个用英文逗号分隔 |
| `LSKY_API_URL` | Lsky Pro 上传 API 地址 |
| `LSKY_TOKEN` | Lsky Pro API token |
### 可选环境变量
| 名称 | 默认值 | 说明 |
| --- | --- | --- |
| `MAX_FILE_MB` | `500.00` | 单个 Telegram 图片/文件大小上限,单位 MB |
| `MAX_UPLOAD_QUEUE_IMAGES` | `500` | 单个上传队列最多暂存图片数量 |
| `ALBUM_WAIT_SECONDS` | `5` | 相册收集等待秒数 |
| `LSKY_PERMISSION` | `1` | 传给 Lsky Pro 的 `permission` |
| `LSKY_STRATEGY_ID` | 空 | 传给 Lsky Pro 的 `strategy_id` |
### 部署流程
1. 创建 Telegram Bot,拿到 `TELEGRAM_BOT_TOKEN`
2. 创建 Cloudflare D1 数据库,并在 Worker 中绑定为 `DB`
3. 创建 Worker,把 [lsky-telegram-worker.js](lsky-telegram-worker.js) 作为 Worker 代码。
4. 配置上方环境变量。
5. 访问 `https://<WORKER_URL>/init?secret=<TELEGRAM_WEBHOOK_SECRET>` 初始化 D1 表。
6. 设置 Telegram Webhook
```bash
curl -X POST "https://api.telegram.org/bot<TELEGRAM_BOT_TOKEN>/setWebhook" \
-d "url=<WORKER_URL>/webhook" \
-d "secret_token=<TELEGRAM_WEBHOOK_SECRET>"
```
7. 访问 Worker 根路径,若返回 `Lsky Telegram Worker OK - code-block-max500mb-queue500-2026-05-27`,说明 Worker 基本可用。
## Telegram Bot Worker
# Telegram Bot Worker
`tg-bot.js` 是一个部署在 Cloudflare Workers 上的 Telegram 双向私聊中继 Bot(版本 v3.68)。它会把用户私聊消息转发到管理员论坛群的独立 topic 中,管理员在对应 topic 内回复即可把消息发回用户,同时提供验证、过滤、封禁、备注、自动回复、备份和 Telegram 内联管理面板。