From 273a4d1f0dd10ec6f8ad9690605270791e60e911 Mon Sep 17 00:00:00 2001 From: CN-JS-HuiBai Date: Mon, 9 Feb 2026 01:07:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=87=E4=BB=B6=EF=BC=9Abe?= =?UTF-8?q?ian.js=E3=80=81generate204.js=E3=80=81ipapi.js=E3=80=81trace.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- beian.js | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++ generate204.js | 4 +++ ipapi.js | 57 +++++++++++++++++++++++++++++++++++ trace.js | 0 4 files changed, 142 insertions(+) create mode 100644 beian.js create mode 100644 generate204.js create mode 100644 ipapi.js create mode 100644 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