christmas update

This commit is contained in:
sky
2025-11-27 12:13:08 -05:00
parent e60e6791d9
commit d4bd776889
8 changed files with 194 additions and 76 deletions

144
sw.js
View File

@ -1,79 +1,77 @@
importScripts(
'https://storage.googleapis.com/workbox-cdn/releases/6.4.1/workbox-sw.js'
);
// importScripts(
// 'https://storage.googleapis.com/workbox-cdn/releases/6.4.1/workbox-sw.js'
// );
let localStorageData = {
cdns: [],
disableCDN: true,
};
// yandere sim big files, cuphead, renpy, renpy, buckshot roulette, half life, undertale & deltarune, hollow knight
let cacheable_files = ["YandereSim.data", "cuphead/Build/Build.data.unityweb.", "renpy.data", "game.zip", "buckshot-roulette.pck", "halva_en-", "game.unx", "bog.data"];
// let localStorageData = {
// cdns: [],
// disableCDN: true,
// };
// // yandere sim big files, cuphead, ddlc assets, renpy, renpy, buckshot roulette, half life, undertale & deltarune, hollow knight
// let cacheable_files = ["YandereSim.data", "cuphead/Build/Build.data.unityweb.", "/ddlc/game/", "/co09/game/", "/co09flipside/game/", "/co09reup/game/", "renpy.data", "game.zip", "buckshot-roulette.pck", "halva_en-", "game.unx", "bog.data", "FTFHAPort.data.unityweb"];
self.addEventListener("message", e => {
if(e.data && e.data.type == "localStorage") {
localStorageData = e.data;
console.log(localStorageData);
}
});
// self.addEventListener("message", e => {
// if(e.data && e.data.type == "localStorage") {
// localStorageData = e.data;
// }
// });
if(workbox) {
self.skipWaiting();
workbox.core.clientsClaim();
// if(workbox) {
// self.skipWaiting();
// workbox.core.clientsClaim();
workbox.routing.registerRoute(
({url}) => {
console.log(localStorageData)
if(localStorageData.disableCDN) return false;
if(localStorageData.cdns.length == 0) return false;
if(url.origin != location.origin) return false;
if(!url.pathname.includes("/resources/")) return false;
for (const file of cacheable_files) {
if(url.pathname.includes(file)) return true;
}
return false;
},
async ({url}) => {
let cdn = localStorageData.cdns[0];
console.warn(url.href);
return Response.redirect(cdn + url.pathname, 302);
}
);
// workbox.routing.registerRoute(
// ({url}) => {
// if(localStorageData.disableCDN) return false;
// if(localStorageData.cdns.length == 0) return false;
// if(url.origin != location.origin) return false;
// if(!url.pathname.includes("/resources/")) return false;
// for (const file of cacheable_files) {
// if(url.pathname.includes(file)) return true;
// }
// return false;
// },
// async ({url}) => {
// let cdn = localStorageData.cdns[0];
// console.warn(url.href);
// return Response.redirect(cdn + url.pathname, 302);
// }
// );
workbox.routing.registerRoute(
/\.(?:png|gif|jpg|jpeg|svg|webp|avif|gif)$/,
new workbox.strategies.CacheFirst({
cacheName: 'images-cache',
plugins: [
new workbox.expiration.ExpirationPlugin({
maxEntries: 1200,
maxAgeSeconds: 365 * 24 * 60 * 60,
}),
],
})
);
workbox.routing.registerRoute(
/.*resources\/(semag|sppa).*/,
new workbox.strategies.CacheFirst({
cacheName: 'resources-cache',
plugins: [
new workbox.expiration.ExpirationPlugin({
maxEntries: 500,
maxAgeSeconds: 365 * 24 * 60 * 60,
}),
],
})
);
// workbox.routing.registerRoute(
// /\.(?:png|gif|jpg|jpeg|svg|webp|avif|gif)$/,
// new workbox.strategies.CacheFirst({
// cacheName: 'images-cache',
// plugins: [
// new workbox.expiration.ExpirationPlugin({
// maxEntries: 1200,
// maxAgeSeconds: 365 * 24 * 60 * 60,
// }),
// ],
// })
// );
// workbox.routing.registerRoute(
// /.*resources\/(semag|sppa).*/,
// new workbox.strategies.CacheFirst({
// cacheName: 'resources-cache',
// plugins: [
// new workbox.expiration.ExpirationPlugin({
// maxEntries: 500,
// maxAgeSeconds: 365 * 24 * 60 * 60,
// }),
// ],
// })
// );
workbox.routing.registerRoute(
/.*resources\/(games|apps)\.json$/,
new workbox.strategies.StaleWhileRevalidate({
cacheName: 'json-cache',
plugins: [
new workbox.expiration.ExpirationPlugin({
maxAgeSeconds: 3 * 60 * 60,
maxEntries: 2,
}),
],
})
);
};
// workbox.routing.registerRoute(
// /.*resources\/(games|apps)\.json$/,
// new workbox.strategies.StaleWhileRevalidate({
// cacheName: 'json-cache',
// plugins: [
// new workbox.expiration.ExpirationPlugin({
// maxAgeSeconds: 3 * 60 * 60,
// maxEntries: 2,
// }),
// ],
// })
// );
// };