diff --git a/patches/0001-xess-change-default-background-color.patch b/patches/0001-xess-change-default-background-color.patch index 1f5784e..1dbd8ed 100644 --- a/patches/0001-xess-change-default-background-color.patch +++ b/patches/0001-xess-change-default-background-color.patch @@ -1,35 +1,218 @@ -From 41e56a7922608b27ec50c35591223ea71afedad8 Mon Sep 17 00:00:00 2001 +From a945efa8b08faf19ac548ff11daf07a5aad70fbb Mon Sep 17 00:00:00 2001 From: Fijxu Date: Sun, 30 Mar 2025 01:06:20 -0300 -Subject: [PATCH] xess: change default background color +Subject: [PATCH 1/2] xess: change default background color --- - web/index_templ.go | 4 ++-- - xess/xess.css | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) + web/index_templ.go | 123 +++++++++++++-------------------------------- + xess/xess.css | 4 +- + 2 files changed, 36 insertions(+), 91 deletions(-) diff --git a/web/index_templ.go b/web/index_templ.go -index 2e3ac49..eb99b3a 100644 +index a3e10fe..e4cece2 100644 --- a/web/index_templ.go +++ b/web/index_templ.go -@@ -251,7 +251,7 @@ func bench() templ.Component { - templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs("/.within.website/x/cmd/anubis/static/img/pensive.webp?cacheBuster=" + - anubis.Version) - if templ_7745c5c3_Err != nil { -- return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 247, Col: 19} -+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 148, Col: 19} +@@ -154,49 +154,21 @@ func index() templ.Component { + templ_7745c5c3_Var7 = templ.NopComponent } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13)) + ctx = templ.ClearChildren(ctx) +- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, "

Loading...

Why am I seeing this?

You are seeing this because the administrator of this website has set up Anubis to protect the server against the scourge of AI companies aggressively scraping websites. This can and does cause downtime for the websites, which makes their resources inaccessible for everyone.

Anubis is a compromise. Anubis uses a Proof-of-Work scheme in the vein of Hashcash, a proposed proof-of-work scheme for reducing email spam. The idea is that at individual scales the additional load is ignorable, but at mass scraper levels it adds up and makes scraping much more expensive.

Ultimately, this is a hack whose real purpose is to give a \"good enough\" placeholder solution so that more time can be spent on fingerprinting and identifying headless browsers (EG: via how they do font rendering) so that the challenge proof of work page doesn't need to be presented to users that are much more likely to be legitimate.

Please note that Anubis requires the use of modern JavaScript features that plugins like JShelter will disable. Please disable JShelter or other such plugins for this domain.

") ++ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 12, "\">
Why am I seeing this?

You are seeing this because the administrator of this website has set up Anubis to protect the server against the scourge of AI companies aggressively scraping websites. This can and does cause downtime for the websites, which makes their resources inaccessible for everyone.

Anubis is a compromise. Anubis uses a Proof-of-Work scheme in the vein of Hashcash, a proposed proof-of-work scheme for reducing email spam. The idea is that at individual scales the additional load is ignorable, but at mass scraper levels it adds up and makes scraping much more expensive.

Ultimately, this is a hack whose real purpose is to give a \"good enough\" placeholder solution so that more time can be spent on fingerprinting and identifying headless browsers (EG: via how they do font rendering) so that the challenge proof of work page doesn't need to be presented to users that are much more likely to be legitimate.

Please note that Anubis requires the use of modern JavaScript features that plugins like JShelter will disable. Please disable JShelter or other such plugins for this domain.

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } +@@ -220,75 +192,62 @@ func errorPage(message string, mail string) templ.Component { + }() + } + ctx = templ.InitializeContext(ctx) +- templ_7745c5c3_Var11 := templ.GetChildren(ctx) +- if templ_7745c5c3_Var11 == nil { +- templ_7745c5c3_Var11 = templ.NopComponent ++ templ_7745c5c3_Var9 := templ.GetChildren(ctx) ++ if templ_7745c5c3_Var9 == nil { ++ templ_7745c5c3_Var9 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) +- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "
\"Sad

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } +- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "\">

") +- if templ_7745c5c3_Err != nil { +- return templ_7745c5c3_Err +- } +- var templ_7745c5c3_Var13 string +- templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(message) ++ var templ_7745c5c3_Var10 string ++ templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(message) + if templ_7745c5c3_Err != nil { +- return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 140, Col: 16} ++ return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 122, Col: 16} + } +- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13)) ++ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } +- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, ".

") ++ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, ".

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + if mail != "" { +- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "

Go home or if you believe you should not be blocked, please contact the webmaster at Go home or if you believe you should not be blocked, please contact the webmaster at ") ++ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "\">") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } +- var templ_7745c5c3_Var15 string +- templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs(mail) ++ var templ_7745c5c3_Var12 string ++ templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(mail) + if templ_7745c5c3_Err != nil { +- return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 144, Col: 9} ++ return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 126, Col: 9} + } +- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15)) ++ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } +- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "

") ++ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } else { +- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "

Go home

") ++ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "

Go home

") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } +- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, "
") ++ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } +@@ -312,40 +271,26 @@ func bench() templ.Component { + }() + } + ctx = templ.InitializeContext(ctx) +- templ_7745c5c3_Var16 := templ.GetChildren(ctx) +- if templ_7745c5c3_Var16 == nil { +- templ_7745c5c3_Var16 = templ.NopComponent ++ templ_7745c5c3_Var13 := templ.GetChildren(ctx) ++ if templ_7745c5c3_Var13 == nil { ++ templ_7745c5c3_Var13 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) +- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "
TimeIters
Time AIters ATime BIters B

Loading...

") ++ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "\">
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } diff --git a/xess/xess.css b/xess/xess.css index 86cbd42..94c7deb 100644 --- a/xess/xess.css diff --git a/patches/0002-remove-images-from-captcha.patch b/patches/0002-remove-images-from-captcha.patch new file mode 100644 index 0000000..7f41674 --- /dev/null +++ b/patches/0002-remove-images-from-captcha.patch @@ -0,0 +1,203 @@ +From b10b01f6ff70ab6d40d8cf90da8057212441d678 Mon Sep 17 00:00:00 2001 +From: Fijxu +Date: Tue, 8 Apr 2025 02:07:27 -0400 +Subject: [PATCH 2/2] remove images from captcha + +--- + web/index.templ | 25 ------------------------- + web/index_templ.go | 10 +++++----- + web/js/main.mjs | 13 +------------ + 3 files changed, 6 insertions(+), 42 deletions(-) + +diff --git a/web/index.templ b/web/index.templ +index 01d12b6..4e4d8c6 100644 +--- a/web/index.templ ++++ b/web/index.templ +@@ -71,7 +71,6 @@ templ base(title string, body templ.Component, ogTags map[string]string) { + href="https://techaro.lol" + >Techaro. Made with ❤️ in 🇨🇦. +

+-

Mascot design by CELPHASE.

+ + + +@@ -81,18 +80,6 @@ templ base(title string, body templ.Component, ogTags map[string]string) { + + templ index() { +
+- Loading...

+ +diff --git a/web/index_templ.go b/web/index_templ.go +index e4cece2..bfbec96 100644 +--- a/web/index_templ.go ++++ b/web/index_templ.go +@@ -125,7 +125,7 @@ func base(title string, body templ.Component, ogTags map[string]string) templ.Co + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } +- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "") ++ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } +@@ -162,7 +162,7 @@ func index() templ.Component { + templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs( + "/.within.website/x/cmd/anubis/static/js/main.mjs?cacheBuster=" + anubis.Version) + if templ_7745c5c3_Err != nil { +- return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 86, Col: 84} ++ return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 85, Col: 84} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8)) + if templ_7745c5c3_Err != nil { +@@ -204,7 +204,7 @@ func errorPage(message string, mail string) templ.Component { + var templ_7745c5c3_Var10 string + templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(message) + if templ_7745c5c3_Err != nil { +- return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 122, Col: 16} ++ return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 121, Col: 16} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10)) + if templ_7745c5c3_Err != nil { +@@ -231,7 +231,7 @@ func errorPage(message string, mail string) templ.Component { + var templ_7745c5c3_Var12 string + templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(mail) + if templ_7745c5c3_Err != nil { +- return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 126, Col: 9} ++ return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 125, Col: 9} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12)) + if templ_7745c5c3_Err != nil { +@@ -284,7 +284,7 @@ func bench() templ.Component { + templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs( + "/.within.website/x/cmd/anubis/static/js/bench.mjs?cacheBuster=" + anubis.Version) + if templ_7745c5c3_Err != nil { +- return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 155, Col: 89} ++ return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 154, Col: 89} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14)) + if templ_7745c5c3_Err != nil { +diff --git a/web/js/main.mjs b/web/js/main.mjs +index a093c74..94f6458 100644 +--- a/web/js/main.mjs ++++ b/web/js/main.mjs +@@ -14,9 +14,6 @@ const u = (url = "", params = {}) => { + return result.toString(); + }; + +-const imageURL = (mood, cacheBuster) => +- u(`/.within.website/x/cmd/anubis/static/img/${mood}.webp`, { cacheBuster }); +- + const dependencies = [ + { + name: "WebCrypto", +@@ -77,7 +74,6 @@ function showContinueBar(hash, nonce, t0, t1) { + + (async () => { + const status = document.getElementById('status'); +- const image = document.getElementById('image'); + const title = document.getElementById('title'); + const progress = document.getElementById('progress'); + const anubisVersion = JSON.parse(document.getElementById('anubis_version').textContent); +@@ -92,10 +88,9 @@ function showContinueBar(hash, nonce, t0, t1) { + }); + } + +- const ohNoes = ({ titleMsg, statusMsg, imageSrc }) => { ++ const ohNoes = ({ titleMsg, statusMsg }) => { + title.innerHTML = titleMsg; + status.innerHTML = statusMsg; +- image.src = imageSrc; + progress.style.display = "none"; + }; + +@@ -103,7 +98,6 @@ function showContinueBar(hash, nonce, t0, t1) { + ohNoes({ + titleMsg: "Your context is not secure!", + statusMsg: `Try connecting over HTTPS or let the admin know to set up HTTPS. For more information, see MDN.`, +- imageSrc: imageURL("reject", anubisVersion), + }); + return; + } +@@ -128,7 +122,6 @@ function showContinueBar(hash, nonce, t0, t1) { + ohNoes({ + titleMsg: `Missing feature ${name}`, + statusMsg: msg, +- imageSrc: imageURL("reject", anubisVersion), + }); + } + } +@@ -142,7 +135,6 @@ function showContinueBar(hash, nonce, t0, t1) { + ohNoes({ + titleMsg: "Internal error!", + statusMsg: `Failed to fetch challenge config: ${err.message}`, +- imageSrc: imageURL("reject", anubisVersion), + }); + throw err; + }); +@@ -152,7 +144,6 @@ function showContinueBar(hash, nonce, t0, t1) { + ohNoes({ + titleMsg: "Challenge error!", + statusMsg: `Failed to resolve check algorithm. You may want to reload the page.`, +- imageSrc: imageURL("reject", anubisVersion), + }); + return; + } +@@ -210,7 +201,6 @@ function showContinueBar(hash, nonce, t0, t1) { + + title.innerHTML = "Success!"; + status.innerHTML = `Done! Took ${t1 - t0}ms, ${nonce} iterations`; +- image.src = imageURL("happy", anubisVersion); + progress.style.display = "none"; + + if (userReadDetails) { +@@ -265,7 +255,6 @@ function showContinueBar(hash, nonce, t0, t1) { + ohNoes({ + titleMsg: "Calculation error!", + statusMsg: `Failed to calculate challenge: ${err.message}`, +- imageSrc: imageURL("reject", anubisVersion), + }); + } + })(); +\ No newline at end of file +-- +2.49.0 +