sinzmise-cetastories-en 2.0.0-1732439769720 → 2.0.0-1732441112276

Sign up to get free protection for your applications and to get access to all the features.
package/config.yaml CHANGED
@@ -1,5 +1,37 @@
1
1
  name: CetaHouseEnCache
2
2
  catch_rules:
3
+ - rule: _ #ClientWorker语法糖,匹配当前域,返回一个域名带端口
4
+ transform_rules: #转换规则,最上面的优先最高
5
+ - search: \#.* #在发送请求时匹配#后内容并移除
6
+ searchin: url
7
+ replace: ''
8
+ - search: \?.* #在发送请求时匹配?后内容并移除,仅限静态请求
9
+ replace: ''
10
+ - search: ([^\/.]+)\/index(|\.html)$ #url优化
11
+ action: redirect
12
+ redirect:
13
+ to: $1/
14
+ - search: ([^\/.]+)\/$
15
+ replace: $1/index.html
16
+ - search: _
17
+ replace:
18
+ - _ #保留原始请求
19
+ - en.vercel.blog.sinzmise.top #Vercel托管
20
+ - jsd.cdn.storisinz.site/npm/sinzmise-cetastories-en #NPM托管
21
+ - jsd.cdn.storisinz.site/gh/SinzMise/blog@en #gh托管
22
+
23
+ - search: \.html$
24
+ header:
25
+ Content-Type: text/html;charset=UTF-8 #修复标头
26
+
27
+ - search: _
28
+ action: fetch
29
+ fetch:
30
+ status: 200
31
+ engine: classic
32
+ preflight: false
33
+ timeout: 5000
34
+
3
35
  - rule: ^https\:\/\/((cdn|fastly|gcore|test1|quantil)\.jsdelivr\.net\/npm|unpkg\.com)
4
36
  transform_rules:
5
37
  - search: _
@@ -24,4 +56,3 @@ catch_rules:
24
56
  - _
25
57
  - https://jsd.cdn.storisinz.site/gh
26
58
  - https://code.webcache.cn/gh
27
-
package/cw.js CHANGED
@@ -1 +1 @@
1
- importScripts("https://jsd.cdn.storisinz.site/npm/clientworker/dist/cw.js");const CACHE_NAME="CetaHouseEnCache";let cachelist=[];self.addEventListener("install",(async function(e){self.skipWaiting(),e.waitUntil(caches.open(CACHE_NAME).then((function(e){return console.log("Opened cache"),e.addAll(cachelist)})))})),self.addEventListener("fetch",(async e=>{try{e.respondWith(handle(e.request))}catch(t){e.respondWith(handleerr(e.request,t))}}));const handleerr=async(e,t)=>new Response(`<h1>CDN分流器遇到了致命错误</h1>\n <b>${t}</b>`,{headers:{"content-type":"text/html; charset=utf-8"}}),lfetch=async(e,t)=>{let n=new AbortController;const s=async e=>new Response(await e.arrayBuffer(),{status:e.status,headers:e.headers});return Promise.any||(Promise.any=function(e){return new Promise(((t,n)=>{let s=(e=Array.isArray(e)?e:[]).length,r=[];if(0===s)return n(new AggregateError("All promises were rejected"));e.forEach((e=>{e.then((e=>{t(e)}),(e=>{s--,r.push(e),0===s&&n(new AggregateError(r))}))}))}))}),Promise.any(e.map((e=>new Promise(((t,r)=>{fetch(e,{signal:n.signal}).then(s).then((e=>{200==e.status?(n.abort(),t(e)):r(e)}))})))))};self.addEventListener("fetch",(async e=>{e.respondWith(handle(e.request))}));const fullpath=e=>((e=e.split("?")[0].split("#")[0]).match(/\/$/)&&(e+="index"),e.match(/\.[a-zA-Z]+$/)||(e+=".html"),e),handle=async e=>{const t=e.url,n=new URL(t),s=n.pathname;return"en.blog.sinzmise.top"===n.hostname?lfetch(["https://en.vercel.blog.sinzmise.top"+fullpath(s)]):fetch(e)};
1
+ importScripts("https://jsd.cdn.storisinz.site/npm/clientworker/dist/cw.js");