#1102132 ITP: anubis -- Weigh the soul of incoming HTTP requests

Package:
wnpp
Source:
wnpp
Submitter:
Sebastian Andrzej Siewior
Date:
2025-11-29 16:57:14 UTC
Severity:
normal
#1102132#5
Date:
2025-04-05 13:22:18 UTC
From:
To:
* Package name    : anubis
  Version         : v1.15.2
  Upstream Contact: Xe Iaso <me@xeiaso.net>
* URL             : https://anubis.techaro.lol/
* License         : MIT License
  Programming Lang: GO, js.
  Description     : Weigh the soul of incoming HTTP requests using proof-of-work to stop AI crawlers

Upstream's description:
| Anubis weighs the soul of your connection using a sha256 proof-of-work
| challenge in order to protect upstream resources from scraper bots.
|
| Installing and using this will likely result in your website not being indexed
| by some search engines. This is considered a feature of Anubis, not a bug.
|
| This is a bit of a nuclear response, but AI scraper bots scraping so
| aggressively have forced my hand. I hate that I have to do this, but this is
| what we get for the modern Internet because bots don't conform to standards
| like robots.txt, even when they claim to.
|
| In most cases, you should not need this and can probably get by using
| Cloudflare to protect a given origin. However, for circumstances where you
| can't or won't use Cloudflare, Anubis is there for you.

This looks usefull in order to reduce load for instance on git like
frontends (gitlab, gitea, cgit,…) where the bots crawl every
autogenerated link for no reason.
This proof-of-work is handled by browser's javascript and by passing the
user (browser) gets a cookie and cann access further content by
presenting this cookie.

There is a demo -> https://anubis.techaro.lol/

Can this be picked up by go team? Is any help required?

Sebastian

#1102132#10
Date:
2025-04-05 13:33:25 UTC
From:
To:
owner 1102132 !
retitle 1102132 ITP: anubis -- Weigh the soul of incoming HTTP requests
using proof-of-work to stop AI crawlers
thanks

I've been planning to work on this, but not in time for the Trixie release.

It seems like Anubis will require a JavaScript build step. I have no
experience with how (Node)JS modules are packaged in Debian, so help
from someone who does would be appreciated.

Taavi

#1102132#19
Date:
2025-04-05 14:19:09 UTC
From:
To:
Le sam. 5 avr. 2025 à 15:56, Taavi Väänänen <taavi@debian.org> a écrit :

The js/css are bundled by esbuild and postcss/cssnano.
Since cssnano is not in debian, the simplest solution is to let
esbuild bundle the css as well,
so just B-D on esbuild.
The package you want to put the generated js/css bundles (and assets) is
going to be like
libjs-anubis
because it's only for web browsers.
Ping me when you need me to do something (I'm interested by that software,
as a user).

Jérémy

#1102132#26
Date:
2025-07-17 11:35:38 UTC
From:
To:
I've pushed my work-in-progress Anubis packaging repository to Salsa:

https://salsa.debian.org/go-team/packages/anubis

Including a TODO list:

https://salsa.debian.org/go-team/packages/anubis/-/blob/debian/sid/debian/TODO.Debian