文档:重排 README 与安装说明
- README 精简为入口页,补充更美观徽章与 Star History\n- 安装部署补充更新方法与导入简要\n- 防冻结指南拆分为独立文档\n- modules 文档补充面板入口与示例说明
This commit is contained in:
1 parent
eb9abc71be
commit
e02e07ec2c
5 files changed
+183
-281
No files matched your search
@@ -1,45 +1,41 @@
|
||||
# Telegram Panel - 多账户管理面板
|
||||
# Telegram Panel
|
||||
|
||||
基于 **WTelegramClient** 的 Telegram 多账户管理面板(.NET 8 / Blazor Server),用于批量管理账号、统计与管理频道/群组、执行批量任务。
|
||||
基于 **WTelegramClient** 的 Telegram 多账户管理面板(.NET 8 / Blazor Server)。
|
||||
|
||||
## 目录
|
||||
<p align="center">
|
||||
<img src="https://img.shields.io/badge/.NET-8.0-512BD4?style=for-the-badge&logo=dotnet&logoColor=white" alt=".NET 8.0">
|
||||
<img src="https://img.shields.io/badge/Blazor-Server-512BD4?style=for-the-badge&logo=blazor&logoColor=white" alt="Blazor Server">
|
||||
<img src="https://img.shields.io/badge/Docker-Compose-2496ED?style=for-the-badge&logo=docker&logoColor=white" alt="Docker Compose">
|
||||
<img src="https://img.shields.io/badge/Powered%20by-WTelegramClient-333333?style=for-the-badge" alt="Powered by WTelegramClient">
|
||||
</p>
|
||||
|
||||
- [社区与交流](#社区与交流)
|
||||
- [功能亮点](#功能亮点)
|
||||
- [Docker 一键部署(推荐)](#docker-一键部署推荐)
|
||||
- [反向代理一条龙(可选)](#反向代理一条龙可选)
|
||||
- [本地开发运行(可选)](#本地开发运行可选)
|
||||
- [模块扩展(可选)](#模块扩展可选)
|
||||
- [详细文档](#详细文档)
|
||||
- [防冻结指南(新号必看)](#防冻结指南新号必看)
|
||||
- [截图](#截图)
|
||||
<p align="center">
|
||||
📦 <b><a href="docs/installation.md">安装部署</a></b> |
|
||||
🏪 <b><a href="https://faka.boxmoe.eu.org/">API 账号购买</a></b> |
|
||||
🧯 <b><a href="docs/anti-freeze.md">防冻结指南</a></b> |
|
||||
🖼️ <b><a href="screenshot/">截图</a></b> |
|
||||
💬 <b><a href="https://t.me/zhanzhangck">TG 频道</a></b> |
|
||||
👥 <b><a href="https://t.me/vpsbbq">站长交流群</a></b>
|
||||
</p>
|
||||
|
||||
## 社区与交流
|
||||
## 功能概览
|
||||
|
||||
- TG 频道:https://t.me/zhanzhangck
|
||||
- 站长交流群:https://t.me/vpsbbq
|
||||
- 📥 多账号批量导入/登录:压缩包导入;手机号验证码登录;2FA 密码
|
||||
- 👥 批量运营能力:批量加群/订阅/退群、批量邀请成员/机器人、批量设置管理员、导出链接等
|
||||
- 📱 一键踢出其他设备:保留面板当前会话,清理其它在线设备
|
||||
- 🧹 废号检测与一键清理:封禁/受限/冻结/未登录/Session 失效等状态批量处理
|
||||
- 🔐 2FA 管理:单个/批量修改二级密码;绑定/换绑找回邮箱(支持对接 Cloud Mail 自动收码确认)
|
||||
- 🧩 模块化扩展:任务 / API / UI 可安装扩展(见 `docs/modules.md`)
|
||||
|
||||
## 功能亮点
|
||||
## 快速开始
|
||||
|
||||
- 📥 **多账号批量导入/登录**:支持 Session/压缩包导入;支持手机号验证码登录与 2FA 密码
|
||||
- 🔁 **账号维度一键切换操作**:选择不同账号创建频道/群组、查看与管理账号创建的数据
|
||||
- 👥 **批量运营能力**:批量加群/订阅/退群/退订、批量邀请成员/机器人、批量设置管理员、导出链接等高频操作
|
||||
- 📱 **批量踢出其他设备**:对已选账号一键踢出所有其他在线设备(保留面板当前会话),适合购买的协议号做“先手清设备”
|
||||
- 🧹 **废号检测与一键清理**:批量检测 Telegram 状态,一键清理封禁/受限/冻结/未登录/Session 失效等不可用账号(同时删除对应 `.session` 文件)
|
||||
- 🧩 **模块化扩展能力**:任务 / API / UI 可安装扩展(内置示例:外部 API 踢人/封禁;更多示例见 `docs/modules.md`)
|
||||
- 🔐 **二级密码(2FA)与找回邮箱**:支持单个/批量修改二级密码;支持绑定/换绑 2FA 找回邮箱(验证码确认);支持对接 Cloud Mail 批量换绑找回邮箱并自动收码确认
|
||||
- 🧯 **忘记二级密码可申请重置**:支持单个或批量向 Telegram 提交“忘记密码重置”申请(通常等待 7 天后可重新设置)
|
||||
- 🪪 **账号资料管理**:支持单账号编辑昵称/Bio/用户名/头像;支持批量修改昵称(自动追加手机号后 4 位便于区分)与批量修改 Bio
|
||||
- 🤖 **Bot 频道管理**:用于管理“频道创建人不在系统中”的频道(把 Bot 设为管理员即可纳入管理),支持批量导出链接、批量邀请成员/设置管理员(可按管理员列表匹配系统账号执行);支持对每个 Bot 一键启用/停用(停用后相关后台不再轮询 getUpdates)
|
||||
- 🏷️ **账号分类(排除操作)**:支持把“养号/不参与运营”的账号分类标记为“排除操作”,不会出现在创建频道/批量任务的执行账号下拉里
|
||||
### Docker 一键部署(推荐)
|
||||
|
||||
## Docker 一键部署(推荐)
|
||||
|
||||
🐳 面向小白:**`git clone` → `docker compose up` → 浏览器打开 → 登录改密码 → 配置 ApiId/ApiHash**。
|
||||
🐳 面向小白:`git clone` → `docker compose up` → 浏览器打开 → 登录改密码 → 配置 ApiId/ApiHash。
|
||||
|
||||
### 环境要求
|
||||
|
||||
- Docker(Windows 推荐 Docker Desktop + WSL2;Linux 直接装 Docker Engine)
|
||||
Docker(Windows 推荐 Docker Desktop + WSL2;Linux 直接装 Docker Engine)
|
||||
|
||||
### 启动
|
||||
|
||||
@@ -53,251 +49,23 @@ docker compose up -d --build
|
||||
|
||||
### 默认后台账号(首次登录)
|
||||
|
||||
- 用户名:`admin`
|
||||
- 密码:`admin123`
|
||||
用户名:`admin`
|
||||
密码:`admin123`
|
||||
|
||||
登录后到「修改密码」页面改掉即可。
|
||||
|
||||
### 必做配置:Telegram API 凭据
|
||||
|
||||
到 https://my.telegram.org/apps **用任意一个 Telegram 账号申请一次** `api_id` / `api_hash`,然后在面板「系统设置」里保存即可。
|
||||
|
||||
> 说明:**不需要每个账号都申请**,全站共用这一对 `api_id` / `api_hash` 就能工作。
|
||||
> 提示:`api_hash` 是 **32 位十六进制字符串(0-9a-f)**,请不要填 Token/用户名/URL 等其它值。
|
||||
|
||||
🏪 推荐 Telegram 开发者 API 购买:
|
||||
https://faka.boxmoe.eu.org/
|
||||
|
||||
### 数据持久化(别乱删)
|
||||
|
||||
容器内所有持久化数据统一挂载到宿主机 `./docker-data`:
|
||||
|
||||
- 数据库:`./docker-data/telegram-panel.db`
|
||||
- Sessions:`./docker-data/sessions/`
|
||||
- 系统设置本地覆盖:`./docker-data/appsettings.local.json`
|
||||
- 后台登录凭据文件:`./docker-data/admin_auth.json`
|
||||
|
||||
### Bot Webhook 模式(可选)
|
||||
|
||||
> **💡 提示**:如果你不使用 BOT 相关功能,可以跳过此节。
|
||||
|
||||
默认情况下,Bot 使用**长轮询(Long Polling)**模式接收更新。生产环境可选 Webhook:
|
||||
|
||||
- ✅ 更低的资源消耗(无需持续轮询)
|
||||
- ✅ 更快的响应速度(Telegram 主动推送)
|
||||
- ✅ 更适合高流量/多 Bot 场景
|
||||
|
||||
不建议直接改 `docker-compose.yml`(否则后续 `git pull` 更新时容易冲突/被覆盖)。推荐用以下两种方式之一做“本地覆盖”:
|
||||
|
||||
#### 方式 A:使用 `.env`(推荐)
|
||||
|
||||
项目已支持通过 `.env` 注入 Webhook 配置;`.env` 不应提交到仓库(已加入 `.gitignore`)。
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
然后编辑 `.env`,按需填写:
|
||||
|
||||
```env
|
||||
TP_TELEGRAM_WEBHOOK_ENABLED=true
|
||||
TP_TELEGRAM_WEBHOOK_BASE_URL=https://your-domain.com
|
||||
TP_TELEGRAM_WEBHOOK_SECRET_TOKEN=your-random-secret-token
|
||||
```
|
||||
|
||||
#### 方式 B:使用 `docker-compose.override.yml`
|
||||
|
||||
在项目根目录创建 `docker-compose.override.yml`(不提交到仓库,已加入 `.gitignore`):
|
||||
|
||||
```yaml
|
||||
services:
|
||||
telegram-panel:
|
||||
environment:
|
||||
Telegram__WebhookEnabled: "true"
|
||||
Telegram__WebhookBaseUrl: "https://your-domain.com"
|
||||
Telegram__WebhookSecretToken: "your-random-secret-token"
|
||||
```
|
||||
|
||||
**配置说明:**
|
||||
|
||||
| 配置项 | 说明 |
|
||||
|--------|------|
|
||||
| `WebhookEnabled` | 设为 `true` 启用 Webhook 模式;默认 `false` 使用轮询 |
|
||||
| `WebhookBaseUrl` | 你的公网 HTTPS 地址(Telegram 要求必须 HTTPS) |
|
||||
| `WebhookSecretToken` | 验证密钥,Telegram 会在请求头中携带此值供校验 |
|
||||
| `BotAutoSyncEnabled` | 设为 `true` 启用自动同步;Bot 加入新频道后自动添加 |
|
||||
|
||||
**注意事项:**
|
||||
|
||||
- Webhook 模式**必须使用 HTTPS**,Telegram 不支持 HTTP
|
||||
- 启用 Webhook 后,系统会**自动在启动时**为所有活跃 Bot 注册 Webhook
|
||||
- 如果你使用反向代理,确保 `/api/bot/webhook/*` 路径可以被外部访问
|
||||
- 同一个 Bot Token 同时只能使用一种模式(Webhook 或 Long Polling),切换模式会自动覆盖
|
||||
- 如果不需要 Bot 频道管理功能,可以保持默认配置(`WebhookEnabled: "false"`)
|
||||
|
||||
### 更新升级
|
||||
|
||||
#### 🔄 正常更新流程
|
||||
|
||||
当仓库有新功能或 Bug 修复时,执行以下命令更新:
|
||||
|
||||
```bash
|
||||
# 进入项目目录
|
||||
cd Telegram-Panel
|
||||
|
||||
# 拉取最新代码
|
||||
git pull origin main
|
||||
|
||||
# 重新构建并启动
|
||||
docker compose down
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
#### ⚠️ 遇到更新冲突怎么办?
|
||||
|
||||
如果执行 `git pull` 时提示冲突或报错,说明本地有未提交的修改与远程代码产生了冲突。
|
||||
|
||||
**方案一:保留本地修改(推荐)**
|
||||
|
||||
```bash
|
||||
# 暂存本地修改
|
||||
git stash
|
||||
|
||||
# 拉取最新代码
|
||||
git pull origin main
|
||||
|
||||
# 恢复本地修改(可能需要手动解决冲突)
|
||||
git stash pop
|
||||
```
|
||||
|
||||
**方案二:放弃本地修改,强制同步远程(适合小白)**
|
||||
|
||||
```bash
|
||||
# 备份重要数据(数据库、Session 文件等在 docker-data/ 目录,不会被删除)
|
||||
# 如果本地有未提交的代码修改,执行以下命令会丢失!
|
||||
|
||||
# 获取远程最新代码
|
||||
git fetch origin
|
||||
|
||||
# 强制重置到远程版本
|
||||
git reset --hard origin/main
|
||||
|
||||
# 重新构建
|
||||
docker compose down
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
> **注意**:`git reset --hard` 会**丢弃所有本地未提交的代码修改**,但不会影响 `docker-data/` 目录里的数据库和 Session 文件,这些数据依然安全保留。
|
||||
|
||||
#### 🆘 Docker 编译报错?
|
||||
|
||||
如果更新后 Docker 构建失败,提示找不到某个类或文件:
|
||||
|
||||
```bash
|
||||
# 确认代码版本是否正确
|
||||
git log --oneline -1
|
||||
|
||||
# 应该显示最新的提交记录,如果不是,执行强制更新:
|
||||
git fetch origin
|
||||
git reset --hard origin/main
|
||||
|
||||
# 清理 Docker 缓存后重新构建
|
||||
docker compose down
|
||||
docker system prune -af
|
||||
docker compose build --no-cache
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## 反向代理一条龙(可选)
|
||||
|
||||
Blazor Server 需要 WebSocket(`/_blazor`),反代必须支持 `Upgrade`。
|
||||
|
||||
说明:项目已兼容部分“默认反代不透传 Host/Proto”导致的登录跳转问题(不会再跳到 `http://localhost/...`),但 WebSocket 与部分场景仍建议把 `X-Forwarded-*` 头透传完整。
|
||||
|
||||
Nginx 示例(完整说明见 `docs/reverse-proxy.md`):
|
||||
|
||||
```nginx
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:5000;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "Upgrade";
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-Host $host;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
}
|
||||
```
|
||||
|
||||
## 本地开发运行(可选)
|
||||
|
||||
```bash
|
||||
dotnet run --project src/TelegramPanel.Web
|
||||
```
|
||||
|
||||
## 模块扩展(可选)
|
||||
|
||||
项目已支持“可安装/可卸载”的模块扩展(任务 / API / UI),用于后续按需扩展能力、按场景自由定制开发自己的模块,而不是把功能写死在核心里。
|
||||
|
||||
面板入口:
|
||||
|
||||
- 「模块管理」:安装/启用/停用/卸载模块(通常需重启生效)
|
||||
- 「API 管理」:基于已启用的模块,创建对应的外部 API 配置项(`X-API-Key` 鉴权)
|
||||
- 「任务中心」:基于已启用的模块,动态展示任务类型与分类
|
||||
|
||||
内置扩展只是示例(可按需启用/停用,也可自行开发/上传模块):
|
||||
|
||||
- **外部 API:踢人/封禁**:`POST /api/kick`(配置入口:面板左侧菜单「API 管理」)
|
||||
- **模块打包脚本(可选)**:`powershell tools/package-module.ps1 -Project <csproj> -Manifest <manifest.json>`,产物默认输出到 `artifacts/modules/`
|
||||
|
||||
### 付费扩展模块(不免费开放)
|
||||
|
||||
以下模块为扩展能力示例的“增强版/商业版”,默认不免费开放;如需获取请联系:**TG @SNINKBOT**。
|
||||
|
||||
- **频道同步转发**:支持按配置将来源频道/群组的消息同步转发到目标(更适合多频道矩阵运营)。
|
||||
- **监控频道更新通知**:持续监控指定频道更新并向目标 ID 推送通知(支持通知冷却,避免刷屏)。
|
||||
- **验证码 URL 登录**:生成可外部访问的验证码获取页面,打开页面后按需读取账号系统通知(777000)并展示验证码,便于在外部设备/手机端登录(类似接码/卖号场景常见用法)。
|
||||
|
||||
更多说明见:`docs/modules.md`(模块目录结构、manifest、任务/API/UI 扩展点)。
|
||||
|
||||
## 详细文档
|
||||
|
||||
- `docs/README.md`(索引)
|
||||
- `docs/import.md`(压缩包批量导入结构)
|
||||
- `docs/sync.md`(同步说明 + 自动同步)
|
||||
- `docs/reverse-proxy.md`(Nginx/Caddy 反代,含 WebSocket)
|
||||
- `docs/api.md`(接口速查)
|
||||
- `docs/database.md`(数据库/表结构说明)
|
||||
- `docs/advanced.md`(配置项/数据目录/后台任务等)
|
||||
- `docs/modules.md`(模块系统:可安装/可卸载/依赖/回滚)
|
||||
|
||||
## 防冻结指南(新号必看)
|
||||
|
||||
<details>
|
||||
<summary>点击展开/收起防冻结指南</summary>
|
||||
|
||||
Telegram 对新号/风控号的限制比较敏感;本项目提供了很多“批量/高频”能力,请务必谨慎使用。
|
||||
|
||||
- ⚠️ **新号切记:登录面板后不要进行任何操作!!!至少养 24 小时再创建频道/群、批量邀请/加管理员等敏感操作**
|
||||
- ✅ **如果是购买的协议号/接码号(需要尽快验号)**:建议导入后先做一次「批量 Telegram 状态检测」,必要时用「深度检测」快速筛掉废号(避免隔天再找商家被拒赔付);验号通过后再开始低频养号与后续操作
|
||||
- ⚠️ **重要提醒(买号必看)**:如果你是用商家提供的 Session 导入到系统里,本质上是在使用“同一个会话”。因此“踢设备”只能踢掉**除当前 Session 会话之外**的其他设备;若商家仍保留该 Session,依然有被重复使用的风险。想要更安全:务必用验证码登录一次(以你自己的登录为准),再踢出其他 Session 会话,并绑定 2FA 找回邮箱
|
||||
- ✅ 养号完成后:先从少量、低频操作开始,逐步增加频率(宁可慢点,也别一上来就批量)
|
||||
- ⛔ 如果账号出现限制/冻结迹象:建议先停用该账号,等待恢复后再继续操作
|
||||
- 📧 **重要账号务必绑定 2FA 找回邮箱**:尤其是接码手机号的账号,存在“官方客户端也可能突然掉登录”的情况;若未绑定邮箱,掉线后可能无法找回(账号就丢了)。建议准备一个稳定的域名邮箱,把重要账号都绑定到同一域名邮箱体系,便于后续通过邮箱验证码重新登录。非重要账号可酌情忽略。
|
||||
|
||||
</details>
|
||||
> 更完整的安装、更新、导入与生产部署建议:见 `docs/installation.md`。
|
||||
|
||||
## 截图
|
||||
|
||||
> 仓库自带后台截图:`screenshot/`
|
||||
|
||||
<details>
|
||||
<summary>点击展开/收起截图</summary>
|
||||
更多截图见:`screenshot/`
|
||||
|
||||
| | | |
|
||||
|---|---|---|
|
||||
| <img src="screenshot/Dashboard.png" width="300" /> | <img src="screenshot/account.png" width="300" /> | <img src="screenshot/equipment.png" width="300" /> |
|
||||
| <img src="screenshot/Import account.png" width="300" /> | <img src="screenshot/Login with mobile phone number.png" width="300" /> | <img src="screenshot/System notification.png" width="300" /> |
|
||||
| <img src="screenshot/Create channel.png" width="300" /> | <img src="screenshot/Invite users in batches.png" width="300" /> | <img src="screenshot/Set up administrators in batches.png" width="300" /> |
|
||||
| <img src="screenshot/Dashboard.png" width="300" /> | <img src="screenshot/account.png" width="300" /> | <img src="screenshot/Import account.png" width="300" /> |
|
||||
|
||||
</details>
|
||||
---
|
||||
|
||||
## ⭐ Star History
|
||||
|
||||
[](https://star-history.com/#moeacgx/Telegram-Panel&Date)
|
||||
+2
-12
@@ -1,13 +1,3 @@
|
||||
# 文档索引
|
||||
# 文档
|
||||
|
||||
如果你只是想快速跑起来:优先看根目录 `README.md` 的 Docker 一键安装。
|
||||
|
||||
## 目录
|
||||
|
||||
- `docs/import.md`:压缩包批量导入账号结构(推荐)
|
||||
- `docs/sync.md`:同步功能说明(同步什么/为什么要同步/自动同步)
|
||||
- `docs/reverse-proxy.md`:反向代理示例(Nginx/Caddy,含 WebSocket)
|
||||
- `docs/api.md`:接口速查(面向二次开发)
|
||||
- `docs/database.md`:数据库与主要表结构(面向排障/扩展)
|
||||
- `docs/advanced.md`:架构/配置项/环境变量/数据持久化位置等
|
||||
- `docs/modules.md`:模块系统(可安装/可卸载/版本与依赖/回滚)
|
||||
文档不再维护单独的目录索引页;请直接从 `docs/installation.md` 开始(其中包含更新方法、导入简要与其它文档入口)。
|
||||
@@ -0,0 +1,11 @@
|
||||
# 防冻结指南(新号必看)
|
||||
|
||||
Telegram 对新号/风控号的限制比较敏感;本项目提供了很多“批量/高频”能力,请务必谨慎使用。
|
||||
|
||||
- ⚠️ 新号切记:登录面板后不要进行任何操作,至少养 24 小时再创建频道/群、批量邀请/加管理员等敏感操作
|
||||
- ✅ 如果是购买的协议号/接码号(需要尽快验号):建议导入后先做一次「批量 Telegram 状态检测」,必要时用「深度检测」快速筛掉废号(避免隔天再找商家被拒赔付);验号通过后再开始低频养号与后续操作
|
||||
- ⚠️ 重要提醒(买号必看):如果你是用商家提供的 Session 导入到系统里,本质上是在使用“同一个会话”。因此“踢设备”只能踢掉除当前 Session 会话之外的其他设备;若商家仍保留该 Session,依然有被重复使用的风险。想要更安全:务必用验证码登录一次(以你自己的登录为准),再踢出其他 Session 会话,并绑定 2FA 找回邮箱
|
||||
- ✅ 养号完成后:先从少量、低频操作开始,逐步增加频率(宁可慢点,也别一上来就批量)
|
||||
- ⛔ 如果账号出现限制/冻结迹象:建议先停用该账号,等待恢复后再继续操作
|
||||
- 📧 重要账号务必绑定 2FA 找回邮箱:尤其是接码手机号的账号,存在“官方客户端也可能突然掉登录”的情况;若未绑定邮箱,掉线后可能无法找回(账号就丢了)。建议准备一个稳定的域名邮箱,把重要账号都绑定到同一域名邮箱体系,便于后续通过邮箱验证码重新登录。非重要账号可酌情忽略
|
||||
|
||||
@@ -0,0 +1,114 @@
|
||||
# 安装部署
|
||||
|
||||
本文档用于把 Telegram Panel 跑起来(推荐 Docker)。README 只保留简洁入口信息。
|
||||
|
||||
## Docker 部署(推荐)
|
||||
|
||||
### 环境要求
|
||||
|
||||
- Docker(Windows 推荐 Docker Desktop + WSL2;Linux 直接安装 Docker Engine)
|
||||
|
||||
### 启动
|
||||
|
||||
```bash
|
||||
git clone https://github.com/moeacgx/Telegram-Panel
|
||||
cd Telegram-Panel
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
启动后访问:`http://localhost:5000`
|
||||
|
||||
### 默认后台账号(首次登录)
|
||||
|
||||
- 用户名:`admin`
|
||||
- 密码:`admin123`
|
||||
|
||||
登录后到「修改密码」页面改掉即可。
|
||||
|
||||
### 必做配置:Telegram API 凭据
|
||||
|
||||
到 https://my.telegram.org/apps 用任意一个 Telegram 账号申请一次 `api_id` / `api_hash`,然后在面板「系统设置」里保存即可。
|
||||
|
||||
> 说明:不需要每个账号都申请,全站共用这一对即可工作。
|
||||
> 注意:`api_hash` 是 **32 位十六进制字符串(0-9a-f)**,请不要填 Token/用户名/URL 等其它值。
|
||||
|
||||
### 数据持久化(别乱删)
|
||||
|
||||
容器内所有持久化数据统一挂载到宿主机 `./docker-data`:
|
||||
|
||||
- 数据库:`./docker-data/telegram-panel.db`
|
||||
- Sessions:`./docker-data/sessions/`
|
||||
- 系统设置本地覆盖:`./docker-data/appsettings.local.json`
|
||||
- 后台登录凭据文件:`./docker-data/admin_auth.json`
|
||||
|
||||
## 更新方法(Docker 部署)
|
||||
|
||||
> 更新前建议先备份:`./docker-data/telegram-panel.db` 与 `./docker-data/`(尤其是重要账号的 sessions)。
|
||||
|
||||
在项目目录下执行:
|
||||
|
||||
```bash
|
||||
git pull
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
说明:
|
||||
|
||||
- `docker compose up -d --build` 会重新构建并滚动更新容器(数据仍在 `./docker-data`,不会丢)
|
||||
- 若你修改过 `.env` 或 `./docker-data/appsettings.local.json`,更新后也建议重启一次确保新配置生效
|
||||
|
||||
## 账号导入(简要)
|
||||
|
||||
面板支持多种导入/登录方式,常用的是“压缩包批量导入”:
|
||||
|
||||
- 每个账号一个独立子文件夹
|
||||
- 子文件夹内放一个 `.json` + 一个 `.session`(文件名建议与文件夹同名)
|
||||
- Docker 部署下,导入后的 session 会写入:`./docker-data/sessions/`
|
||||
|
||||
结构示例:
|
||||
|
||||
```
|
||||
accounts.zip
|
||||
├─ 8613111111111
|
||||
│ ├─ 8613111111111.json
|
||||
│ └─ 8613111111111.session
|
||||
└─ 8615119714541
|
||||
├─ 8615119714541.json
|
||||
└─ 8615119714541.session
|
||||
```
|
||||
|
||||
### 反向代理(生产环境建议)
|
||||
|
||||
见 `docs/reverse-proxy.md`(含 Nginx/Caddy + WebSocket)。
|
||||
|
||||
### Bot Webhook(可选)
|
||||
|
||||
如果你使用 Bot 相关功能并希望用 Webhook(而非长轮询),请先确保:
|
||||
|
||||
- 已配置反向代理并能外网访问(HTTPS 强烈建议)
|
||||
- 面板访问域名稳定,且能被 Telegram 访问
|
||||
|
||||
Webhook 的具体配置项、`.env`/`appsettings.local.json` 覆盖方式请参考 `docs/advanced.md`。
|
||||
|
||||
## 其它文档入口
|
||||
|
||||
- 反向代理:`docs/reverse-proxy.md`
|
||||
- 配置项/环境变量/后台任务:`docs/advanced.md`
|
||||
- 同步说明:`docs/sync.md`
|
||||
- API 速查:`docs/api.md`
|
||||
- 数据库结构:`docs/database.md`
|
||||
- 模块系统:`docs/modules.md`
|
||||
- 防冻结指南:`docs/anti-freeze.md`
|
||||
|
||||
## 本地开发运行(可选)
|
||||
|
||||
```bash
|
||||
dotnet run --project src/TelegramPanel.Web
|
||||
```
|
||||
|
||||
## 常见问题
|
||||
|
||||
### 发送验证码提示“session 被占用/进程占用”
|
||||
|
||||
- 确保不要多开多个面板实例共享同一个 `sessions` 目录(会互相锁文件)
|
||||
- 如果刚修改了全局 `ApiId/ApiHash`,建议重启面板再登录
|
||||
@@ -12,6 +12,25 @@
|
||||
- 兼容性:模块声明宿主版本区间(`host.min/host.max`)
|
||||
- 失败自动兜底:模块加载失败时自动尝试回滚到 `LastGoodVersion`,否则自动禁用以避免拖垮系统
|
||||
|
||||
## 面板入口
|
||||
|
||||
- 「模块管理」:安装/启用/停用/卸载模块(通常需重启生效)
|
||||
- 「API 管理」:基于已启用模块,创建对应的外部 API 配置项(`X-API-Key` 鉴权)
|
||||
- 「任务中心」:基于已启用模块,动态展示任务类型与分类
|
||||
|
||||
## 示例扩展(可选)
|
||||
|
||||
- 外部 API:踢人/封禁(示例模块 `builtin.kick-api`,接口:`POST /api/kick`,配置入口:面板左侧菜单「API 管理」)
|
||||
- 模块打包脚本:`powershell tools/package-module.ps1 -Project <csproj> -Manifest <manifest.json>`(产物默认输出到 `artifacts/modules/`)
|
||||
|
||||
## 付费扩展模块(不免费开放)
|
||||
|
||||
以下模块为扩展能力示例的“增强版/商业版”,默认不免费开放;如需获取请联系:TG `@SNINKBOT`。
|
||||
|
||||
- 频道同步转发:按配置将来源频道/群组消息同步转发到目标(更适合多频道矩阵运营)
|
||||
- 监控频道更新通知:持续监控指定频道更新并向目标 ID 推送通知(支持通知冷却,避免刷屏)
|
||||
- 验证码 URL 登录:生成可外部访问的验证码获取页面,按需读取账号系统通知(777000)并展示验证码(接码/卖号场景常见用法)
|
||||
|
||||
## 扩展点一览(任务 / API / UI)
|
||||
|
||||
模块除 `ConfigureServices` / `MapEndpoints` 外,还可以选择性实现以下接口(位于 `TelegramPanel.Modules.Abstractions`):
|
||||
|
||||
Reference in new issue
Block a user