Update gcr_proxy.js
This commit is contained in:
parent
5aed0fe51a
commit
de1ddd3126
16
gcr_proxy.js
16
gcr_proxy.js
|
@ -14,6 +14,7 @@ const PREFLIGHT_INIT = {
|
||||||
headers: new Headers({
|
headers: new Headers({
|
||||||
'access-control-allow-origin': '*',
|
'access-control-allow-origin': '*',
|
||||||
'access-control-allow-methods': 'GET,POST,PUT,PATCH,TRACE,DELETE,HEAD,OPTIONS',
|
'access-control-allow-methods': 'GET,POST,PUT,PATCH,TRACE,DELETE,HEAD,OPTIONS',
|
||||||
|
'Access-Control-Allow-Headers': "Authorization,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type",
|
||||||
'access-control-max-age': '1728000',
|
'access-control-max-age': '1728000',
|
||||||
}),
|
}),
|
||||||
}
|
}
|
||||||
|
@ -52,6 +53,11 @@ addEventListener('fetch', e => {
|
||||||
* @param {FetchEvent} e
|
* @param {FetchEvent} e
|
||||||
*/
|
*/
|
||||||
async function fetchHandler(e) {
|
async function fetchHandler(e) {
|
||||||
|
if (e.request.method === 'OPTIONS' )
|
||||||
|
{
|
||||||
|
return new Response(null, PREFLIGHT_INIT)
|
||||||
|
}
|
||||||
|
|
||||||
const getReqHeader = (key) => e.request.headers.get(key);
|
const getReqHeader = (key) => e.request.headers.get(key);
|
||||||
|
|
||||||
let url = new URL(e.request.url);
|
let url = new URL(e.request.url);
|
||||||
|
@ -66,8 +72,7 @@ async function fetchHandler(e) {
|
||||||
'Accept-Encoding': getReqHeader("Accept-Encoding"),
|
'Accept-Encoding': getReqHeader("Accept-Encoding"),
|
||||||
'Connection': 'keep-alive',
|
'Connection': 'keep-alive',
|
||||||
'Cache-Control': 'max-age=0'
|
'Cache-Control': 'max-age=0'
|
||||||
},
|
}
|
||||||
cacheTtl: 3600
|
|
||||||
};
|
};
|
||||||
|
|
||||||
if (e.request.headers.has("Authorization")) {
|
if (e.request.headers.has("Authorization")) {
|
||||||
|
@ -91,6 +96,10 @@ async function fetchHandler(e) {
|
||||||
return httpHandler(e.request, new_response_headers.get("Location"))
|
return httpHandler(e.request, new_response_headers.get("Location"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
new_response_headers.set('Access-Control-Allow-Origin', '*')
|
||||||
|
new_response_headers.set('Access-Control-Allow-Methods', 'GET,POST,PUT,PATCH,TRACE,DELETE,HEAD,OPTIONS')
|
||||||
|
new_response_headers.set('Access-Control-Allow-Headers', "Authorization,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type")
|
||||||
|
|
||||||
let response = new Response(original_text, {
|
let response = new Response(original_text, {
|
||||||
status,
|
status,
|
||||||
headers: new_response_headers
|
headers: new_response_headers
|
||||||
|
@ -118,6 +127,8 @@ function httpHandler(req, pathname) {
|
||||||
|
|
||||||
const reqHdrNew = new Headers(reqHdrRaw)
|
const reqHdrNew = new Headers(reqHdrRaw)
|
||||||
|
|
||||||
|
// 访问storage.googleapis.com时去除认证
|
||||||
|
reqHdrNew.delete('Authorization')
|
||||||
const refer = reqHdrNew.get('referer')
|
const refer = reqHdrNew.get('referer')
|
||||||
|
|
||||||
let urlStr = pathname
|
let urlStr = pathname
|
||||||
|
@ -160,7 +171,6 @@ async function proxy(urlObj, reqInit, rawLen) {
|
||||||
const status = res.status
|
const status = res.status
|
||||||
resHdrNew.set('access-control-expose-headers', '*')
|
resHdrNew.set('access-control-expose-headers', '*')
|
||||||
resHdrNew.set('access-control-allow-origin', '*')
|
resHdrNew.set('access-control-allow-origin', '*')
|
||||||
resHdrNew.set('Cache-Control', 'max-age=1500')
|
|
||||||
|
|
||||||
resHdrNew.delete('content-security-policy')
|
resHdrNew.delete('content-security-policy')
|
||||||
resHdrNew.delete('content-security-policy-report-only')
|
resHdrNew.delete('content-security-policy-report-only')
|
||||||
|
|
Loading…
Reference in New Issue