addEventListener("fetch", event => {

event.respondWith(handleRequest(event.request))

})

  

async function handleRequest(request) {

let url = new URL(request.url)

let bucketName = "joomaen"

let b2BaseUrl = `https://f003.backblazeb2.com/file/${bucketName}`

  

// 拼接 B2 URL

let newUrl = b2BaseUrl + url.pathname

  

// 通过 fetch 代理请求到 B2

let response = await fetch(newUrl, {

headers: {

"Origin": null

}

})

  

// 复制原始响应的头信息

let newHeaders = new Headers(response.headers)

  

// 设置强制缓存

newHeaders.set("Cache-Control", "public, max-age=31536000, immutable")

newHeaders.set("Access-Control-Allow-Origin", "*")

  

return new Response(response.body, {

status: response.status,

headers: newHeaders

})

}