• talkingtab 2 minutes ago

    1. Put a note in robots.txt that says

    "By accessing this file more than one time per second you agree to pay a fee of $0.1 per access plus an additional $0.1 for each previous access each day. This fee will be charged on a per access basis."

    2. Run a program that logs the number for Facebook requests and prints a summary and bill.

    2. Then get a stamp, envelope and write out a bill for the first day, call it a demand for payment and send it to:

    Facebook, Inc. Attn: Security Department/Custodian of Records 1601 S. California Avenue Palo Alto, CA 94304 U.S.A.

    You can optionally send this registered mail, where someone has to sign for it.

    Corporations such as FaceBook are used to getting their way in court because they can afford lawyers and you cannot. So they have gotten lazy and do not worry about what is fair or legal.

    So take them to court when you have a legitimate legal issue. The courts are there to provide redress when you are aggrieved. Right? Use the courts. You can file a small claims action easily. Just make sure you have 1) a legitimate case, 2) evidence 3) have sent them a demand for payment.

    • prmoustache 2 minutes ago

      Is there any downside in just blocking the whole META IP range? I mean they aren't even running a search engine.

      • Nextgrid 2 hours ago

        > Perhaps someone at their end screwed up a loop conditional, but you'd think some monitoring dashboard somewhere would have a warning pop up because of this.

        If you've been in any big company you'll know things perpetually run in a degraded, somewhat broken mode. They've even made up the term "error budget" because they can't be bothered to fix the broken shit so now there's an acceptable level of brokenness.

        • goodmythical an hour ago

          >they can't be bothered to fix the broken shit

          Surely it's more likely that it's just cheaper to pay for the errors than to pay to fix the errors.

          Why fix 10k worth of errors if it'll cost me 100k to fix it?

          • DanielHB an hour ago

            The orgs are not ruthless like that, anything less than a certain % of the org revenue is not worth bothering unless it creates _more_ work to the person responsible for it than fixing it does.

            Add some % if person who gets more work from the problem is not the same as the person who needs to fix it. People will happily leave things in a broken state if no one calls them out on it.

          • nazgulsenpai 36 minutes ago

            In my 3rd year of enterprise now and learned that there are many engineers who will purposefully not fix/improve their problematic applications as a weird sort of job security. It kind of blew up in their faces last year when we moved most of the affected on-premise applications to cloud. Seems like when you introduce tons of friction on-premise it makes the cloud look even better to the suits.

          • xg15 2 hours ago

            Facebook just decided that instead of loading the robots.txt for every host they intend to crawl, they'll just ignore all the other robots.txt files and then access this one a million times to restore the average.

            • Vinnl an hour ago

              Ah yes, robots_georg.txt.

            • Ndymium 4 hours ago

              For some reason, Facebook has been requesting my Forgejo instance's robots.txt in a loop for the past few days, currently at a speed of 7700 requests per hour. The resource usage is negligible, but I'm wondering why it's happening in the first place and how many other robot files they're also requesting repeatedly. Perhaps someone at Meta broke a loop condition.

              • antonyh 2 hours ago

                As facebookexternalhit is listed in the robots.txt, it does look like it's optimistically rechecking in the hope it's no longer disallowed. That rate of request is obscene though, and falls firmly into the category of Bad Bot.

                • mghackerlady an hour ago

                  That is probably the dumbest yet most genius solution to getting your scraper blocked I've ever seen

              • tananaev 2 hours ago

                Maybe they’re trying to DDoS it, and once an error is returned, they assume that no robots.txt file exists and then crawl everything else on the site?

                • Ndymium an hour ago

                  While 7700 per hour sounds big, pretty much any dinky server can handle it. So I don't think it's a matter of DDoS. At this point it's just... odd behaviour.

                  • mghackerlady an hour ago

                    especially for a txt file. I don't know anything really about webdev but I'm pretty sure serving up 7700 plaintext files with roughly 10 lines each an hour isn't that demanding

                • dormento 2 hours ago

                  Has anyone done research on the topic of trying to block these bots by claiming to host illegal material or talking about certain topics? I mean having a few entries in your robots like "/kill-president", "/illegal-music-downloads", "/casino-lucky-tiger-777" etc.

                  • pousada 2 hours ago

                    Yea I can’t see how that could backfire in any way

                    • DetroitThrow 44 minutes ago

                      FB crawler is used for national security reasons at times. The first would probably make it more active.

                    • 13pixels 39 minutes ago

                      Facebook is honestly the least interesting crawler misbehaving right now. The real shift is GPTBot, ClaudeBot, PerplexityBot and a dozen other AI crawlers that don't even identify themselves half the time.

                      I've been monitoring server logs across ~150 sites and the pattern is striking: AI crawler traffic increased roughly 8x in the last 12 months, but most site owners have no idea because it doesn't show up in analytics. The bots read everything, respect robots.txt maybe 60% of the time, and the content they index directly shapes what ChatGPT or Perplexity recommends to users.

                      The irony is that robots.txt was designed for a world where crawling meant indexing for search results. Now crawling means training data and real-time retrieval for AI answers. Completely different power dynamic and most robots.txt files haven't adapted.

                      • VladVladikoff 38 minutes ago

                        My bet is this is a threading bug rather than just a broken loop. Somehow the threads are failing to communicate with each other, or some sort of race condition, so it keeps putting in the same task to the queue but missing the result. Something like that.

                        • petee an hour ago

                          Do crawlers follow/cache 301 permanent redirects? I wonder if you could point the firehouse back at facebook, but it would mean they wouldn't get your robots.txt anymore (though I'd just blackhole that whole subnet anyway)

                          • evv 2 hours ago

                            Have you considered serving a zip bomb to this user agent?

                            • delecti 2 hours ago

                              I'm sure their crawler can handle a zip bomb. Plus it might interpret that as "this site doesn't have a robots.txt" and start scraping that OP is trying to prevent with their current robots.txt.

                              • 1e1a 2 hours ago

                                Could allow only the path to the zip bomb for this user agent.

                                • FartyMcFarter 2 hours ago

                                  That will work once at most and then quickly get fixed.

                                  • xp84 27 minutes ago

                                    Yeah it seems like this team takes a really tough stance on obvious bugs

                                    • esseph an hour ago

                                      Are you so sure? :)

                              • matja 2 hours ago

                                Did you try adding a Cache-Control response header?

                                • mrweasel 2 hours ago

                                  Even if they haven't added any cache control headers, what kind a of lazy Meta engineer designed their crawler with to just pull the same URL multiple times a second?

                                  Is this where all that hardware for AI projects is going? To data centers that just uncritically hits the same URL over and over without checking if the content of a site or page has chanced since the last visit then and calculate a proper retry interval. Search engine crawlers 25 - 30 years ago could do this.

                                  Hit the URL once per day, if it chances daily, try twice a day. If it hasn't chanced in a week, maybe only retry twice per week.

                                  • bot403 2 hours ago

                                    It's not the "same" crawler. Probably each thread or each cluster machine instance of the crawler hitting it independently.

                                    • OliverGuy 2 hours ago

                                      That's still the same crawler system though. And it's lazy engineering to not build in something to track when you last requested a url.

                                      And it's quite a trivial feature at that.

                                      • mrweasel 2 hours ago

                                        I sincerely doubt that search engines run their crawlers on a single machine and they got it figured out.

                                    • Ndymium 2 hours ago

                                      Forgejo does set "cache-control: private, max-age=21600", which is considerably more than one second, but I grant it uses the "private" keyword for no reason here.

                                    • mghackerlady an hour ago

                                      >my extreme LibreOffice Calc skillz

                                      How does one learn these skills, I can see them being useful in the future

                                      • lloydatkinson an hour ago

                                        I recently started maintaining a MediaWiki instance for a niche hobbyist community and we'd been struggling with poor server performance. I didn't set the server up, so came into it assuming that the tiny amount of RAM the previous maintainer had given it was the problem.

                                        Turns out all of the major AI slop companies had been hounding our wiki constantly for months, and this had resulted in Apache spawning hundreds of instances, bringing the whole machine to a halt.

                                        Millions upon millions of requests, hundreds of GB's of bandwidth. Thankfully we're using Cloudflare so could block all of them except real search engine crawlers and now we don't have any problems at all. I also made sure to constrain Apache's limits a bit too.

                                        From what I've read, forums, wikis, git repos are the primary targets of harassment by these companies for some reason. The worst part is these bots could just download a git repo or a wiki dump and do whatever it wants with it, but instead they are designed to push maximum load onto their victims.

                                        Our wiki, in total, is a few gigabytes. They crawled it thousands of times over.

                                        • toast0 9 minutes ago

                                          > this had resulted in Apache spawning hundreds of instances, bringing the whole machine to a halt.

                                          Ugh, such a weird design. At least my experience has been you are better off setting Apache to always run the same number of instances, and tuning that number as appropriate rather than having the instance count fluctuate under load.

                                          • lloydatkinson 7 minutes ago

                                            Yeah, I did suggest nginx in the past for this project and I think I'll consider it after this saga. For now I've set pretty low limits on Apache.

                                          • lithos 8 minutes ago

                                            Forum/Wiki content probably more likely to be old enough to be from preAI days, meaning they get to avoid the AI inbreeding problem.

                                            Git content likely to have code for the bot to train on.