q78kgblog 0.0.0-1714452575015 → 0.0.0-1714651155871
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/404.html +5 -5
- package/about/index.html +7 -7
- package/archives/2022/06/index.html +6 -6
- package/archives/2022/index.html +6 -6
- package/archives/2023/02/index.html +6 -6
- package/archives/2023/04/index.html +6 -6
- package/archives/2023/05/index.html +6 -6
- package/archives/2023/08/index.html +6 -6
- package/archives/2023/09/index.html +6 -6
- package/archives/2023/index.html +6 -6
- package/archives/2024/01/index.html +6 -6
- package/archives/2024/02/index.html +6 -6
- package/archives/2024/index.html +6 -6
- package/archives/index.html +6 -6
- package/atom.xml +11 -11
- package/baidusitemap.xml +10 -10
- package/bangumis/index.html +6 -6
- package/bigpie/index.html +3 -3
- package/categories/Hello-World/index.html +6 -6
- package/categories/Hexo/index.html +6 -6
- package/categories/index.html +3 -3
- package/categories//345/271/264/347/273/210/346/200/273/347/273/223/index.html +6 -6
- package/categories//346/201/260/351/245/255/index.html +6 -6
- package/categories//347/264/240/346/235/220/index.html +6 -6
- package/categories//351/227/262/350/201/212/346/235/202/350/260/210/index.html +6 -6
- package/content.json +1 -1
- package/fcircle/index.html +3 -3
- package/fontawesome/index.html +3 -3
- package/index.html +16 -16
- package/links/index.html +3 -3
- package/othersite/index.html +3 -3
- package/package.json +1 -1
- package/posts/164ef646/index.html +8 -8
- package/posts/228c2ef8/index.html +8 -8
- package/posts/4a17b156/index.html +8 -8
- package/posts/6f3c565b/index.html +8 -8
- package/posts/7da7c3f6/index.html +8 -8
- package/posts/a9a6c1fb/index.html +8 -8
- package/posts/c262e439/index.html +8 -8
- package/posts/c81531cf/index.html +8 -8
- package/posts/da2093a1/index.html +8 -8
- package/posts/e54f7476/index.html +8 -8
- package/sitemap.xml +59 -59
- package/sw.js +196 -172
- package/tags/AI/index.html +7 -7
- package/tags/Butterfly/index.html +7 -7
- package/tags/Cloudflare/index.html +7 -7
- package/tags/DiffSinger/index.html +7 -7
- package/tags/Hexo/index.html +7 -7
- package/tags/Next/index.html +7 -7
- package/tags/RAID/index.html +7 -7
- package/tags/VPS/index.html +7 -7
- package/tags/Vercel/index.html +7 -7
- package/tags/Workers/index.html +7 -7
- package/tags/hello-world/index.html +7 -7
- package/tags/index.html +4 -4
- package/tags//344/270/273/351/242/230/index.html +7 -7
- package/tags//344/272/221/346/234/215/345/212/241/345/231/250/index.html +7 -7
- package/tags//344/276/277/345/256/234/index.html +7 -7
- package/tags//345/206/231/344/275/234/index.html +7 -7
- package/tags//345/245/263/346/200/247/346/204/217/350/257/206/index.html +7 -7
- package/tags//345/255/246/344/271/240/index.html +7 -7
- package/tags//345/256/266/351/207/214/344/272/221/index.html +7 -7
- package/tags//345/271/264/347/273/210/346/200/273/347/273/223/index.html +7 -7
- package/tags//346/200/247/344/273/267/346/257/224/index.html +7 -7
- package/tags//346/212/230/350/205/276/index.html +7 -7
- package/tags//346/217/220/344/276/233/345/225/206/index.html +7 -7
- package/tags//346/227/245/345/270/270/index.html +7 -7
- package/tags//346/234/215/345/212/241/345/231/250/index.html +7 -7
- package/tags//346/265/252/346/275/256/index.html +7 -7
- package/tags//347/256/200/347/210/261/index.html +7 -7
- package/tags//350/207/252/345/212/250/346/240/207/346/263/250/index.html +7 -7
- package/tags//350/256/272/346/226/207/index.html +7 -7
- package/tags//350/260/267/346/255/214/347/277/273/350/257/221/index.html +7 -7
- package/tags//350/264/237/350/275/275/345/235/207/350/241/241/index.html +7 -7
- package/tags//351/207/221/345/217/245/index.html +7 -7
- package/tags//351/255/224/346/224/271/index.html +7 -7
package/sw.js
CHANGED
@@ -1,191 +1,215 @@
|
|
1
|
-
const CACHE_NAME =
|
1
|
+
const CACHE_NAME = "ICDNCache";
|
2
2
|
let cachelist = [];
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
3
|
+
|
4
|
+
self.addEventListener("install", async function (installEvent) {
|
5
|
+
self.skipWaiting();
|
6
|
+
installEvent.waitUntil(
|
7
|
+
caches.open(CACHE_NAME).then(function (cache) {
|
8
|
+
console.log("Opened cache");
|
9
|
+
return cache.addAll(cachelist);
|
10
|
+
})
|
11
|
+
);
|
12
12
|
});
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
13
|
+
|
14
|
+
self.addEventListener("fetch", async (event) => {
|
15
|
+
try {
|
16
|
+
event.respondWith(handle(event.request));
|
17
|
+
} catch (err) {
|
18
|
+
if (err instanceof AggregateError || !(err instanceof Response)) {
|
19
|
+
const urlPath = new URL(event.request.url).pathname;
|
20
|
+
if (fullpath(urlPath).indexOf(".html") != -1) {
|
21
|
+
event.respondWith(fetch("/404.html"));
|
22
|
+
} else {
|
23
|
+
event.respondWith(handleerr(event.request, err));
|
24
|
+
}
|
25
|
+
} else {
|
26
|
+
event.respondWith(handleerr(event.request, err));
|
18
27
|
}
|
28
|
+
}
|
19
29
|
});
|
30
|
+
|
20
31
|
const handleerr = async (req, msg) => {
|
21
|
-
|
22
|
-
|
23
|
-
}
|
32
|
+
return new Response(
|
33
|
+
`<h1>CDN分流器遇到了致命错误</h1>
|
34
|
+
<b>${msg}</b>`,
|
35
|
+
{ headers: { "content-type": "text/html; charset=utf-8" } }
|
36
|
+
);
|
37
|
+
};
|
38
|
+
|
24
39
|
const lfetch = async (urls, url) => {
|
25
|
-
|
26
|
-
|
27
|
-
|
40
|
+
let controller = new AbortController();
|
41
|
+
const PauseProgress = async (res) => {
|
42
|
+
return new Response(await res.arrayBuffer(), { status: res.status, headers: res.headers });
|
43
|
+
};
|
44
|
+
if (!Promise.any) {
|
45
|
+
Promise.any = function (promises) {
|
46
|
+
return new Promise((resolve, reject) => {
|
47
|
+
promises = Array.isArray(promises) ? promises : [];
|
48
|
+
let len = promises.length;
|
49
|
+
let errs = [];
|
50
|
+
if (len === 0) return reject(new AggregateError("All promises were rejected"));
|
51
|
+
promises.forEach((promise) => {
|
52
|
+
promise.then(
|
53
|
+
(value) => {
|
54
|
+
resolve(value);
|
55
|
+
},
|
56
|
+
(err) => {
|
57
|
+
len--;
|
58
|
+
errs.push(err);
|
59
|
+
if (len === 0) {
|
60
|
+
reject(new AggregateError(errs));
|
61
|
+
}
|
62
|
+
}
|
63
|
+
);
|
64
|
+
});
|
65
|
+
});
|
28
66
|
};
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
if (len === 0) return reject(new AggregateError('All promises were rejected'))
|
36
|
-
promises.forEach((promise) => {
|
37
|
-
promise.then(value => {
|
38
|
-
resolve(value)
|
39
|
-
}, err => {
|
40
|
-
len--
|
41
|
-
errs.push(err)
|
42
|
-
if (len === 0) {
|
43
|
-
reject(new AggregateError(errs))
|
44
|
-
}
|
45
|
-
})
|
46
|
-
})
|
47
|
-
})
|
48
|
-
}
|
49
|
-
}
|
50
|
-
return Promise.any(urls.map(urls => {
|
51
|
-
return new Promise((resolve, reject) => {
|
52
|
-
fetch(urls, {
|
53
|
-
signal: controller.signal
|
54
|
-
})
|
55
|
-
.then(PauseProgress)
|
56
|
-
.then(res => {
|
57
|
-
if (res.status == 200) {
|
58
|
-
controller.abort();
|
59
|
-
resolve(res)
|
60
|
-
} else {
|
61
|
-
reject(res)
|
62
|
-
}
|
63
|
-
})
|
67
|
+
}
|
68
|
+
return Promise.any(
|
69
|
+
urls.map((urls) => {
|
70
|
+
return new Promise((resolve, reject) => {
|
71
|
+
fetch(urls, {
|
72
|
+
signal: controller.signal,
|
64
73
|
})
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
})
|
74
|
+
.then(PauseProgress)
|
75
|
+
.then((res) => {
|
76
|
+
if (res.status == 200) {
|
77
|
+
controller.abort();
|
78
|
+
resolve(res);
|
79
|
+
} else {
|
80
|
+
reject(res);
|
81
|
+
}
|
82
|
+
});
|
83
|
+
});
|
84
|
+
})
|
85
|
+
);
|
86
|
+
};
|
87
|
+
|
76
88
|
const fullpath = (path) => {
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
}
|
89
|
+
path = path.split("?")[0].split("#")[0];
|
90
|
+
if (path.match(/\/$/)) {
|
91
|
+
path += "index";
|
92
|
+
}
|
93
|
+
if (!path.match(/\.[a-zA-Z]+$/)) {
|
94
|
+
path += ".html";
|
95
|
+
}
|
96
|
+
return path;
|
97
|
+
};
|
98
|
+
|
86
99
|
const generate_blog_urls = (packagename, blogversion, path) => {
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
}
|
100
|
+
const npmmirror = [
|
101
|
+
// `https://unpkg.zhimg.com/${packagename}@${blogversion}`,
|
102
|
+
// `https://npm.elemecdn.com/${packagename}@${blogversion}`,
|
103
|
+
// `https://cdn1.tianli0.top/npm/${packagename}@${blogversion}`,
|
104
|
+
// `https://cdn.afdelivr.top/npm/${packagename}@${blogversion}`,
|
105
|
+
//`https://ariasakablog.s3.ladydaily.com`,
|
106
|
+
`https://registry.npmmirror.com/${packagename}/${blogversion}/files`,
|
107
|
+
];
|
108
|
+
for (var i in npmmirror) {
|
109
|
+
npmmirror[i] += path;
|
110
|
+
}
|
111
|
+
return npmmirror;
|
112
|
+
};
|
113
|
+
|
100
114
|
const mirror = [
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
]
|
115
|
+
// `https://registry.npmmirror.com/ariasakablog/latest`,
|
116
|
+
// `https://registry.npmjs.org/ariasakablog/latest`,
|
117
|
+
// `https://mirrors.cloud.tencent.com/npm/ariasakablog/latest`,
|
118
|
+
`https://registry.npmmirror.com/q78kgblog/latest`,
|
119
|
+
];
|
120
|
+
|
106
121
|
const get_newest_version = async (mirror) => {
|
107
|
-
return lfetch(mirror, mirror[0])
|
108
|
-
.then(res => res.json())
|
109
|
-
.then(res.version)
|
110
|
-
}
|
111
|
-
self.db = { //全局定义db,只要read和write,看不懂可以略过
|
112
|
-
read: (key, config) => {
|
113
|
-
if (!config) { config = { type: "text" } }
|
114
|
-
return new Promise((resolve, reject) => {
|
115
|
-
caches.open(CACHE_NAME).then(cache => {
|
116
|
-
cache.match(new Request(`https://LOCALCACHE/${encodeURIComponent(key)}`)).then(function (res) {
|
117
|
-
if (!res) resolve(null)
|
118
|
-
res.text().then(text => resolve(text))
|
119
|
-
}).catch(() => {
|
120
|
-
resolve(null)
|
121
|
-
})
|
122
|
-
})
|
123
|
-
})
|
124
|
-
},
|
125
|
-
write: (key, value) => {
|
126
|
-
return new Promise((resolve, reject) => {
|
127
|
-
caches.open(CACHE_NAME).then(function (cache) {
|
128
|
-
cache.put(new Request(`https://LOCALCACHE/${encodeURIComponent(key)}`), new Response(value));
|
129
|
-
resolve()
|
130
|
-
}).catch(() => {
|
131
|
-
reject()
|
132
|
-
})
|
133
|
-
})
|
134
|
-
}
|
135
|
-
}
|
122
|
+
return lfetch(mirror, mirror[0])
|
123
|
+
.then((res) => res.json())
|
124
|
+
.then(res.version);
|
125
|
+
};
|
136
126
|
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
127
|
+
self.db = {
|
128
|
+
read: (key, config) => {
|
129
|
+
if (!config) {
|
130
|
+
config = { type: "text" };
|
131
|
+
}
|
132
|
+
return new Promise((resolve, reject) => {
|
133
|
+
caches.open(CACHE_NAME).then((cache) => {
|
134
|
+
cache
|
135
|
+
.match(new Request(`https://LOCALCACHE/${encodeURIComponent(key)}`))
|
136
|
+
.then(function (res) {
|
137
|
+
if (!res) resolve(null);
|
138
|
+
res.text().then((text) => resolve(text));
|
139
|
+
})
|
140
|
+
.catch(() => {
|
141
|
+
resolve(null);
|
142
|
+
});
|
143
|
+
});
|
144
|
+
});
|
145
|
+
},
|
146
|
+
write: (key, value) => {
|
147
|
+
return new Promise((resolve, reject) => {
|
148
|
+
caches
|
149
|
+
.open(CACHE_NAME)
|
150
|
+
.then(function (cache) {
|
151
|
+
cache.put(new Request(`https://LOCALCACHE/${encodeURIComponent(key)}`), new Response(value));
|
152
|
+
resolve();
|
143
153
|
})
|
144
|
-
|
154
|
+
.catch(() => {
|
155
|
+
reject();
|
156
|
+
});
|
157
|
+
});
|
158
|
+
},
|
159
|
+
};
|
145
160
|
|
146
|
-
|
147
|
-
|
148
|
-
|
161
|
+
const set_newest_version = async (mirror) => {
|
162
|
+
return lfetch(mirror, mirror[0])
|
163
|
+
.then((res) => res.json())
|
164
|
+
.then(async (res) => {
|
165
|
+
await db.write("blog_version", res.version);
|
166
|
+
return;
|
167
|
+
});
|
168
|
+
};
|
169
|
+
|
170
|
+
setInterval(async () => {
|
171
|
+
await set_newest_version(mirror);
|
172
|
+
}, 60 * 1000);
|
173
|
+
|
174
|
+
setTimeout(async () => {
|
175
|
+
await set_newest_version(mirror);
|
176
|
+
}, 5000);
|
149
177
|
|
150
|
-
setTimeout(async() => {
|
151
|
-
await set_newest_version(mirror)//打开五秒后更新,避免堵塞
|
152
|
-
},5000)
|
153
178
|
function getFileType(fileName) {
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
}
|
158
|
-
if(suffix=="js") {
|
159
|
-
return 'text/javascript';
|
160
|
-
}
|
161
|
-
if(suffix=="css") {
|
162
|
-
return 'text/css';
|
163
|
-
}
|
164
|
-
if(suffix=="jpg"||suffix=="jpeg") {
|
165
|
-
return 'image/jpeg';
|
166
|
-
}
|
167
|
-
if(suffix=="ico") {
|
168
|
-
return 'image/x-icon';
|
169
|
-
}
|
170
|
-
if(suffix=="png") {
|
171
|
-
return 'image/png';
|
172
|
-
}
|
173
|
-
return 'text/plain';
|
179
|
+
suffix = fileName.split(".")[fileName.split(".").length - 1];
|
180
|
+
if (suffix == "html" || suffix == "htm") {
|
181
|
+
return "text/html";
|
174
182
|
}
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
183
|
+
if (suffix == "js") {
|
184
|
+
return "text/javascript";
|
185
|
+
}
|
186
|
+
if (suffix == "css") {
|
187
|
+
return "text/css";
|
188
|
+
}
|
189
|
+
if (suffix == "jpg" || suffix == "jpeg") {
|
190
|
+
return "image/jpeg";
|
191
|
+
}
|
192
|
+
if (suffix == "ico") {
|
193
|
+
return "image/x-icon";
|
194
|
+
}
|
195
|
+
if (suffix == "png") {
|
196
|
+
return "image/png";
|
197
|
+
}
|
198
|
+
return "text/plain";
|
191
199
|
}
|
200
|
+
|
201
|
+
const handle = async (req) => {
|
202
|
+
const urlStr = req.url;
|
203
|
+
const urlObj = new URL(urlStr);
|
204
|
+
const urlPath = urlObj.pathname;
|
205
|
+
const domain = urlObj.hostname;
|
206
|
+
|
207
|
+
if (domain === "anjiurine.top") {
|
208
|
+
var l = lfetch(generate_blog_urls("q78kgblog", (await db.read("blog_version")) || "latest", fullpath(urlPath)));
|
209
|
+
return l
|
210
|
+
.then((res) => res.arrayBuffer())
|
211
|
+
.then((buffer) => new Response(buffer, { headers: { "Content-Type": `${getFileType(fullpath(urlPath).split("/")[fullpath(urlPath).split("/").length - 1].split("\\")[fullpath(urlPath).split("/")[fullpath(urlPath).split("/").length - 1].split("\\").length - 1])};charset=utf-8` } }));
|
212
|
+
} else {
|
213
|
+
return fetch(req);
|
214
|
+
}
|
215
|
+
};
|