cloudflare works反代hostloc
2025/11/16 14:18:45
之前大佬发的,又让ai部分修改了一下
- addEventListener('fetch', event => event.respondWith(handleRequest(event.request)));const DOMAIN = 'hostloc.com';async function handleRequest(request) { const url = new URL(request.url); url.hostname = DOMAIN; const headers = new Headers(request.headers); headers.set('Referer', `https://${DOMAIN}`); const redirectMode = url.pathname.includes('/uc_server/') ? 'follow' : 'manual'; const response = await fetch(url, { method: request.method, headers: headers, body: request.body, redirect: redirectMode }); const contentType = response.headers.get('content-type'); if (contentType?.includes('text')) { const text = await response.text(); const modifiedText = text.replace(new RegExp(`(?<=\\/\\/).*?${DOMAIN.replace(/\./g, '\\.')}`, 'g'), new URL(request.url).hostname); const newHeaders = handleResHeader(response); return new Response(modifiedText, { status: response.status, headers: newHeaders }); } return response;}function handleResHeader(response) { const headers = new Headers(response.headers); headers.set('Access-Control-Allow-Origin', '*'); headers.set('Access-Control-Allow-Methods', 'GET'); headers.set('Access-Control-Allow-Headers', 'Content-Type'); return headers;}