mirror of https://github.com/yuxian158/check.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
628 B
25 lines
628 B
3 years ago
|
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;
|
||
|
}
|