aboutsummaryrefslogtreecommitdiff
path: root/cmd/anubis
AgeCommit message (Collapse)AuthorFilesLines
2025-04-26feat(anubis): replace with tombstoneXe Iaso32-2115/+3
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-03-19cmd/anubis: mark as a tombstone (#705)Xe Iaso1-6/+5
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-03-17cmd/anubis: rephrase noscript warningXe Iaso2-2/+2
Closes #701 Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-03-17cmd/anubis: allow qwantbot scraping (#700)Dennis ten Hoove1-1/+6
Like Google and Bing, Qwant maintains its own search index.
2025-03-17cmd/anubis: add rule hashes for admin-configured denials (#696)Xe Iaso5-7/+57
* cmd/anubis: add rule hashes for admin-configured denials Closes #695 Signed-off-by: Xe Iaso <me@xeiaso.net> * cmd/anubis: remove theoretical nil pointer deference panic This won't actually happen in real life, but the code paths might change so we should be somewhat defensive. Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Signed-off-by: Xe Iaso <me@xeiaso.net> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-03-15cmd/anubis/internal/config: properly use errors.JoinXe Iaso1-6/+6
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-03-03cmd/anubis: implement health check (#685)Xe Iaso1-0/+22
Closes #681 Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-03-01cmd/anubis: Fix potential decaymap race (#683)Em Sharnoff1-1/+5
Fixes a potential TOCTOU issue that would cause values to be spuriously erased. IIUC, the following interleaving of (*DecayMap).Get() and (*DecayMap).Set() can cause an update to be erased: // thread A: Get("x") m.lock.RLock() value, ok := m.data["x"] m.lock.RUnlock() ... if time.Now().After(value.expiry) { // <wait for lock!> // thread B: Set("x", ...) m.lock.Lock() defer m.lock.Unlock() m.data["x"] = DecayMapEntry{ ... } // thread A continues its Get("x") after acquring the lock: m.lock.Lock() delete(m.data, "x") // Oops! Newer entry is deleted! m.lock.Unlock() Realistically... I think it's probably a non-issue either way, because the worst that can happen is that a cache entry is spuriously removed, and it'll just get re-fetched.
2025-02-14cmd/anubis: cache DNSBL hits in a DecayMapXe Iaso2-12/+84
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-02-14cmd/anubis: enable DNSBL checking via droneblXe Iaso7-3/+226
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-02-14Earthfile: bump to go 1.24Xe Iaso1-0/+5
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-26cmd/anubis: forbid bypassing auth by faking the challenge difficultyXe Iaso7-22/+6
This fixes a trivial auth bypass where a user requests a challenge, formulates any nonce they want (such as 42069), and then passes the challenge with difficulty zero. This was fixed by not using the difficulity the client specified and instead using the fixed difficulty at the server level. The difficulty has also been encoded into the challenge in 7bd7b209f4f1. Thanks to Coral Pink for finding this and reporting it over email. Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-26cmd/anubis: bake difficulty into challengeXe Iaso1-1/+2
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-26cmd/anubis: ship sourcemapsXe Iaso6-1/+9
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-26cmd/anubis: disable video test for nowXe Iaso5-11/+12
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-25cmd/anubis: prepare for more efficient servingXe Iaso4-1/+32
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-25cmd/anubis: minify JS, add video element testXe Iaso8-108/+145
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-24cmd/anubis: document POLICY_FNAMEXe Iaso1-7/+8
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-24cmd/anubis: add rudimentary bot policy supportXe Iaso7-50/+422
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-24cmd/anubis: don't include Accept-Encoding in challengeXe Iaso1-2/+1
Browsers are known to change the Accept-Encoding header based on what media type is being accepted. I kinda hate this too, but such is life. Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-19cmd/anubis: Document caddy+gitea/forgejo and UID changesXe Iaso1-0/+35
Ref #649 Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-19cmd/anubis: add loading spinnersv1.11.0Xe Iaso3-8/+102
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-19Earthfile: embed the version in CIXe Iaso1-1/+2
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-19cmd/anubis: expose internal API calls on the metrics serverXe Iaso1-3/+2
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-19cmd/anubis: submit cachebusters for resourcesXe Iaso2-17/+71
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-19cmd/anubis: add info about key fingerprint being the input to the challengeXe Iaso1-0/+1
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-19cmd/build: fix other merge conflicts that I accidentally incurred by coding ↵Xe Iaso2-6/+2
while waking up Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-19cmd/anubis: oops, i hate git mergesXe Iaso1-3/+0
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-19cmd/anubis: inject fingerprint of the private key of the Anubis serverXe Iaso1-5/+16
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-19cmd/anubis: fix expiry checking logicXe Iaso1-13/+30
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-19cmd/anubis: idk what's wrong but something isXe Iaso1-7/+7
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-19cmd/anubis: clear the cookie more robustlyXe Iaso1-0/+7
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-19cmd/anubis: fix logic?Xe Iaso1-1/+2
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-19cmd/anubis: immortally cache the anubis assetsXe Iaso1-1/+1
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-18cmd/anubis: embed diagrams in READMEXe Iaso2-5/+83
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-18cmd/anubis: add time to the hashXe Iaso3-3/+5
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-18cmd/anubis: compare the leading zeroesXe Iaso2-1/+23
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-18cmd/anubis: serveral improvementsXe Iaso3-12/+15
* Make sha256 function less bad (thanks @allypost!) * Link to git.xeserv.us in README * actually start metrics server in the background
2025-01-18cmd/anubis: improve metricsXe Iaso5-2/+60
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-01-18cmd: add AnubisXe Iaso11-0/+927
Signed-off-by: Xe Iaso <me@xeiaso.net>