sinzmise-cetastories-en 2.0.0-1732439769720 → 2.0.0-1732441369928

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/config.yaml CHANGED
@@ -1,5 +1,35 @@
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
+
21
+ - search: \.html$
22
+ header:
23
+ Content-Type: text/html;charset=UTF-8 #修复标头
24
+
25
+ - search: _
26
+ action: fetch
27
+ fetch:
28
+ status: 200
29
+ engine: classic
30
+ preflight: false
31
+ timeout: 5000
32
+
3
33
  - rule: ^https\:\/\/((cdn|fastly|gcore|test1|quantil)\.jsdelivr\.net\/npm|unpkg\.com)
4
34
  transform_rules:
5
35
  - search: _
@@ -24,4 +54,3 @@ catch_rules:
24
54
  - _
25
55
  - https://jsd.cdn.storisinz.site/gh
26
56
  - 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");