News for hackers. Stuff that matters.
Re:Dav2d by tensor on Saturday May 02, 2026 @02:30PM (#47989035)
Not on topic, but wow the internet has very quickly devolved into: click -> "making sure you're not a bot", click -> "making sure you're a human", click -> "COOKIES COOKIES COOKIES", click -> "cloudflare something something"
Re:Dav2d by thresh on Saturday May 02, 2026 @02:57PM (#47989315)
We had to set it up on the parts of VideoLAN infra so the service would remain usable.

Otherwise it was under a constant DDoS by the AI bots.

Re:Dav2d by nerdralph on Saturday May 02, 2026 @04:07PM (#47989967)
I highly doubt there is no other technically feasible option to block the AI bots. You end up blocking not just bots, but many humans too. When I clicked on the link and the bot block came up, I just clicked back. I think HN posts should have warnings when the site blocks you from seeing it until you somehow, maybe, prove you are human.
Re:Dav2d by thresh on Saturday May 02, 2026 @04:19PM (#47990070)
I'm all ears on how we can fix it otherwise.

Keep in mind that those kinds of services: - should not be MITMed by CDNs - are generally ran by volunteers with zero budget, money and time-wise

Re:Dav2d by nerdralph on Saturday May 02, 2026 @05:52PM (#47990936)
First off, don't block the first connection of the day from a given IP. Rate limit/block from there, for example how sshguard does it.

I've seen several posts on HN and elsewhere showing many bots can be fingerprinted and blocked based on HTTP headers and TLS.

For the bots that perfectly match the fingerprint of an interactive browser and don't trigger rate limits, use hidden links to tarpits and zip bombs. Many of these have been discussed on HN. Here's the first one that came to memory: https://news.ycombinator.com/item?id=42725147

Re:Dav2d by thayne on Sunday May 03, 2026 @01:54PM (#47999551)
> don't block the first connection of the day from a given IP.

The bots come from a huge number of IP addresses, that won't really help that much. And it doesn't solve the UX problem either, because most pages require multiple requests for additional assets, and requiring human verification then is a lot more complicated than for the initial request.

> For the bots that perfectly match the fingerprint of an interactive browser

That requires properly fingerprinting the browser, which will almost certainly have false positives from users who use unusual browsers or use anti-fingerprinting.

> use hidden links to tarpits and zip bombs.

That can waste the bot users resources, but doesn't necessarily protect your site from bots. And Also requires quite a bit of work that small projects don't have time for.

Unless there is a prebuilt solution that is at least as easy to deploy and at least as effective as something like anubis, it isn't really practical for most sites.

Re:Dav2d by goobatrooba on Saturday May 02, 2026 @04:20PM (#47990077)
I'm sure there are many solutions for many problems, but expecting a small Foss development team to know or implement them all is rather unreasonable.

I think the world gains more if the VLAN team focuses on their amazing, free contribution to the world, than if they spend the same time trying to figure out how to save you two clicks.

We all hate that this is happening, but you don't need to attack everyone that is unfortunately caught up in it.

Re:Dav2d by overfeed on Saturday May 02, 2026 @04:22PM (#47990093)
> I highly doubt there is no other technically feasible option to block the AI bots.

If you have discovered such an option, you could get very wealthy: minimizing friction for humans in e-commerce is valuable. If you're a drive-by critic not vested in the project, then yours is an instance of talk being cheap.

Re:Dav2d by hectormalot on Saturday May 02, 2026 @04:23PM (#47990105)
Maybe I’m naive about this, but I didn’t expect AI scrapers to be that big of a load? I mean, it’s not that they need to scrape the same at 1000+ QPS, and even then I wouldn’t expect them to download all media and images either?

What am I missing that explains the gap between this and “constant DDoS” of the site?

Re:Dav2d by thresh on Saturday May 02, 2026 @04:51PM (#47990368)
You cant really cache the dynamic content produced by the forges like Gitlab and, say, web forums like phpbb. So it means every request gets through the slow path. Media/JS is of course cached on the edge, so it's not an issue.

Even when the amount of AI requests isnt that high - generally it's in hundreds per second tops for our services combined - that's still a load that causes issues for legitimate users/developers. We've seen it grow from somewhat reasonable to pretty much being 99% of responses we serve.

Can it be solved by throwing more hardware at the problem? Sure. But it's not sustainable, and the reasonable approach in our case is to filter off the parasitic traffic.

Re:Dav2d by fragmede on Saturday May 02, 2026 @05:57PM (#47990979)
You kind of can though. You serve cached assets and then use JavaScript to modify it for the individual user. The specific user actions can't be cached, but the rest of it can.
Re:Dav2d by davidron on Saturday May 02, 2026 @08:56PM (#47992157)
Totally. Remember slashdot in the 1990s used to house a dynamic page on a handful of servers with horsepower dwarfed by a Nintendo Switch that had a user base capable of bringing major properties down.
Re:Dav2d by Avamander on Saturday May 02, 2026 @09:03PM (#47992202)
The "can't" comes from the fact that VLC is not going to rewrite their forum software or software forge.

Software written in PHP is in most cases frankly still abysmally slow and inefficient. Wordpress runs like 70% of the web and you can really feel it from the 1500ms+ TFFB most sites have. PhpBB is not much better. Pathetic throughput at best and it has not gotten better in decades now.

I don't know how GitLab became so disgustingly slow. But yeah, I'm not surprised bots can easily bring it to its knees.

Re:Dav2d by Nathan2055 on Sunday May 03, 2026 @05:53AM (#47995299)
The funniest part about WordPress is that you can usually achieve at least a 50% speed boost or more by adding a plugin that just minifies and caches the ridiculous number of dynamic CSS and JS files that most themes and plugins add to every page. Set those up with HTTP 103 Early Hints preload headers (so the browser can start sending subresource requests in the background before the HTML is even sent out, exactly the kind of thing HTTP/2 and /3 were designed to make possible) and then throw Cloudflare or another decent CDN on top, and you're suddenly getting TTFBs much closer to a more "modern" stack.

The bizarre thing is that pretty much no CMS, even the "new" ones, seems to automate all of that by default. None of those steps are that difficult to implement, and provide a serious speed boost to everything from WordPress to MediaWiki in my experience, and yet the only service that seems to get close to offering it is Cloudflare.

Even then, Cloudflare's tooling only works its best if you're already emitting minified and compressed files and custom written preload headers on the origin side, since the hit on decompressing all the origin traffic to make those adjustments and analyses is way worse for performance than just forwarding your compressed responses directly, hence why they removed Auto Minify[1] and encourage sending pre-compressed Brotli level 11 responses from the origin[2] so people on recent browsers get pass-through compression without extra cycles being spent on Cloudflare's servers.

The solution seems pretty clear: aim to get as much stuff served statically, preferably pre-compressed, as you can. But it's still weird that actually implementing that is still a manual process on most CMSes, when it shouldn't be that hard to make it a standard feature.

And as for Git web interfaces, the correct solution is to require logins to view complete history. Nobody likes saying it, nobody likes hearing it. But Git is not efficient enough on its own to handle the constant bombardment of random history paginations and diffs that AI crawlers seem to love. It wasn't an issue before, because old crawlers for things like search engines were smart enough to ignore those types of pages, or at least to accept when the sysadmin says it should ignore those types of pages. AI crawlers have no limits, ignore signals from site operators, make no attempts to skip redundant content, and in general are very dumb about how they send requests (this is a large part of why Anubis works so well; it's not a particularly complex or hard to bypass proof of work system[3], but AI bots genuinely don't care about anything but consuming as many HTTP 200s as a server can return, and give up at the slightest hint of pushback (but do at least try randomizing IPs and User-Agents, since those are effectively zero-cost to attempt).

[1]: https://community.cloudflare.com/t/deprecating-auto-minify/6...

[2]: https://blog.cloudflare.com/this-is-brotli-from-origin/

[3]: https://lock.cmpxchg8b.com/anubis.html but see also https://news.ycombinator.com/item?id=45787775 and then https://news.ycombinator.com/item?id=43668433 and https://news.ycombinator.com/item?id=43864108 for how it's working in the real world. Clearly Anubis actually does work, given testimonials from admins and wide deployment numbers, but that can only mean that AI scrapers aren't actually implementing effective bypass measures. Which does seem pretty in line with what I've heard about AI scrapers, summarized well in https://news.ycombinator.com/item?id=43397361, in that they are basically making no attempt to actually optimize how they're crawling. The general consensus seems to be that if they were going to crawl optimally, they'd just pull down a copy of Common Crawl like every other major data analysis project has done for the last two decades, but all the AI companies are so desperate to get just slightly more training data than their competitors that they're repeatedly crawling near-identical Git diffs just on the off-chance they reveal some slightly different permutation of text to use. This is also why open source models have been able to almost keep pace with the state of the art models coming out of the big firms: they're just designing way more efficient training processes, while the big guys are desperately throwing hardware and crawlers at the problem in the desperate hope that they can will it into an Amazon model instead of a Ben and Jerry’s model[4].

[4]: https://www.joelonsoftware.com/2000/05/12/strategy-letter-i-... - still probably the single greatest blog post ever written, 26 years later.

Re:Dav2d by Sesse__ on Sunday May 03, 2026 @06:15AM (#47995433)
> And as for Git web interfaces, the correct solution is to require logins to view complete history.

Why logins, exactly? Who would have such logins; developers only, or anyone who signs up? I'm not sure if this is an effective long-term mitigation, or simply a “wall of minimal height” like you point out that Anubis is.

Re:Dav2d by alexjplant on Sunday May 03, 2026 @11:03AM (#47997640)
> Wordpress runs like 70% of the web and you can really feel it from the 1500ms+ TFFB most sites have. PhpBB is not much better.

At least phpBB died 15 years ago with most communities migrating to Xenforo. I'm not quite sure how or why WP is still around with so many SSGs and SaaS site builders floating around these days.

Re:Dav2d by account42 on Tuesday May 05, 2026 @08:49AM (#48021805)
Xenforo is not much better an has many "administrators" whining about bot traffic as well.
Re:Dav2d by hectormalot on Saturday May 02, 2026 @09:19PM (#47992313)
Thanks, appreciate the details. 99% is far above the amount I expected, and if it specifically hits hard to cache data then I can see how that brings a system to its knees.
Re:Dav2d by Y-bar on Saturday May 02, 2026 @04:33PM (#47990209)
They are a scourge, they never rate-limit themselves, there are a hundred of them, and a significant number don’t respect robots.txt. Many of them also end up our meta:no-index,no-follow search pages leading to cost overruns on our Algolia usage. We spend way too much time adjusting WAF and other bot-controls than we should have.
Re:Dav2d by nijave on Saturday May 02, 2026 @04:35PM (#47990228)
I think there's a few things at play here

- AI scrapers will pull a bunch of docs from many sites in parallel (so instead of a human request where someone picks a single Google result, it hits a bunch of sites)

- AI will crawl the site looking for the correct answer which may hit a handful of pages

- AI sends requests in quick succession (big bursts instead of small trickle over longer time)

- Personal assistants may crawl the site repeatedly scraping everything (we saw a fair bit of this at work, they announced themselves with user agents)

- At work (b2b SaaS webapp) we also found that the personal assistant variety tended to hammer really computationally expensive data export and reporting endpoints generally without filters. While our app technically supported it, it was very inorganic traffic

That said, I don't think the solution is blanket blocks. Really it's exposing sites are poorly optimized for emerging technology.

Re:Dav2d by Sesse__ on Sunday May 03, 2026 @03:09AM (#47994237)
Also, relevant for forges: AI doesn't understand what it's clicking on. Git forges tend to e.g. have a lot of links like “download a tarball at this revision” which are super-expensive as far as resources go, and AI crawlers will click on those because they click on every link that looks shiny. (And there are a lot of revisions in a project like VLC!) Much, much more often than humans do.
Re:Dav2d by account42 on Tuesday May 05, 2026 @08:52AM (#48021828)
This is also irrelevant to the original comment which is complaining about bot checks for looking at the root of the repositiory - which is probably the highest requested resource and should be 100% served from cache with a cost much less than running the bot checks.

It's simply bad, inefficient software and we shouldn't keep making excuses for it.

Re:Dav2d by nijave on Tuesday May 05, 2026 @11:44AM (#48024092)
Agree. Did some basic searching and looks like Gitlab is particularly bad. It ships with built in rate-limiting but the backend marks all pages as uncacheable on top of them being somewhat dynamically generated (I guess it caches "page fragments").

The only issues I found amounted to "here's how to use Anubis to block everything"

There's also some new but poorly supported standards around agents setting `Accept: text/markdown` and https://github.com/cloudflare/web-bot-auth

Re:Dav2d by eipi10_hn on Saturday May 02, 2026 @08:27PM (#47991956)
Re:Dav2d by hectormalot on Saturday May 02, 2026 @09:15PM (#47992279)
Thanks. I imagine there is a (a) a lot of interest in scraping source code, and (b) many requests to forges hitting expensive paths. 99% of volume though, wow, much more than expected.
Re:Dav2d by eks391 on Sunday May 03, 2026 @10:46AM (#47997449)
You've gotten several comprehensive responses so far and I want to add a niche corner that people might assume might not have the bot problem but still does.

I run a website that hosts tools for my family: games and a TV interface for the kids, remote access to our family cloud and cameras, etc. Sensitive things require log in and have additional parameters required for access of course.

I specifically blocked bots from search engines so my site is never indexed, as I'm not selling anything nor want any attention, as well as some other public non-malicious bots in case they communicate with Google, just to be safe there, and my robots.txt doesn't allow anything.

I assume then, that the only way a bot could even find my site is to do what the indexers do: brute force try every single possible ipv4 address hoping to hear something back, as my domain should not be known (and isn't simple enough to be quickly guessed), and most traffic must be malicious, or indexing (AI overview and other scrapers won't be finding it via web search).

Since it isn't indexing, and keeping everything in simple black and white boxes, my remaining traffic is family or malicious bots, and 99.9% isn't family.

I currently have the most strict bot-blocking setup I could come up with, which nicely cut down on quite a bit of traffic, but I do still receive ~2k attempts per day, which as you can imagine, still is around 99% not traffic, as I have fewer than 20 kids, and my kids aren't using the site nonstop.

Conveniently, my setup has never accidentally blocked a family member, so I'm pleased with the setup.

Re:Dav2d by thayne on Sunday May 03, 2026 @01:32PM (#47999329)
> I assume then, that the only way a bot could even find my site is to do what the indexers do: brute force try every single possible ipv4 address hoping to hear something back, as my domain should not be known

If your site uses https, they could also get your domain from the certificate transparency logs for the certificate you use.

Re:Dav2d by PokestarFan on Sunday May 03, 2026 @07:58PM (#48002936)
You can get around this by grabbing a wildcard certificate and then using a hard-to-guess subdomain.
Re:Dav2d by eks391 on Monday May 04, 2026 @03:13PM (#48013540)
I didn't think of that, but that makes complete sense, as it is https. I think my info was sold by my registrar as well because solicitors call or email me on occassion because they "accidentally came across my site" and want to provide the design/js/etc help.
Re:Dav2d by nijave on Saturday May 02, 2026 @04:26PM (#47990137)
While I do sympathetize with the AI DDoS situation, it'd be nice if there were a solution that allows them to work so they can pull official docs.

For instance, MCP, static sites that are easy to scale, a cache in front of a dynamic site engine

Re:Dav2d by thresh on Saturday May 02, 2026 @04:55PM (#47990408)
Of course, static websites is the best solution to that problem.

Our documentation and a main website are not fronted by this protection, so they're still accessible for the scrapers.

Re:Dav2d by account42 on Tuesday May 05, 2026 @08:48AM (#48021791)
Have you considered making the pages mostly static and cacheable for non logged in users first. There is no reason a repository listing needs to be this resource intensive.
Re:Dav2d by notenlish on Saturday May 02, 2026 @04:07PM (#47989966)
Nearly every single website I'm not logged into these days want me to "confirm I'm not a bot".

it is incredibly annoying but what can you do? AI scrapers ruined the web.

Re:Dav2d by port11 on Saturday May 02, 2026 @02:32PM (#47989063)
The internet is such a Tragedy of the Commons… its citizens that act selfishly and in bad faith will slowly make it unusable.
Re:Dav2d by codedokode on Saturday May 02, 2026 @03:25PM (#47989577)
No, it is because citizen allow treating them like this.
Re:Dav2d by honktime on Saturday May 02, 2026 @02:48PM (#47989233)
Its pretty explicitly not a tragedy of the commons. Its a tragedy of the ruling class abusing the resources of the 'commons' to extract value. There is nothing 'commons' about trillion dollar companies extracting all available value from the labor of the working class. That's just the tragedy that'll bring around the death of society, the same tragedy that brings all other tragedys
Re:Dav2d by throw-the-towel on Saturday May 02, 2026 @03:13PM (#47989456)
The commons in question is the internet itself.
Re:Dav2d by amusingimpala75 on Saturday May 02, 2026 @03:07PM (#47989404)
Thank you for describing the tragedy of the commons
Re:Dav2d by multjoy on Saturday May 02, 2026 @03:34PM (#47989669)
The commons were never unregulated. This is a tragedy of enclosure.

https://en.wikipedia.org/wiki/Enclosure

Re:Dav2d by port11 on Sunday May 03, 2026 @01:32PM (#47999330)
We might get stuck discussing semantics. Large parts of the internet remain public and open; but an incredibly vast part of it is a toxic wasteland.

It’s true that many spaces people frequent are ‘enclosed’, but these are also less subject to the abuse taking place in the public and open areas.

Re:Dav2d by dyauspitr on Saturday May 02, 2026 @03:18PM (#47989499)
There’s definitely lots of problems with the ruling class and wealth disparity. Perhaps the defining problems of our current age.

That being said, so many of the plebs suck. Like 2% will ruin everything for everyone.

Re:Dav2d by throw-the-towel on Saturday May 02, 2026 @03:20PM (#47989515)
While a lot of the plebs do suck, a pleb who sucks causes way less problems than a big corp that sucks simply by virtue of not having too much resources.
Re:Dav2d by dyauspitr on Saturday May 02, 2026 @05:21PM (#47990678)
I agree.

But whether you agree with me or not, most paradigm shifting changes come from billionaires/corps because they are the only ones with the money to pull off massive shifts. Most innovation is not grassroots and heavily funded by the “elites”. This is how most successful countries have been for atleast the last 100 years. So billionaires add a lot of value even as they cause a lot of pain.

The solution in my mind is we absolutely need uncapped billionaires but they need to be effectively taxed (not like 90% but closer to 50%) and they have to have absolutely no influence on the government.

Re:Dav2d by dirasieb on Sunday May 03, 2026 @08:46AM (#47996429)
tragedy of the commons with your ideological buzzwords sprinkled in, truly innovative
Re:Dav2d by esseph on Saturday May 02, 2026 @03:29PM (#47989614)
> its citizens that act selfishly and in bad faith will slowly make it unusable

It's rarely been the citizens that have been the problem, but the governments and companies that seek the use the network connection for their overwhelming benefit.

Re:Dav2d by fastball on Saturday May 02, 2026 @04:10PM (#47989998)
wat. The protections in place that the OP is talking about are almost entirely due to (not government and company) bad actors.
Re:Dav2d by rayiner on Saturday May 02, 2026 @03:24PM (#47989557)
Wow I’m glad it’s not just me. I thought my IP block had gotten caught up in some known spamming or something.
Re:Dav2d by tosti on Saturday May 02, 2026 @02:37PM (#47989124)
I get exactly none of that. Is your adblocker still working?
Re:Dav2d by oybng on Saturday May 02, 2026 @03:01PM (#47989347)
renders your gigabit connection pointless
Re:Dav2d by pixelpoet on Saturday May 02, 2026 @04:29PM (#47990170)
No one's even clicking anymore, everything implores me to tap or swipe these days, and everything is optimised for humans with one eye above the other.

Then I press the X to close the all-caps banner commanding me to install the app, upon which I get sent to the app store. Users of the website refer to it as an app.

Re:Dav2d by tomwheeler on Saturday May 02, 2026 @04:47PM (#47990326)
At least this one was significantly faster than Cloudflare and required no action on my part.
Re:Dav2d by croes on Sunday May 03, 2026 @04:24AM (#47994735)
AI is a gift that keeps on giving.

High hardware prices, locked information sources, plenty of AI slop etc.

Re:Dav2d by krzyk on Sunday May 03, 2026 @08:02AM (#47996097)
Rather people unable to setup a static websites where needed.

I hate that I can't do a curl, or automate my curls to retrieve data from the web because I either see some cloudfrare protection or some captcha.

Information is blocked in walled gardens.

Re:Dav2d by timpera on Sunday May 03, 2026 @06:40AM (#47995570)
Their bot-detection page took more than 40 seconds to complete on my low-end smartphone. This sucks.