Anubis is fine if you want to block bots that are bothering you, but I never understood why they don't have robots.txt at the root level too. I happily obey that for my private crawler. I suppose you don't want to duplicate implementations. Fair enough. I guess I should add an Anubis detector so I can just blacklist because that person clearly doesn't want bots.
It took a year to ship WebAssembly in Anubis
71–80 of 226 posts
Re: It took a year to ship WebAssembly in Anubis
#72Earlier quoted context omitted.
> Scrapers can't change their strategy? Yes, but you normally don't try to fight all strategies up front, you add stuff on a need-to basis. Currently, lots of people are in the stage of "need to get this thing using bunch of IPs to stop hammering my servers", apparently Anubis helps them with that. If that stops working, other tactics are tried, and so it goes on for the life of your service. Hasn't stopped yet, does…
That argument also works against anubis. Why bother forcing clients to solve a PoW challenge, when you're fighting a bunch of unsophisticated attackers that will be deterred by a javascript challenge that requires them to solve `result = x + y`?
Turns out that in practice there's some bots that implement support for this but not JavaScript.
Re: It took a year to ship WebAssembly in Anubis
#73Earlier quoted context omitted.
It's funny, because on the scale of things that are annoying an uncool, I find someone saying the word "retarded" as a pejorative in the year 2026 to be far, far more annoying and uncool than a harmless anime-inspired mascot for an open source project.
[flagged]
Re: It took a year to ship WebAssembly in Anubis
#74It would be cool if the POW could be done ahead of time. That way I don't get stuck waiting while I'm working. Some type of credit/tokens that my browser could then spend.
Re: It took a year to ship WebAssembly in Anubis
#75Earlier quoted context omitted.
I'm working on this with a private prototype. I'm probably going to lean towards using a Service Worker ( https://developer.mozilla.org/en-US/docs/Web/API/Service_Wor... ) to renew challenges at a reduced difficulty. Stay tuned!
That just creates another problem: if you're taking any measures to reduce tracking (ie. clearing cookies on shutdown or using temporary containers), this won't work. If anubis was being deployed on a site that a user visits often (eg. HN), the user might be convinced to whitelist it, but most anubis deployments are on random blogs or fediverse instances that I might not visit again in months. I'm certainly am not go…
Re: It took a year to ship WebAssembly in Anubis
#76> hey Claude vibeslop me a CUDA Anubis solver" route is on its way to being fundamentally dead. Lmao yeah no. I don't think a little argon2 is going to change shit all. I mean the thesis of Anubis itself is "scrappers are compute limited (in ways that consumer devices are not)" which has its own massive flaws.
Yes, I also strongly suspect that this is only going to move more parts of scrapers onto consumer devices. The egress proxies are already there, why not use a little bit of the compute as well?
Re: It took a year to ship WebAssembly in Anubis
#77Re: It took a year to ship WebAssembly in Anubis
#78Re: It took a year to ship WebAssembly in Anubis
#79Earlier quoted context omitted.
> Scrapers can't change their strategy? Yes, but you normally don't try to fight all strategies up front, you add stuff on a need-to basis. Currently, lots of people are in the stage of "need to get this thing using bunch of IPs to stop hammering my servers", apparently Anubis helps them with that. If that stops working, other tactics are tried, and so it goes on for the life of your service. Hasn't stopped yet, does…
That argument also works against anubis. Why bother forcing clients to solve a PoW challenge, when you're fighting a bunch of unsophisticated attackers that will be deterred by a javascript challenge that requires them to solve `result = x + y`?
Re: It took a year to ship WebAssembly in Anubis
#80I've just finished creating a WASM 1.0 implementation (simple JIT on x86 and x86_64) for plugin usage and I'm looking on how to support more languages beyond C (for which I have "micro-libc" to create really small binaries). In particular C++ and Rust so the article contains useful info for that. C++ that would be more problematic I think, would have to resort to full Emscripten or something... I've tried to compile standalone C++ stdlib but wasn't much sucessful yet.
BTW, I see in the screenshots you also test Firefox, I think it would make sense to test the latest two ESR versions (these are often used by Linux distributions).