commit 273a4d1f0dd10ec6f8ad9690605270791e60e911 Author: CN-JS-HuiBai Date: Mon Feb 9 01:07:13 2026 +0800 添加文件:beian.js、generate204.js、ipapi.js、trace.js diff --git a/beian.js b/beian.js new file mode 100644 index 0000000..3ccfa46 --- /dev/null +++ b/beian.js @@ -0,0 +1,81 @@ +async function handleRequest(request) { + // ICP备案号 + const icp = "苏ICP备2022009869号-2"; + + // 公安备案号 + const publicSecurity = "苏公网安备32132402000606号"; + + // HTML页面 + const html = ` + + + + + 小小的日记本 + + + +
+
+

${icp} | 公安备案 ${publicSecurity}

+
+ +`; + + return new Response(html, { + status: 200, + headers: { + 'Content-Type': 'text/html; charset=utf-8' + } + }); +} + +addEventListener('fetch', event => { + return event.respondWith(handleRequest(event.request)); +}); diff --git a/generate204.js b/generate204.js new file mode 100644 index 0000000..4ccca85 --- /dev/null +++ b/generate204.js @@ -0,0 +1,4 @@ +addEventListener('fetch', event => { + const response = new Response(null, { status: 204 }); + event.respondWith(response); +}); \ No newline at end of file diff --git a/ipapi.js b/ipapi.js new file mode 100644 index 0000000..9761630 --- /dev/null +++ b/ipapi.js @@ -0,0 +1,57 @@ +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)); +}); \ No newline at end of file diff --git a/trace.js b/trace.js new file mode 100644 index 0000000..e69de29