diff --git a/auth.js b/auth.js index 4a7e6857..4a940637 100644 --- a/auth.js +++ b/auth.js @@ -17,5 +17,7 @@ const url = new URLSearchParams(search).get("url"); if (url != null && url.length > 0) location.replace(url); + else + location.replace("/"); } })(); diff --git a/d/index.json b/d/index.json index 0b401d44..b95f676e 100644 Binary files a/d/index.json and b/d/index.json differ diff --git a/embed.xht b/embed.html similarity index 100% rename from embed.xht rename to embed.html diff --git a/embed.js b/embed.js index fef1fbe3..68d9f759 100644 --- a/embed.js +++ b/embed.js @@ -1 +1 @@ -"use strict";(async({window:e,document:t})=>{"complete"!==t.readyState&&await new Promise((e=>{const o=()=>{"complete"===t.readyState&&(t.removeEventListener("readystatechange",o),setTimeout(e,500,null))};t.addEventListener("readystatechange",o,{passive:!0})}));const o=e.history,r=t.body,n=new DOMParser;if(null!=r&&"application/xhtml+xml"===t.contentType){r.textContent="Loading... (1)",await new Promise((e=>{setTimeout(e,1e3,null)})),r.textContent="Loading... (2)",e.stop(),e.focus(),o.scrollRestoration="manual",o.replaceState(void 0,"","/");try{const e=await fetch("/",{mode:"same-origin",cache:"no-cache",method:"GET",headers:{Accept:"text/html"}});if(!e.ok)throw new Error("Failed to fetch required resources");if("text/html"!==(e.headers.get("content-type")||"").split(";",2)[0].trim())throw new Error("Remote returned invalid response");const o=n.parseFromString(await e.text(),"application/xhtml+xml");o.title="NettleWeb",o.querySelector("script[src=\"main.js\"]").remove(),t.documentElement.replaceWith(o.documentElement);const r=o.createElement("script");r.type="text/javascript",r.src="main.js",t.body.appendChild(r)}catch(e){console.error(e),r.textContent="Error: Failed to load. Message: "+String(e)}}else console.error("Invalid document")})(self); +"use strict";(async({window:e,document:t})=>{"complete"!==t.readyState&&await new Promise((e=>{const o=()=>{"complete"===t.readyState&&(t.removeEventListener("readystatechange",o),setTimeout(e,500,null))};t.addEventListener("readystatechange",o,{passive:!0})}));const o=e.history,r=t.body,n=new DOMParser;if(null!=r&&"text/html"===t.contentType){r.textContent="Loading... (1)",await new Promise((e=>{setTimeout(e,1e3,null)})),r.textContent="Loading... (2)",e.stop(),e.focus(),o.scrollRestoration="manual",o.replaceState(void 0,"","/");try{const e=await fetch("/",{mode:"same-origin",cache:"no-cache",method:"GET",headers:{Accept:"text/html"}});if(!e.ok)throw new Error("Failed to fetch required resources");if("text/html"!==(e.headers.get("content-type")||"").split(";",2)[0].trim())throw new Error("Remote returned invalid response");const o=n.parseFromString(await e.text(),"application/xhtml+xml");o.title="NettleWeb",o.querySelector("script[src=\"main.js\"]").remove(),t.documentElement.replaceWith(o.documentElement);const r=o.createElement("script");r.type="text/javascript",r.src="main.js",t.body.appendChild(r)}catch(e){console.error(e),r.textContent="Error: Failed to load. Message: "+String(e)}}else console.error("Invalid document")})(self); diff --git a/index.css b/index.css index 65039eed..7fd35697 100644 --- a/index.css +++ b/index.css @@ -238,6 +238,13 @@ line-height: 40px; } +.adsbygoogle { + position: absolute; + display: block; + width: 100%; + height: 100%; +} + .text-body { position: relative; display: block; diff --git a/main.js b/main.js index ff40eacf..ab10fcf2 100644 --- a/main.js +++ b/main.js @@ -637,8 +637,8 @@ n}function a(e){try{return new URL(e)}catch(e){return null}}function c(t){const r.body.appendChild(t),r.title="Google"}async function l(t,n){try{const r=await e.fetch(t,{cache:n||"force-cache",method:"GET"});return r.ok?await r.text():null}catch(e){return null}}function d(e,t){return new Promise(((n,r)=>{const i=Date.now().toString(36),s=(e,t,a)=>{e===i&&(I.off("res",s), I.off("disconnect",o),null!=a?r(a):n(t))},o=()=>{I.off("res",s),I.off("disconnect",o),r("Error: Server connection interrupted.")};I.on("res",s),I.on("disconnect",o),I.emit("fetch",i,e,t)}))}var h,u;"complete"!==t.readyState&&await new Promise((e=>{const n=()=>{ "complete"===t.readyState&&(t.removeEventListener("readystatechange",n),setTimeout(e,100,null))};t.addEventListener("readystatechange",n,{passive:!0})})),e.focus(),id._(e),e.addEventListener("error",(e=>{e.preventDefault(),e.stopPropagation() -;const t="Unhandled error at "+(e.filename||"unknown source")+" "+(e.lineno||"X")+":"+(e.colno||"X")+"\n\n Message: "+e.error;console.error(t),g.textContent=t,g.style.display="block"})),e.addEventListener("unhandledrejection",(e=>{e.preventDefault(),e.stopPropagation(), -console.error("Unhandled rejection: ",e.reason)})),e.onkeydown=e=>{if(e.ctrlKey&&!e.altKey&&!e.metaKey&&!e.shiftKey)switch(e.key){case"h":case"q":e.preventDefault(),e.stopPropagation(),p.replace("https://www.google.com/webhp?igu=1");break;case"b":e.preventDefault(),e.stopPropagation(), +;const t="Unhandled error at "+(e.filename||"unknown source")+" "+(e.lineno||"X")+":"+(e.colno||"X")+"\n\n Message: "+e.error;console.error(t,e),g.textContent=t,g.style.display="block"}),{passive:!1}),e.addEventListener("unhandledrejection",(e=>{e.preventDefault(),e.stopPropagation(), +console.error("Unhandled rejection: ",e.reason)}),{passive:!1}),e.onkeydown=e=>{if(e.ctrlKey&&!e.altKey&&!e.metaKey&&!e.shiftKey)switch(e.key){case"h":case"q":e.preventDefault(),e.stopPropagation(),p.replace("https://www.google.com/webhp?igu=1");break;case"b":e.preventDefault(),e.stopPropagation(), E.hasAttribute("style")?E.removeAttribute("style"):E.setAttribute("style","filter: blur(15px);")}},e.onpopstate=e=>{e.preventDefault(),e.stopPropagation(),i("Notice: Please press ctrl+Q to leave this website.")},e.onappinstalled=e=>{e.preventDefault(),e.stopPropagation(),v.style.display="none"}, e.onbeforeinstallprompt=e=>{e.preventDefault(),e.stopPropagation(),v.style.display="block",v.onclick=()=>{e.prompt()}};const p=e.location,f=e.history,m=p.pathname,g=n("error"),b=n("frame"),y=n("frame-view"),w=n("status"),v=n("install"),k=t.head,E=t.body,x=r('link[rel="canonical"]'),C=id.$;{ const{_a:Z,_b:K,_d:G,_e:Y,_f:X,_g:J,_h:Q,_i:ee,_j:te,_k:ne,_l:re,_m:ie,_n:se,_o:oe,_v:ae,_w:ce,_p:le,_q:de,_r:he}=Yl;if((()=>{C(Z,K);const e=new URL(p.href),n=e.hostname,r=e.origin;switch(e.protocol){case"http:":if("localhost"!==n)return e.protocol="https:",e.pathname="/",e.host=n,p.replace(e.href), @@ -800,7 +800,7 @@ return await M(e),!1}catch(e){return i("Failed to open user profile. Message: "+ return 0},get scrollRestoration(){return"auto"},go:()=>{},back:()=>{},forward:()=>{},pushState:()=>{},replaceState:()=>{}},null)),writable:!1,enumerable:!0,configurable:!1}),n("loading").remove(),n("content").style.display="block"}{ const wr=await l("https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7505521340110301");if(null!=wr&&wr.length>0)try{Function("arguments","globalThis","window","frames","self","document",wr).call(e,void 0,e,e,e,e,t)}catch(_r){console.error("#Google Adense: ",_r) }else i("You are using an ad blocker. Please disable it to support this website's development.");const vr=window.adsbygoogle||(window.adsbygoogle=[]);for(const kr of t.querySelectorAll("ins.adsbygoogle")){kr.setAttribute("data-ad-client","ca-pub-7505521340110301"), -kr.setAttribute("data-ad-format","auto"),kr.setAttribute("data-full-width-responsive","true");try{vr.push(0)}catch(Er){}}}{const xr=t.createElement("script");xr.type="text/javascript",xr.src="https://cse.google.com/cse.js?cx=6505c81d738124627",xr.async=!0,xr.defer=!0,E.appendChild(xr)}{ +kr.setAttribute("data-ad-format","auto"),kr.setAttribute("data-full-width-responsive","true");try{vr.push(1)}catch(Er){}}}{const xr=t.createElement("script");xr.type="text/javascript",xr.src="https://cse.google.com/cse.js?cx=6505c81d738124627",xr.async=!0,xr.defer=!0,E.appendChild(xr)}{ const Cr=async()=>{$.innerHTML="My Account",n("ac-prof").style.display="block",n("chat-login").remove(),n("login-dialog").remove() ;const r=n("ac-name"),s=n("ac-email"),o=n("ac-un"),a=n("ac-edit"),c=n("ac-link"),l=n("ac-name-edit"),h=n("ac-email-edit"),u=n("ch-avatar"),p=u.firstElementChild,f=t.createElement("img");f.alt="Avatar",f.width=40,f.height=40,f.loading="eager",f.decoding="sync",f.draggable=!1,q.appendChild(f) ;const m=t.createElement("div");m.className="user",q.appendChild(m),q.style.display="block";const g=await d(2,L),b=g.id,y=g.uid;if("string"!=typeof b||b.length<4||"string"!=typeof y||y.length<2)i("Error: Server response parse error.");else{switch(r.textContent=g.name||"Not set", diff --git a/manifest.json b/manifest.json index fcf1fa77..b5081e6c 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "id": "nettleweb", "name": "NettleWeb", - "version": "5.3.0", + "version": "5.3.1", "short_name": "NettleWeb", "categories": ["games", "social"], "description": "Play 2000+ free online classic, HTML5, DOS, Flash, games at NettleWeb!", diff --git a/r/e7711440-69b8-4975-b490-1a3df5356c4d/index.html b/r/e7711440-69b8-4975-b490-1a3df5356c4d/index.html new file mode 100644 index 00000000..1cb69483 --- /dev/null +++ b/r/e7711440-69b8-4975-b490-1a3df5356c4d/index.html @@ -0,0 +1,56781 @@ + + + + + + + + + + + + + + + + + + + +
+ + + + +