3 ms·
Wow it is so surreal to see a project of mine on Ars Technica! It's such an honor!
by xena 2y ago
Wow it is so surreal to see a project of mine on Ars Technica! It's such an honor!
- true_blue 2y agoOn the few sites I've seen using it so far, it's been a more pleasant (and cuter) experience for me than the captchas I'd probably get otherwise. good work!
- xena 2y agoThanks! The artist I'm contracting and I are in discussions on how to make the mascot better. It will be improved. And more Canadian.
- techjamie 2y agoThe ffmpeg website is also using it. First time I actually saw it in the wild.
- seafoamteal 2y agoI've seen Anubis a couple times irl, mostly on Sourcehut, and the first time I saw it I was like, "Hey, I remember that blog post!" Congratulations on making something both useful and usable!
- shric 2y agoYou're well into https://refactoringenglish.com/tools/hn-popularity/ https://refactoringenglish.com/tools/hn-popularity/ so enjoy the fame!
- Figs 2y agoHmm. Instead of requiring JS on the client, why don't you add a delay on the server side (e.g. 1 second default, adjustable by server admin) for requests that don't have a session cookie? For each session keep a counter and a timestamp. Every time you get a request from a session, look up the tracked entry, increment the counter (or initialize it if not found) and update the timestamp. If the counter is greater than a configured threshold, slow-walk the response (e.g. add a delay before forwarding the request to the shielded web server -- or transfer the response back out at reduced bytes/second, etc.) You can periodically remove tracking data for entries older than a threshold -- e.g. once a minute or so (adjustable) remove tracked entries that haven't made a request in the past minute to keep memory usage down. That'd effectively rate limit the worst offenders with minimal impact on most well-behaved edge-case users (like me running NoScript for security) while also wasting less energy globally on unnecessary computation through the proof-of-work scheme, wouldn't it? Is there some reason I'm not thinking of that would prevent that from working?
- viraptor 2y ago> look up the tracked entry, increment the counter (or initialize it if not found) and update the timestamp Not sure about author's motivation, but this part is why I don't track usage - PoW allows you to do everything statelessly and not keep any centralised database or write any data. The benefit of a system slowing down crawling should be minimal resource usage for the server.
- PufPufPuf 2y agoIn a "denial of service prevention" scenario, you need your cost to be lower than the cost of the attacker. "Delay on the server side" means keeping a TCP connection open for that long, and that's a limited resource.