Tul xxx Tul
User / IP
:
216.73.216.217
Host / Server
:
45.84.207.204 / aircan.me
System
:
Linux lt-bnk-web1726.main-hosting.eu 5.14.0-611.36.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Mar 3 11:23:52 EST 2026 x86_64
Command
|
Upload
|
Create
Mass Deface
|
Jumping
|
Symlink
|
Reverse Shell
Ping
|
Port Scan
|
DNS Lookup
|
Whois
|
Header
|
cURL
:
/
home
/
u931257429
/
domains
/
aircan.me
/
public_html
/
hoteluribia
/
Viewing: service-worker.js
const CACHE_NAME = 'piscina-manantial-v5'; const ASSETS_TO_CACHE = [ './index.html', './site_publico/css/tailwind.css', './site_publico/js/app.js', './public/img/logo.png', './manifest.json' ]; // Instalación: cachear assets estáticos self.addEventListener('install', (event) => { console.log('[SW] Instalando Service Worker...'); event.waitUntil( caches.open(CACHE_NAME) .then((cache) => { console.log('[SW] Cacheando assets'); return cache.addAll(ASSETS_TO_CACHE); }) .then(() => self.skipWaiting()) ); }); // Activación: limpiar cachés antiguos self.addEventListener('activate', (event) => { console.log('[SW] Activando Service Worker...'); event.waitUntil( caches.keys().then((cacheNames) => { return Promise.all( cacheNames .filter((name) => name !== CACHE_NAME) .map((name) => { console.log('[SW] Eliminando cache antigua:', name); return caches.delete(name); }) ); }).then(() => self.clients.claim()) ); }); // Fetch: estrategia Network First con Cache Fallback self.addEventListener('fetch', (event) => { // Solo cachear peticiones GET if (event.request.method !== 'GET') return; // Ignorar peticiones externas y APIs dinámicas const url = new URL(event.request.url); if (!url.origin.includes(location.origin) && !url.pathname.includes('/piscina/')) { return; } event.respondWith( fetch(event.request) .then((response) => { // Si la respuesta es válida, guardarla en cache if (response && response.status === 200) { const responseClone = response.clone(); caches.open(CACHE_NAME).then((cache) => { cache.put(event.request, responseClone); }); } return response; }) .catch(() => { // Si falla la red, intentar servir desde cache return caches.match(event.request).then((cachedResponse) => { if (cachedResponse) { return cachedResponse; } // Si no hay cache, devolver página offline básica if (event.request.headers.get('accept').includes('text/html')) { return caches.match('./index.html'); } }); }) ); }); // Manejo de mensajes desde el cliente self.addEventListener('message', (event) => { if (event.data && event.data.type === 'SKIP_WAITING') { self.skipWaiting(); } });
Coded With 💗 by
0x6ick