使用 Cloudflare 反代理 Telegram Api

引言

利用 Cloudflare 反代理 Telegram 机器人推送消息的 Api

正文

  • 先登录 Cloudflare 账号,没有账号的小伙伴自行去官网注册。
  • 左侧找到 Workers ,如图
    菜单栏
  • 创建服务,选择 HTTP处理程序(基于URL模式路由的请求执行的 Worker
    创建 worker 服务
  • 创建完成后,点击右侧的 快速编辑 ,将下方代码复制进去,点击 保存并部署 即可。右侧的 http://xxxxx.xxxxx.workers.dev 就是你代理的接口 url
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    const whitelist = ["/bot"];
    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;
    }

Powered by Hexo and Hexo-theme-hiker

Copyright © 2018 - 2023 Leamx's Blog All Rights Reserved.

UV : | PV :