addEventListener("fetch", event => { event.respondWith(handleRequest(event.request)) }) async function handleRequest(request) { const SERVER_IP = "154.9.228.158"; let url = new URL(request.url); url.hostname = SERVER_IP; url.protocol = "http:"; // 强制HTTP协议(若源站无有效证书)[2](@ref) // 重建请求头,覆盖Host和Referer const newHeaders = new Headers(request.headers); newHeaders.set("Host", SERVER_IP); // 关键:确保源服务器识别请求[3,5](@ref) newHeaders.set("Referer", url.href); // 避免防盗链拦截 // 转发请求并获取响应 const modifiedRequest = new Request(url, { headers: newHeaders, method: request.method, body: request.body, redirect: "follow" }); const response = await fetch(modifiedRequest); // 修改响应头以允许浏览器渲染 const modifiedHeaders = new Headers(response.headers); modifiedHeaders.set("Access-Control-Allow-Origin", "*"); // 解决跨域阻塞[3](@ref) modifiedHeaders.delete("Content-Security-Policy"); // 避免CSP拦截资源加载[3](@ref) return new Response(response.body, { status: response.status, headers: modifiedHeaders }); }