Telegram 付费入群机器人代码,审计报告 & 宝塔部署教程

本文摘要:
该教程围绕 telegram-paid-group-verify 付费入群机器人,涵盖代码审计与宝塔部署,适用于 Python 3.10+、python-telegram-bot v22、aiohttp 和 OkPay。审计 24 个 Python 文件及配置后未发现后门,但发现高危 Bot Token 泄露及测试数据残留风险;部署需更换 Token、配置 OkPay 与 HTTPS 域名,并按 8 步完成进程守护、反向代理和回调设置。
— 本文部分摘要灵感源自 DeepSeek 深度思考 ✨
图片[1]|Telegram 付费入群机器人代码,审计报告 & 宝塔部署教程|不死鸟资源网

Telegram 付费入群机器人
代码审计报告 & 宝塔部署教程

项目:telegram-paid-group-verify(Python 3.10+ / python-telegram-bot v22 / aiohttp / OkPay)

🛡️ 安全审计:通过(无后门)⚠️ 1 项高危需立即处理📢 品牌文案:狗凯源码库 bbbb.bid🚀 宝塔部署 8 步走

0

后门 / 恶意代码

1

高危:Bot Token 泄露

2

中危:配置与数据残留

8 步

宝塔部署教程

一、代码审计结论

对全部 24 个 Python 文件、配置、CI 工作流逐行审计,未发现后门或恶意行为

审计项结果结论
后门 / 恶意代码全库无 eval / exec / subprocess / 隐蔽 socket 外连 / base64 解码执行,依赖仅 3 个正规库(python-telegram-bot、aiohttp、python-dotenv)安全
数据外传唯一外部请求为 OkPay 商户 API(api.okaypay.me),与业务一致安全
支付回调验签HMAC-SHA256 + hmac.compare_digest 恒定时间比较;验签失败回 400,防伪造到账规范
结算幂等性同一订单不会重复发链接 / 重复记返利;订单超时前主动查单兜底规范
权限控制/stats /paytest /config 及返利确认均校验 ADMIN_IDS;回调按钮二次校验规范
⚠️ Bot Token 泄露.env 内含真实 BOT_TOKEN(源码包作者遗留)。任何人拿到即完全控制机器人高危
数据残留data/store.json 含原作者测试用户数据(已按需求原样保留,上线前可自行决定是否清空)已保留
杂项根目录 package-lock.json 与 __pycache__ 为无用文件,可删除;.github/workflows/ci.yml 仅做语法检查,无风险建议清理

⚠️ 部署前必做:立即到 Telegram @BotFather → /mybots → 选择机器人 → API Token → Revoke current token 换新 Token,旧 Token 视为已泄露。同时 .env 里的原作者 ADMIN_IDSSUPPORT_URLNOTIFY_USERNAME 等要全部换成自己的,否则原作者可能收到订单通知。

二、宝塔面板部署教程(8 步)

1

准备材料

部署前凑齐以下 5 样:

材料获取方式
Bot Token@BotFather → /newbot换掉泄露的旧 Token
你的 Telegram 数字 ID私聊 @userinfobot
目标付费群 ID-100 开头的超级群 ID,拉机器人进群发 /id 获取
OkPay 商户商户机器人开通,拿到 App ID + Token
域名一个如 pay.example.com,A 记录解析到服务器 IP(回调必须 HTTPS)

机器人必须是目标群的管理员,并勾选「邀请用户」权限,否则无法生成进群链接。

2

上传代码 + 安装依赖

宝塔面板 → 文件 → 上传本项目到 /www/wwwroot/paid-group-bot(或用终端 git 拉取),然后在宝塔终端执行:

# 进入目录并创建虚拟环境
cd /www/wwwroot/paid-group-bot
python3 -m venv .venv
source .venv/bin/activate
pip install -U pip
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

要求 Python ≥ 3.10(推荐 3.11/3.12)。宝塔「Python 项目管理器」若无合适版本,先在管理器里安装。

3

配置 .env(重点,必改项见下表)

编辑项目根目录 .env至少修改以下 7 项

BOT_TOKEN=# 新申请的 Token(旧 Token 已泄露,必须换)
ADMIN_IDS=# 你自己的 Telegram 数字 ID(删掉原作者的 1351132825)
TARGET_GROUP_ID=# 你的付费群 ID(-100 开头)
CHANNEL=# 欢迎语频道展示,可写 @你的频道 或留空
SUPPORT_URL=# 你的客服链接 https://t.me/你的客服号
NOTIFY_USERNAME=# 你的展示用户名(不含@,删掉原作者的 kzrrr)
WEBHOOK_PUBLIC_BASE=# https://pay.example.com(换成你的域名,无尾斜杠)

OkPay 收款需另填 OKPAY_APP_ID 与 OKPAY_TOKEN;只跑 /paytest 演示可不填。

4

宝塔创建 Python 项目(进程守护)

宝塔面板 → 网站 → Python 项目 → 添加 Python 项目:

配置项填写
项目路径/www/wwwroot/paid-group-bot
Python 版本3.11 或 3.12
启动方式命令启动(不要选 gunicorn/wsgi)
启动命令/www/wwwroot/paid-group-bot/.venv/bin/python -m bot.main
端口8090(对应 .env 的 WEBHOOK_PORT)
虚拟环境选项目下的 .venv(管理器会自动带 –require-virtualenv 时用此项)

关键:启动方式必须选「命令启动」+ python -m bot.main。这个机器人是 long polling 模式,webhook 回调服务和 Bot 在同一进程,用 gunicorn 托管启动文件会跑不起来。启动后到「日志」确认看到 机器人启动完成:@xxx

5

新建网站 + 反向代理

宝塔 → 网站 → 添加站点:域名填 pay.example.com,纯静态即可,不建数据库、不建 FTP。然后:

# 方式一:站点设置 → 反向代理 → 添加反向代理
目标 URL:http://127.0.0.1:8090
发送域名:$host

# 方式二(等价):直接在站点配置文件里加:
location / {
    proxy_pass http://127.0.0.1:8090;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

6

申请 SSL 证书(必须)

站点设置 → SSL → Let’s Encrypt → 勾选域名 → 申请,并开启「强制 HTTPS」。OkPay 回调地址必须是公网 HTTPS:

https://pay.example.com/pay/okpay/callback

安全建议:宝塔防火墙 / 安全组里不要放行 8090 端口,让回调只走 Nginx 反代,外网无法直连后端。

7

OkPay 后台登记回调

OkPay 商户后台 / 商户机器人里,把全局回调地址设为上面那条回调 URL,同时 .env 保持:

OKPAY_SEND_CALLBACK_URL=false

后台已有全局回调时,下单再传 callback_url 会被 OkPay 拒绝(报「callback_url 参数验证失败」),保持 false 即可。

8

验收 & 日常运维

按下面清单逐项打勾,全部通过即可开张:

进程存活:宝塔 Python 项目状态为「运行中」

健康检查:浏览器访问 https://pay.example.com/health 返回 {"status":"ok"}

机器人私聊:发 /start,看到欢迎语(含狗凯源码库品牌)+ 底部四键菜单

群权限:在群里发 /id 拿到群 ID 回填 .env 并重启项目

演示闭环:管理员发 /paytest,能收到一次性进群链接

真实支付:点「付费进群」→ OkPay 付款 → 自动收到进群链接

返利链路:邀请链接拉新 → 好友付费 → 管理员确认 → OkPay 出款

日常运维:改 .env 后在宝塔项目里点「重启」;定期备份 data/store.json(所有用户/订单/返利数据都在这一个文件里);看日志用宝塔项目「日志」或 journalctl

三、.env 配置修改对照表

变量必改说明
BOT_TOKEN必须换新 Token(旧的在源码包里已泄露)
ADMIN_IDS必须删掉原作者 1351132825,填自己的数字 ID,多个逗号分隔
TARGET_GROUP_ID必须-100 开头的付费群 ID;先填 0 启动后拉群发 /id 获取
CHANNEL建议原作者写「源码分享网测试」,换成你的频道或留空
SUPPORT_URL / SUPPORT_USERNAME / NOTIFY_USERNAME / ADMIN_USERNAME建议原作者均为 kzrrr,全部换成自己的
WEBHOOK_PUBLIC_BASE必须https://你的域名无尾斜杠,必须 HTTPS
CURRENCY可选USDT / TRX / CNY,与 OkPay 商户能力一致
PRICE_TIERS / PRICE_DEFAULT可选阶梯定价:默认前 20 人 66U、之后 88U,按需修改(也可上线后 /config 在线改)
REBATE_RATE可选返利比例,默认 0.1(10%)
ORDER_TTL_SECONDS可选订单有效期,默认 90 秒
OKPAY_APP_ID / OKPAY_TOKEN收款必填OkPay 商户机器人「商户信息」里查看;Token 仅本地算签勿泄露
OKPAY_SEND_CALLBACK_URL保持保持 false,回调走 OkPay 后台全局配置
WEBHOOK_PORT保持默认 8090,与宝塔项目端口一致即可;防火墙不要放行

四、常见问题排查

现象排查方向
支付成功但没收到进群链接回调地址是否 200(看宝塔项目日志有无「收到 okpay 回调」);机器人是否仍有群「邀请用户」权限;TARGET_GROUP_ID 是否正确。订单超时前系统会主动查单补发
下单报 callback_url 校验失败保持 OKPAY_SEND_CALLBACK_URL=false,回调统一在 OkPay 后台登记
签名失败 / 身份认证失败核对 OKPAY_APP_IDOKPAY_TOKEN;服务器开启 NTP 校时(时间偏差 ±300 秒会被拒签)
无法生成进群链接把机器人设为目标群管理员,勾选「邀请用户 / 管理邀请链接」权限
健康检查不通先在服务器上 curl 127.0.0.1:8090/health:通则是 Nginx 反代/证书问题;不通则项目没启动,检查启动命令必须是 python -m bot.main
宝塔里 gunicorn 启动失败本项目不是 Web 应用,不能用 gunicorn 托管,改为「命令启动」+ .venv/bin/python -m bot.main
本站文章部分内容可能来源于网络,仅供大家学习参考,如有侵权,请联系站长📧ommind@qq.com进行删除处理!
Telegram 付费入群机器人代码,审计报告 & 宝塔部署教程|不死鸟资源网
Telegram 付费入群机器人代码,审计报告 & 宝塔部署教程
此内容为付费资源,请付费后查看
¥15
限时特惠
¥99
文章采用CC BY-NC-SA 4.0许可协议授权
付费资源
THE END
点赞12 分享