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:
@@ -13,8 +13,11 @@ script/
|
||||
│ ├── README.md
|
||||
│ └── sntp-rename.js
|
||||
├── cf_worker/
|
||||
│ ├── lskypro/
|
||||
│ │ ├── README.md
|
||||
│ │ └── lsky-telegram-worker.js
|
||||
│ └── tg-bot/
|
||||
│ ├── README.md
|
||||
│ ├── lsky-telegram-worker.js
|
||||
│ └── 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)。
|
||||
|
||||
## 安全提示
|
||||
|
||||
|
||||
@@ -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` 覆盖。
|
||||
- 返回格式为 ``,并关闭网页预览。
|
||||
- 通过 `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` 覆盖。
|
||||
- 返回格式为 ``,并关闭网页预览。
|
||||
- 通过 `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 内联管理面板。
|
||||
|
||||
Reference in New Issue
Block a user