添加文件:beian.js、generate204.js、ipapi.js、trace.js

This commit is contained in:
CN-JS-HuiBai
2026-02-09 01:07:13 +08:00
commit 273a4d1f0d
4 changed files with 142 additions and 0 deletions

81
beian.js Normal file
View File

@@ -0,0 +1,81 @@
async function handleRequest(request) {
// ICP备案号
const icp = "苏ICP备2022009869号-2";
// 公安备案号
const publicSecurity = "苏公网安备32132402000606号";
// HTML页面
const html = `
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>小小的日记本</title>
<style>
* {
margin: 0;
padding: 0;
}
body {
font-family: Arial, sans-serif;
display: flex;
flex-direction: column;
min-height: 100vh;
background-color: #ffffff;
}
.main-content {
flex: 1;
}
.beian-footer {
background-color: #f5f5f5;
padding: 20px;
text-align: center;
width: 100%;
box-sizing: border-box;
}
.beian-footer p {
margin: 0;
font-size: 14px;
color: #666;
display: flex;
justify-content: center;
align-items: center;
gap: 20px;
flex-wrap: wrap;
}
a {
text-decoration: none;
color: #666;
}
a:hover {
color: #333;
}
.separator {
color: #999;
}
.beian-footer img {
height: 14px;
vertical-align: middle;
}
</style>
</head>
<body>
<div class="main-content"></div>
<div class="beian-footer">
<p><a href="https://beian.miit.gov.cn/" target="_blank">${icp}</a> <span class="separator">|</span> <a href="https://beian.mps.gov.cn/#/query/webSearch?code=32132402000606" target="_blank"><img src="https://image.cloudyun.top/i/2026/02/09/o49mk.png" alt="公安备案" style="vertical-align: middle;"> ${publicSecurity}</a></p>
</div>
</body>
</html>`;
return new Response(html, {
status: 200,
headers: {
'Content-Type': 'text/html; charset=utf-8'
}
});
}
addEventListener('fetch', event => {
return event.respondWith(handleRequest(event.request));
});

4
generate204.js Normal file
View File

@@ -0,0 +1,4 @@
addEventListener('fetch', event => {
const response = new Response(null, { status: 204 });
event.respondWith(response);
});

57
ipapi.js Normal file
View File

@@ -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));
});

0
trace.js Normal file
View File