国内青龙面板tg推送

小小
2024-09-28 / 0 评论 / 68 阅读 / 正在检测是否收录...

这篇文章的目的主要是解决网上各种教程不完整、有问题,导致实际操作的时候按照其流程进行无法成功。

目前环境下,实现TG推送必须要靠反代,没有反代我试了很多方法都不行。

另外,自己要有一个自己的域名。

先说总体步骤:

1、申请bot机器人,获取tg的user id
2、Cloudflare部署worker
3、青龙面板配置

按照步骤来:
1、申请bot机器人,获取tg的user id

在Telegram搜索【@BotFather】

点击【开始】–输入【/newbot】

给你的机器人起名字。名字自定义,可中文。

编辑个tg机器人的用户名自定义以”*_bot”结尾,便可获取到token

重新搜索【@getuseridbot】–点击【/start】便可获取到你的ID

这里要说明的是,在自定义tg bot名字的时候可能会一直出现“名字被占用了”这种字样,那就换一个,不是tg的问题,而是确实被占用了。

2、Cloudflare部署worker

首先你要有一个域名,如果没有的话,需要自行申请,在这里不赘述。

然后跳转到 https://dash.cloudflare.com/ 进行账户的注册相关。

注册好后,找到 Works and Pages 选项,点击 创建Work
3486293-20240805112813343-878895473.png
一直下一步,直到看到这个页面,然后点击 编辑代码:
3486293-20240805112813343-878895473.png
把之前的代码删除,替换成下面的代码:

const whitelist = ["/bot888518123:"];
const tg_host = "api.telegram.org";
 
addEventListener('fetch', event => {
    event.respondWith(handleRequest(event.request))
})
 
function validate(path) {
    for (var i = 0; i < whitelist.length; i++) {
        if (path.startsWith(whitelist[i]))
            return true;
    }
    return false;
}
 
async function handleRequest(request) {
    var u = new URL(request.url);
    u.host = tg_host;
    if (!validate(u.pathname))
        return new Response('Unauthorized', {
            status: 403
        });
    var req = new Request(u, {
        method: request.method,
        headers: request.headers,
        body: request.body
    });
    const result = await fetch(req);
    return result;
}

其中,第一行const whitelist = ["/bot888518123:"]; 中的 888518123 需要替换成 第一步 中,申请的机器人的HTTP API中冒号前的数字部分
然后点击右上角 “保存并部署” 即可。

接下来是域名的管理部分
m1lazljv.png
将自己的域名输入之后,点击 继续

然后根据提示进行设置(这里因为没有图片,所以没法详细展开,有问题可以留言)。

设置好之后,进行Works路由的设置
m1lb0rha.png
点击添加路由,填入如下信息:
m1lb1fcs.png
其中的tgapi必须和下一步中的名称一致。
点击保存。

添加好路由后,新建一个 DNS 记录。随便用一个 ipv4 的地址指向这个前缀。把代理状态打开,点亮小橙云。如下:
m1lb3lag.png
3、青龙面板的配置
这里就比较简单了。直接上图:
m1lb4xwq.png
m1lb56hs.png
telegramBotApiHost 填 在上一步配置Works路由部分,填入的路由地址。

然后配置文件中也填入相同内容,如下:
m1lb5qpj.png

到这里,配置就结束了。

可以找个任务测试下,定时任务 页面 搜索 京东资产统计 ,然后执行。你应该能在tg端收到推送消息了:
m1lb69hk.png

0

评论 (0)

取消