async function handleRequest(request) { // 创建一个空对象来存储请求头数据 const headers = {} // 遍历请求头数据并将其存储在对象中 for (const [name, value] of request.headers.entries()) { headers[name] = value } const url = new URL(request.url); const path = url.pathname; // 用来返回的数据 let returnData = {} returnData["ip"] = headers["EO-Connecting-IP"]; returnData["user-agent"] = headers["User-Agent"]; if(returnData["user-agent"] === undefined){ returnData["user-agent"] = headers["user-agent"]; } returnData["geo"] = request.eo.geo; returnData["version"] = "0.4"; if(path === "/"){ const returnDataStr = "/\t\t\tHelp\n/info\t\t\tALL Info(JSON)\n/ip\t\t\tIP(String)\n/ip/json\t\tIP(Json)\n/ua\t\t\tUser-Agent Data\n/country\t\tCountry"; return new Response(returnDataStr, {status: 200}) } else if(path === "/country"){ const country = returnData["geo"]?.countryCodeAlpha2 || "Country not available"; return new Response(country, {status: 200}) } else if(path === "/ua"){ const returnDataStr = returnData["user-agent"]; return new Response(returnDataStr, {status: 200}) }else if(path === "/info"){ const returnDataStr = JSON.stringify(returnData); return new Response(returnDataStr, {status: 200,headers: {'Content-Type':'application/json'}}) }else if(path === "/ip/json"){ let returnDataTemp ={}; returnDataTemp["ip"] = returnData["ip"]; returnDataTemp["geo"] = returnData["geo"]; const returnDataStr = JSON.stringify(returnDataTemp) return new Response(returnDataStr, {status: 200,headers: {'Content-Type':'application/json'}}) }else if(path === "/ip"){ const returnDataStr = returnData["ip"]; return new Response(returnDataStr, {status: 200}) }else if(path === "/favicon.ico"){ // 浏览器图标响应200 return new Response("", {status: 200}) }else{ return new Response("404", {status: 404}) } } addEventListener('fetch', event => { return event.respondWith(handleRequest(event.request)); });