Isn’t Anubis useless against AI scrapers and just annoying people by now?
post
I feel like a simple rate limit set to what your server can handle without issues is a better solution. Or combine it with Anubis at least.
This seems to be exactly the content of the post: rate limit + Anubis.
The main point is more about "How to setup Anubis" rather than "Should we use Anubis" as I documented how I did my setup so I will not forget and at the same time sharing the resource. I am also using fail2ban but I didn't feel a post about how to set ip up would be as useful as documentation and guides seems already there.
Nice write-up. This is the first time I've encountered DynamicUser= in systemd, so I learnt something new.
Actually same, this blog is also a nice way for me to document how my server was setup.
I am quiet distro hopping because of ARM based distribution never really working nicely (GPU acceleration, old hardware not being updated). I need to remember what is what and why as my main job is not really taking care of servers but coding.
scrap (third-person singular simple present scraps, present participle scrapping , simple past and past participle scrapped)
(transitive) To discard; to get rid of.
(transitive) To stop working on (a project or plan) indefinitely.
Synonyms: abort, cancel, mothball
https://en.wiktionary.org/wiki/scrap
vs.
scrape (third-person singular simple present scrapes, present participle scraping , simple past and past participle scraped)
(ambitransitive) To draw (an object, especially a sharp or angular one), along (something) while exerting pressure.
Synonym: scuff
She scraped the wooden plate with her fingernails.
That car often scrapes the shallowest of humps because of its low ground clearance.
...
(transitive) To collect or gather, especially without regard to the quality of what is chosen.Just use whatever you can scrape together.
(computing, transitive) To extract data by automated means from a format not intended to be machine-readable, such as a screenshot or a formatted web page.
They didn't provide an API, so I simply scraped their website.
The rate limit is a bit pointless as the scrapers cycle through IPs via residential proxies and large data centers with many IPs and sadly there is an increasing number of scrapers that seems to be able to solve the Anubis challenge.
Never the less, a nice tutorial for the basic setup that does still help to some extend 👍
Unrelated to the actual anti-bot topic discussed here, but I would just like to mention this point:
PROTOCOL = http+unix: because UNIX sockets are said to be faster locally but also because this avoids the painful management of ports. Also feels safer [as] there is no way to connect from outside.
This is really underrated. I try to use this for all the server software I host, and not having to manage ports is absolutely great, along with knowing that nothing can connect to the service internally when it's not supposed to.
Except I actually go a step further and use systemd's socket activation feature, which has a few additional benefits (like seamless restarts, no need for CAP_NET_BIND_SERVICE (my webserver and reverse proxy runs as a completely unprivileged user!), only starting the service once there is a request (this one is admittedly less useful), and having a quick overview of bound ports and Unix socket paths listed in the .socket file). Unfortunately, most programs need to be patched to support this, including forgejo (outdated codeberg link here because I had to set the forgejo repository on my own code forge to private earlier today because of scrapers…).
all 12 comments