PageSourceSearch

https://walftech.com/walftech-shield-lite.js?v=2.5

js walftech.com collected 2026-10-02 01:48:17 UTC 20,987 bytes, 1 lines download raw bytes

1!function(){"use strict";const t=()=>"w"+Math.random().toString(36).substring(2,10),n={overlay:t(),card:t(),active:t()+"_a",bar:t()+"_bar",style:t()+"_s"},o='<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="vertical-align:text-bottom;"><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"/></svg>',a='<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="vertical-align:text-bottom;"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg>',e='<svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="vertical-align:text-bottom;margin-right:6px;"><polyline points="23 4 23 10 17 10"/><path d="M20.49 15a9 9 0 1 1-2.12-9.36L23 10"/></svg>',r=(navigator.language||navigator.userLanguage||"en").substring(0,2),i={es:{title:"Descarga bloqueada",video:"▶ Tutorial rápido en video (20s)",badge:"Bloqueador detectado",msg:"Puedes seguir navegando por la web con total normalidad, pero <strong>las descargas necesitan que desactives tu bloqueador de anuncios</strong>. La publicidad es lo único que mantiene este sitio gratis.",how:"Cómo desactivarlo (30 segundos):",tut_1:"1. <strong>¿Usas una extensión</strong> como uBlock Origin, AdGuard o AdBlock? Haz clic en su ícono arriba a la derecha y elige <strong>“Desactivar en este sitio”</strong> o <strong>“Pausar”</strong>.",tut_2:"2. <strong>¿Usas Brave?</strong> Haz clic en el ícono del <strong>león 🦁</strong> a la derecha de la dirección y <strong>baja los Shields</strong> para este sitio.",tut_3:`3. <strong>En Chrome</strong>: haz clic en el ícono ${o}${a} a la izquierda de la dirección → <strong>“Configuración del sitio”</strong> → pon <strong>“Anuncios”</strong> en <strong>Permitir</strong>.`,tut_4:"4. Recarga con el botón de abajo y vuelve a descargar.",help:'¿No sabes cómo hacerlo? <a href="https://walftech.com/tutorial.php" target="_blank" rel="noopener">Mira el tutorial paso a paso</a>.',btn:`${e} Ya lo desactivé — Recargar`,close:"Seguir navegando",barMsg:"Bloqueador detectado — las descargas están deshabilitadas.",barBtn:"Solucionar",p_badge:"Ventanas emergentes bloqueadas",p_title:"Descarga bloqueada",p_msg:"Tu navegador está <strong>bloqueando las ventanas emergentes</strong> de este sitio. La publicidad es lo que mantiene la web gratis, así que <strong>necesitas permitirlas para poder descargar</strong>.",p_how:"Cómo permitirlas (20 segundos):",p_1:`1. Haz clic en el ícono ${a} (o el candado) a la <strong>izquierda de la dirección web</strong>.`,p_2:"2. Activa <strong>“Ventanas emergentes y redirecciones”</strong>.",p_3:"3. Activa también <strong>“Anuncios invasivos”</strong> si aparece desactivado.",p_4:"4. Recarga con el botón de abajo y vuelve a descargar.",p_bar:"Ventanas emergentes bloqueadas — las descargas están deshabilitadas."},en:{title:"Download blocked",video:"▶ Quick video tutorial (20s)",badge:"Ad blocker detected",msg:"You can keep browsing the site normally, but <strong>downloads require you to disable your ad blocker</strong>. Advertising is the only thing keeping this site free.",how:"How to disable it (30 seconds):",tut_1:"1. <strong>Using an extension</strong> like uBlock Origin, AdGuard or AdBlock? Click its icon at the top-right and choose <strong>“Disable on this site”</strong> or <strong>“Pause”</strong>.",tut_2:"2. <strong>Using Brave?</strong> Click the <strong>lion 🦁</strong> icon on the right of the address bar and <strong>lower the Shields</strong> for this site.",tut_3:`3. <strong>In Chrome</strong>: click the ${o}${a} icon on the left of the address bar → <strong>“Site settings”</strong> → set <strong>“Ads”</strong> to <strong>Allow</strong>.`,tut_4:"4. Reload with the button below and try the download again.",help:'Not sure how? <a href="https://walftech.com/tutorial.php" target="_blank" rel="noopener">
1See the step-by-step tutorial</a>.',btn:`${e} I disabled it — Reload`,close:"Keep browsing",barMsg:"Ad blocker detected — downloads are disabled.",barBtn:"Fix it",p_badge:"Popups blocked",p_title:"Download blocked",p_msg:"Your browser is <strong>blocking pop-ups</strong> from this site. Ads are what keep this site free, so <strong>you need to allow them to download</strong>.",p_how:"How to allow them (20 seconds):",p_1:`1. Click the ${a} (padlock) icon on the <strong>left of the address bar</strong>.`,p_2:"2. Turn on <strong>“Pop-ups and redirects”</strong>.",p_3:"3. Also turn on <strong>“Intrusive ads”</strong> if it appears disabled.",p_4:"4. Reload with the button below and try the download again.",p_bar:"Pop-ups blocked — downloads are disabled."}},s=i[["es","en"].includes(r)?r:"en"]||i.en,l=`\n        @keyframes _wsl_fadein { from{opacity:0;transform:translateY(20px) scale(.97);} to{opacity:1;transform:none;} }\n        @keyframes _wsl_barin  { from{opacity:0;transform:translateY(100%);} to{opacity:1;transform:none;} }\n        @keyframes _wsl_pulse  { 0%,100%{opacity:1;} 50%{opacity:.45;} }\n\n        /* ---- Modal (solo al intentar descargar) ---- */\n        .${n.overlay} {\n            position:fixed !important; inset:0 !important; z-index:2147483646 !important;\n            display:none !important; align-items:center !important; justify-content:center !important;\n            background:rgba(5,5,10,.85) !important;\n            backdrop-filter:blur(14px) !important; -webkit-backdrop-filter:blur(14px) !important;\n            font-family:'Inter','Outfit',system-ui,-apple-system,sans-serif !important;\n            margin:0 !important; padding:0 !important;\n        }\n        .${n.overlay}.${n.active} { display:flex !important; }\n\n        .${n.card} {\n            position:relative !important; background:rgba(12,14,22,.97) !important;\n            border:1px solid rgba(239,68,68,.25) !important; border-radius:24px !important;\n            padding:32px 30px 26px !important; width:100% !important; max-width:490px !important;\n            margin:0 16px !important; text-align:center !important;\n            box-shadow:0 30px 75px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.04) !important;\n            animation:_wsl_fadein .45s cubic-bezier(.22,1,.36,1) both !important;\n            max-height:90vh !important; overflow-y:auto !important; scrollbar-width:none !important;\n        }\n        .${n.card}::-webkit-scrollbar { display:none !important; }\n\n        .${n.card} ._wslbadge {\n            display:inline-flex !important; align-items:center !important; gap:6px !important;\n            background:rgba(239,68,68,.1) !important; border:1px solid rgba(239,68,68,.25) !important;\n            border-radius:100px !important; padding:4px 12px !important; font-size:.7rem !important;\n            font-weight:700 !important; color:#f87171 !important; letter-spacing:.08em !important;\n            text-transform:uppercase !important; margin-bottom:16px !important;\n        }\n        .${n.card} ._wslbadge::before {\n            content:'' !important; width:6px !important; height:6px !important; border-radius:50% !important;\n            background:#ef4444 !important; animation:_wsl_pulse 1.4s ease-in-out infinite !important;\n        }\n        .${n.card} ._wslico {\n            width:72px !important; height:72px !important; margin:0 auto 18px !important;\n            border-radius:20px !important; display:flex !important; align-items:center !important; justify-content:center !important;\n            color:#ef4444 !important; background:radial-gradient(circle,rgba(239,68,68,.12),rgba(239,68,68,.04)) !important;\n            border:1px solid rgba(239,68,68,.2) !important;\n        }\n        .${n.card} ._wsltit {\n            font-size:1.45rem !important; font-weight:900 !important; letter-spacing:-.02em !important;\n            margin:0 0 12px !important; color:#fff !important; line-height:1.2 !important;\n        }\n        .${n.card} ._wslmsg {\n            color:rgba(203,213,225,.78) !important; font-size:.92rem !important;\n            line-height:1.65 !important; margin:0 0 20px !important;\n        }\n        .${n.card} ._wslmsg strong { color:#e2e8f0 !important; font-weight:600 !important; }\n\n        .${n.card} ._wsltut {\n            background:rgba(255,255,255,.025) !important; border:1px solid rgba(255,255,255,.07) !important;\n            border-radius:16px !important; padding:16px 16px 13px !important; text-align:left !important; margin-bottom:12px !important;\n        }\n        .${n.card} ._wslhow {\n            display:flex !important; align-items:center !important; gap:7px !important; font-size:.78rem !important;\n            font-weight:700 !important; text-transform:uppercase !important; letter-spacing:.07em !important;\n            color:#94a3b8 !important; margin-bottom:11px !important; padding-bottom:9px !important;\n            border-bottom:1px solid rgba(255,255,255,.06) !important;\n        }\n        .${n.card} ._wsltut p {\n            color:rgba(148,163,184,.85) !important; font-size:.845rem !important;\n            margin:0 0 9px !important; line-height:1.55 !important;\n        }\n        .${n.card} ._wsltut p:last-child { margin-bottom:0 !important; }\n        .${n.card} ._wsltut strong, .${n.card} ._wsltut b { color:#e2e8f0 !important; font-weight:600 !important; }\n\n        .${n.card} ._wslhelp { margin-top:12px !important; font-size:.84rem !important; color:rgba(148,163,184,.9) !important; }\n        .${n.card} ._wslhelp a { color:#fca5a5 !important; text-decoration:underline !important; font-weight:700 !important; }\n\n        .${n.card} ._wslbtn {\n            width:100% !important; padding:14px 20px !important; margin-top:16px !important;\n            background:linear-gradient(135deg,#dc2626,#b91c1c) !important; border:none !important;\n            border-radius:13px !important; color:#fff !important; font-weight:700 !important; font-size:.95rem !important;\n            cursor:pointer !important; display:flex !important; align-items:center !important; justify-content:center !important;\n            box-shadow:0 4px 20px rgba(220,38,38,.33) !important;\n            transition:transform .15s ease, filter .15s ease !important;\n        }\n        .${n.card} ._wslbtn:hover { transform:translateY(-1px) !important; filter:brightness(1.1) !important; }\n        .${n.card} ._wslclose {\n            width:100% !important; margin-top:9px !important; padding:11px !important;\n            background:transparent !important; border:1px solid rgba(255,255,255,.12) !important;\n            border-radius:13px !important; color:#94a3b8 !important; font-size:.86rem !important;\n            cursor:pointer !important; transition:.2s !important;\n        }\n        .${n.card} ._wslclose:hover { color:#e2e8f0 !important; border-color:rgba(255,255,255,.25) !important; }\n        .${n.card} ._wslfooter { margin-top:14px !important; font-size:.7rem !important; color:rgba(100,116,139,.6) !important; }\n\n        /* ---- Barra inferior discreta ---- */\n        .${n.bar} {\n            position:fixed !important; left:0 !important; right:0 !important; bottom:0 !important;\n            z-index:2147483645 !important; display:none !important; align-items:center !important;\n            justify-content:center !important; gap:14px !important; flex-wrap:wrap !important;\n            padding:11px 16px !important; background:rgba(22,10,12,.97) !important;\n            border-top:1px solid rgba(239,68,68,.3) !important;\n            backdrop-filter:blur(12px) !important; -webkit-backdrop-filter:blur(12px) !important;\n            font-family:'Inter',system-ui,sans-serif !important; font-size:.85rem !important;\n            color:#fca5a5 !important; animation:_wsl_barin .45s ease both !important;\n        }\n        .${n.bar}.${n.active} { display:flex !important; }\n        .${n.bar} ._wslbarbtn {\n            background:#dc2626 !important; color:#fff !important; border:none !important;\n            padding:6px 15px !important; border-radius:8px !important; font-size:.8rem !important;\n            font-weight:700 !important; cursor:pointer !important;\n        }\n        .${n.bar} ._wslbarbtn:hover { filter:brightness(1.1) !important; }\n        .${n.bar} ._wslbarx {\n            background:transparent !important; border:none !important; color:rgba(252,165,165,.6) !important;\n            font-size:1.2rem !important; cursor:pointer !important; line-height:1 !important; padding:0 4px !important;\n        }\n        .${n.bar} ._wslbarx:hover { color:#fca5a5 !important; }\n        .${n.card} ._wslvidwrap { margin:0 0 16px !important; }\n        .${n.card} ._wslvidcap { display:flex !important; align-items:center !important; justify-content:center !important; gap:6px !important; font-size:.8rem !important; font-weight:700 !important; color:#94a3b8 !important; margin-bottom:10px !important; letter-spacing:.03em !important; }\n        .${n.card} ._wslvid { width:100% !important; border-radius:14px !important; display:block !important; border:1px solid rgba(255,255,255,.12) !important; box-shadow:0 10px 30px rgba(0,0,0,.5) !important; background:#000 !important; aspect-ratio:16/9 !important; }\n    `;function p(){if(document.getElementById(n.style))return;const t=document.createElement("style");t.id=n.style,t.type="text/css",t.appendChild(document.createTextNode(l)),(document.head||document.documentElement).appendChild(t)}let d=!1,c=null,m=null,g=!1,u=null;function b(t){if(p(),c&&c.dataset.mode!==(t||"adblock")){try{c.remove()}catch(t){}c=null}c&&document.body.contains(c)||(c=function(t){const o="popups"===t,a=o?s.p_badge:s.badge,e=o?s.p_title:s.title,r=o?s.p_msg:s.msg,i=o?s.p_how:s.how,l=o?[s.p_1,s.p_2,s.p_3,s.p_4]:[s.tut_1,s.tut_2,s.tut_3,s.tut_4],p=document.createElement("div");return p.className=n.overlay,p.setAttribute("role","dialog"),p.setAttribute("aria-modal","true"),p.innerHTML=`\n            <div class="${n.card}">\n                <div class="_wslbadge">${a}</div>\n                <div class="_wslico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" style="width:38px;height:38px;"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/><line x1="12" y1="9" x2="12" y2="13"/>
1<line x1="12" y1="17" x2="12.01" y2="17"/></svg></div>\n                <h3 class="_wsltit"><svg viewBox="0 0 24 24" width="15" height="15" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="vertical-align:text-bottom;margin-right:6px;"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" y1="15" x2="12" y2="3"/></svg>${e}</h3>\n                <p class="_wslmsg">${r}</p>\n                <div class="_wslvidwrap">\n                    <div class="_wslvidcap">${s.video||""}</div>\n                    <video class="_wslvid" controls preload="none" playsinline>\n                        <source src="https://walftech.com/adblockvideo.mp4" type="video/mp4">\n                    </video>\n                </div>\n                <div class="_wsltut">\n                    <span class="_wslhow"><svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="vertical-align:text-bottom;margin-right:5px;"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg> ${i}</span>\n                    ${l.map(t=>`<p>${t}</p>`).join("")}\n                </div>\n                <p class="_wslhelp">${s.help}</p>\n                <button class="_wslbtn" data-act="reload">${s.btn}</button>\n                <button class="_wslclose" data-act="close">${s.close}</button>\n                <p class="_wslfooter">walftech.com &bull; shield lite v2.1</p>\n            </div>\n        `,p.addEventListener("click",t=>{const n=t.target.closest("[data-act]");n&&"reload"===n.dataset.act?location.reload():(n&&"close"===n.dataset.act||t.target===p)&&h()}),p}(t),c.dataset.mode=t||"adblock",document.body.appendChild(c)),c.classList.add(n.active),document.documentElement.style.overflow="hidden",document.body.style.overflow="hidden"}function h(){c&&c.classList.remove(n.active),document.documentElement.style.overflow="",document.body.style.overflow=""}function w(){g||(p(),m&&document.body.contains(m)||(m=function(){const t=document.createElement("div");return t.className=n.bar,t.innerHTML=`\n            <span>${s.barMsg}</span>\n            <button class="_wslbarbtn" data-act="open">${s.barBtn}</button>\n            <button class="_wslbarx" data-act="x" aria-label="cerrar">&times;</button>\n        `,t.addEventListener("click",o=>{const a=o.target.closest("[data-act]");a&&("open"===a.dataset.act&&b(),"x"===a.dataset.act&&(g=!0,t.classList.remove(n.active)))}),t}(),document.body.appendChild(m)),m.classList.add(n.active))}function f(t,o){const a=t!==d;if(d=t,window.walftechLiteBlocked=t,t?w():0,a){try{console.warn("[Walftech Shield Lite] blocked =",t,o||"")}catch(t){}try{window.dispatchEvent(new CustomEvent("walftechLiteAdblock",{detail:{blocked:t,reason:o||""}}))}catch(t){}}}async function x(){const n=await async function(){try{if(navigator.brave&&"function"==typeof navigator.brave.isBrave)return!0===await navigator.brave.isBrave()}catch(t){}return!1}(),o=await new Promise(n=>{const o=(t,n)=>{const o=document.createElement("div");return o.className=t,n&&(o.id=n),o.setAttribute("aria-hidden","true"),o.innerHTML="&nbsp;",o.style.cssText="position:absolute !important;left:-9999px !important;top:-9999px !important;width:300px !important;height:250px !important;display:block !important;visibility:visible !important;opacity:1 !important;pointer-events:none !important;",document.body.appendChild(o),o},a=o("adsbox ad-banner ads adsbygoogle ad-placement banner-ads pub_300x250 sponsored-ads","ad-banner"),e=o("wtc_"+t(),null);setTimeout(()=>{const t=t=>{try{const n=window.getComputedStyle(t);return null===t.offsetParent||0===t.offsetHeight||0===t.offsetWidth||"none"===n.display||"hidden"===n.visibility||"0"===n.opacity}catch(t){return!1}},o=t(a),r=t(e);a.remove(),e.remove(),n(o&&!r)},200)}),a=await new Promise(t=>{let n=!1;const o=document.createElement("script");o.src="https://al5sm.com/tag.min.js?_="+Date.now();const a=a=>{if(!n){n=!0;try{o.remove()}catch(t){}t(a)}};o.onload=()=>a(!1),o.onerror=()=>a(!0),(document.head||document.documentElement).appendChild(o),setTimeout(()=>a(!1),5e3)}),e=!!n&&await new Promise(t=>{let n=!1;const o=document.createElement("script");o.src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?_="+Date.now();const a=a=>{if(!n){n=!0;try{o.remove()}catch(t){}t(a)}};o.onload=()=>a(!1),o.onerror=()=>a(!0),(document.head||document.documentElement).appendChild(o),setTimeout(()=>a(!1),4e3)}),r=[];return o&&r.push("COSMETIC_BAIT"),a&&r.push("AD_NETWORK_BLOCKED"),e&&r.push("BRAVE_SHIELDS"),{positive:r.length>0,reasons:r}}async function v(){if(null!==u)return d;if(!(await x()).positive)return d&&f(!1,"LIMPIO"),!1;await new Promise(t=>setTimeout(t,700));const t=await x();return t.positive?(f(!0,t.reasons.join(", ")),!0):(d&&f(!1,"LIMPIO"),!1)}window.walftechLiteBlocked=!1,window.WalftechShieldLite={isBlocked:function(){return d},allowDownload:function(){return!d||(b("adblock"),!1)},openAdOrBlock:function(t){let n=null;try{n=window.open(t,"_blank")}catch(t){n=null}if(!n||n.closed||void 0===n.closed){if(g=!1,m){try{m.remove()}catch(t){}m=null}const t=s.barMsg;return s.barMsg=s.p_bar,f(!0,"POPUP_BLOCKED"),s.barMsg=t,b("popups"),!1}try{n.focus()}catch(t){}return!0},recheck:v,simulateBlocked:function(t){return null==t?(u=null,v(),null):(u=!!t,g=!1,f(!!t,"SIMULADO"),d)},showModal:b,hideModal:h},function(){p();const t=()=>
1{v(),window.addEventListener("load",()=>setTimeout(v,1e3),{once:!0}),setInterval(v,1e4)};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",t,{once:!0}):t()}()}();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.