Most active commenters
  • bdefore(5)

←back to thread

211 points CrankyBear | 24 comments | | HN request time: 0.414s | source | bottom
1. bdefore ◴[] No.45107084[source]
I created and maintain ProtonDB, a popular Linux gaming resource. I don't do ads, just pay the bills from some Patreon donations.

It's a statically generated React site I deploy on Netlify. About ten days ago I started incurring 30GB of data per day from user agents indicating they're using Prerender. At this pace almost all of that will push me past the 1TB allotted for my plan, so I'm looking at an extra ~$500USD a month for the extra bandwdith boosters.

I'm gonna try the robots.txt options, but I'm doubtful this will be effective in the long run. Many other options aren't available if I want to continue using a SaaS like Netlify.

My initial thoughts are to either move to Cloudflare Pages/Workers where bandwidth is unlimited, or make an edge function that parses the user agent and hope it's effective enough. That'd be about $60 in edge function invocations.

I've got so many better things to do than play whack-a-mole on user agents and, when failing, pay this scraping ransom.

Can I just say fuck all y'all AI harvesters? This is a popular free service that helps get people off of their Microsoft dependency and live their lives on a libre operating system. You wanna leech on that? Fine, download the data dumps I already offer on an ODbL license instead of making me wonder why I fucking bother.

replies(9): >>45107161 #>>45107210 #>>45107270 #>>45107274 #>>45107832 #>>45107839 #>>45108629 #>>45108648 #>>45134051 #
2. gjsman-1000 ◴[] No.45107161[source]
Your mistake is openly suggesting on HN that you're going to use Cloudflare, increasing the centralization of the internet and contributing to their attestation schemes, while society forces you to be a victim of the tragedy of the commons.
replies(1): >>45107171 #
3. bdefore ◴[] No.45107171[source]
Please believe me that it is not a step I want to take.
replies(2): >>45107200 #>>45107418 #
4. gjsman-1000 ◴[] No.45107200{3}[source]
You don't need to apologize - HN needs to get their heads out of the sand that not everything is a tragedy of the commons, there's a reason why centralization exists, and the decentralized internet as it is now comes with serious drawbacks. We're never going to overcome the popularity of big tech if we can't be honest with the problems they solve.

Also, sue me, the cathedral has defeated the bazaar. This was predictable, as the bazaar is a bunch of stonecutters competing with each other to sell the best stone for building the cathedral with. We reinvented the farmer's market, and thought that if all the farmers united, they could take down Walmart. It's never happening.

replies(1): >>45108597 #
5. immibis ◴[] No.45107210[source]
$500 for exceeding 1TB? The problem here isn't the crawlers, it's your price-gouging, extortionate hosting plan. Pick your favourite $5/month VPS platform - I suggest Hetzner with its 20TB limit (if their KYC process lets you in) or Digital Ocean if not (with only 1TB but overage is only a few bucks extra). Even freaking AWS, known for extremely high prices, is cheaper than that (but still too expensive so don't use it).
replies(4): >>45107316 #>>45107326 #>>45107393 #>>45107812 #
6. alright2565 ◴[] No.45107270[source]
I'm not sure what Netlify is doing, but the heaviest assets on your website are your javascript sources. Have you considered hosting those on GitHub pages, which has a generous free tier?

The images are from steamcdn-a.akamaihd.net, which I assume is already being hosted by a third-party (Steam)

replies(1): >>45107339 #
7. beckthompson ◴[] No.45107274[source]
Proton DB is an amazing website that I use all the time. Thank you for maintaining it!
replies(1): >>45107458 #
8. bdefore ◴[] No.45107316[source]
To clarify the math. Netlify bills $50 for each 100GB over the Pro plan limit of 1TB. Which is the barrel I'm looking down just this month before others get the same idea. So yes, I'm squeezed on both side unless I put the work in to rehost.
replies(1): >>45114228 #
9. ◴[] No.45107326[source]
10. bdefore ◴[] No.45107339[source]
I'd rather not involve Microsoft but I recognize there are other options. It is additional work/complexity I'll probably have to take on.
11. KyleTheDev ◴[] No.45107393[source]
> The problem here isn't the crawlers,

One of the worst takes I've seen. Yes, that's expensive, but the individuals doing insane amounts of unnecessary scraping are the problem. Let's not act like this isn't the case.

12. azdle ◴[] No.45107418{3}[source]
Another option that wouldn't contribute to more centralization might be neocities. They give you 3 TB for $5/month. That seems to be _the_ limit though. The dude runs his own CDN just for neocities, so it's not just reselling cloudflare or something.

P.S. Thank you for ProtonDB, it has been so incredibly helpful for getting some older games running.

13. bdefore ◴[] No.45107458[source]
Thanks. Appreciate your support, and very glad it brings you value.
14. snerbles ◴[] No.45107812[source]
> The problem here isn't the crawlers, it's your price-gouging, extortionate hosting plan.

No, it's both.

The crawlers are lazy, apparently have no caching, and there is no immediately obvious way to instruct/force those crawlers to grab pages in a bandwidth-efficient manner. That being said, I would not be surprised if someone here will smugly contradict me with instructions on how to do just that.

In the near term, if I were hosting such a site I'd be looking into slimming down every byte I could manage, using fingerprinting to serve slim pages to the bots and exploring alternative hosting/CDN options.

15. pbowyer ◴[] No.45107832[source]
Do you have the ability to block ASNs? I help sysadmin a DIY building forum, and we cut 80% of the load from our server by blocking all Alibaba IPs in ASN 45102. Singapore was sending the most bot traffic.
16. dlcarrier ◴[] No.45107839[source]
Please use a default deny on the user agent. It can block a lot of accessability tools and makes privacy difficult.
replies(1): >>45109243 #
17. hombre_fatal ◴[] No.45108597{4}[source]
In this context, the farmers are trying to deal with rampant abuse that is inconceivable to handle on an individual level.

It's not clear to me what taking down Cloudflare/Walmart means in this context. Nor how banding together wouldn't just incur the very centralization that is presumably so bad it must be taken down.

18. delduca ◴[] No.45108629[source]
Go for Cloudflare pages.
19. marvinblum ◴[] No.45108648[source]
Thank you for making ProtonDB! I use it a ton <3
20. danudey ◴[] No.45109243[source]
Did you mean to say don't use a default deny?
replies(1): >>45122474 #
21. immibis ◴[] No.45114228{3}[source]
I went to a Subway shop that charged $50 per lettuce strip past the first 20. As the worker sprinkled lettuce on my sandwich, I counted anxiously, biting my nails. 19, phew, I'm safe. I think I'll come back here tomorrow.

Tomorrow, someone in front of me asked for extra lettuce. The worker got confused and put it on my sandwich. I was charged $1000. Drat.

replies(1): >>45115452 #
22. KyleTheDev ◴[] No.45115452{4}[source]
> The worker got confused and put it on my sandwich.

No, this is where you're completely and totally incorrect. There is no 'worker accidentally making a human mistake that costs you money' here. This is a 'multi-billion dollar company routinely runs scripts that they KNOW cost you money, but do it anyways because it generates profit for them'. To fix your example,

You RUN a Subway that sells sandwiches. Your lettuce provider charges you $1 per piece of lettuce. Your average customer is given $1 worth of lettuce in their sub. One customer keeps coming in, reaching over the counter, and grabbing handfuls of lettuce. You cannot ban this customer because they routinely put on disguises and ignore your signs saying 'NO EXTRA LETTUCE'. Eventually this bankrupts you, forces you to stop serving lettuce in your subs entirely, or you have to put up bars (eg, Cloudflare) over your lettuce bins.

23. dlcarrier ◴[] No.45122474{3}[source]
Yes
24. encrypted_bird ◴[] No.45134051[source]
Hey, I just wanted to say your site is amazing and has helped me SO much and I am incredibly grateful for all your hard work. I would become a patron if I could afford it, but I can barely make ends meet and don't have $447 a month to spare. :(