引言
利用 Cloudflare
反代理 Telegram
机器人推送消息的 Api
。
正文
- 先登录
Cloudflare
账号,没有账号的小伙伴自行去官网注册。 - 左侧找到
Workers
,如图 - 创建服务,选择 HTTP处理程序(基于URL模式路由的请求执行的
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
23const 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;
}