worker: Fix IP header

This commit is contained in:
LittleChest 2025-07-26 14:23:31 +08:00
parent f0e016f13b
commit 2795686625
2 changed files with 9 additions and 3 deletions

View File

@ -1,5 +1,6 @@
import handler from "./common"; import handler from "./common";
export default { export default {
fetch: async (request, env) => handler(request, env.DNS, env.API), fetch: async (request, env) =>
handler(request, env.DNS, env.API, request.headers.get("cf-connecting-ip")),
}; };

View File

@ -1,11 +1,16 @@
export default async function handler( export default async function handler(
request, request,
dns = "https://dns.google/dns-query", dns = "https://dns.google/dns-query",
api = "https://dns.google/resolve" api = "https://dns.google/resolve",
rawIP
) { ) {
const { method, headers, url } = request; const { method, headers, url } = request;
const { search, searchParams, pathname } = new URL(url); const { search, searchParams, pathname } = new URL(url);
const ip = headers.get("x-forwarded-for");
const ip =
rawIP ||
headers.get("x-forwarded-for").split(",")[0].trim() ||
headers.get("x-real-ip");
// Anti-GFW // Anti-GFW
if ( if (