Comment by denysvitali

1 hour ago

Cloudflare is known to use fingerprinting to detect scrapers For example, they use JA3 fingerprints and match them against the UA to block stuff like cURL while allowing OkHttp (Android clients) - but this can be easily be spoofed with packages such as CycleTLS [1].

I don't want to defend them, because they gate away a good chunk of the internet with their "bot protection", but unless you do PoW (which is also ecologically a nightmare), probably fingerprinting is the way to go - completely destroying the privacy of everyone involved.

Cromite, a privacy conscious fork of Chromium for Android, has constantly issues with CloudFlare Turnstile [2] because they (Cloudflare) try to fingerprint it in multiple ways in order to pass the challenge. The only way to get it to work would be to join the CloudFlare Browser Developer program - which requires signing an NDA. Rightfully so, the project maintainer didn't want to do it.

If you want to see the extent of what CloudFlare does to fingerprint the browsers, just have a look in the issue [2] and see which flags need to be disabled in order to allow CloudFlare to pass the challenge.

I understand both sides, but at least CloudFlare could be flexible enough to fall back to PoW instead of just blocking people from sending forms or accessing websites...

[1]: https://github.com/Danny-Dasilva/CycleTLS

[2]: https://github.com/uazo/cromite/issues/2365

it's all for nothing, because Cloudflare's scraping protection works about as well as a $5 padlock - good enough to dissuade bored teens, not good enough to dissuade even an amateur burglar. if someone wants to scrap your publicly visible data, they will. there's nothing you can do.

  • At the same time: it sure works well enough to annoy anyone with a "bad ASN" IP with 80 captchas a day.

    • exactly that's what I was thinking... like the day they provided a solution to the issue they posed

This is why I have two separate browsers. If you want to do official stuff like paying for things you need to get through cloudflare.

  • You can use Firefox with different profiles and configure it to launch particular profile directly, without launching default profile and using about:profiles.

    Firefox with a non-default profile can be created like that:

      ./firefox -CreateProfile "profile-name /home/user/.mozilla/firefox/profile-dir/"
      # For, say, cloudflare that would be:
      ./firefox -CreateProfile "cloudflare /home/user/.mozilla/firefox/cloudflare/"
    

    And you can launch it like that:

      ./firefox -profile "/home/user/.mozilla/firefox/profile-dir/"
      # For cloudflare that would be:
      ./firefox -profile "/home/user/.mozilla/firefox/cloudflare/"
    

    So, given that /usr/bin/firefox is just a shell script, you can

        - create a copy of it, say, /usr/bin/firefox-cloudflare
        - adjust the relevant line, adding the -profile argument
    

    If you use an icon to run firefox (say, /usr/share/applications/firefox.desktop), you'll need to do copy/adjust line for the icon.

    Of course, "./firefox" from examples above should be replaced with the actual path to executable. For default installation of Firefox the path would be in /usr/bin/firefox script.

    So, you can have a separate profiles for something sensitive/invasive (linkedin, cloudflare, shops, banks, etc.) and then you can have a separate profile for everything else.

    And each profile can have its own set of extensions.

  • Firefox added profile switching recently. Works good.

    (That said, I still keep separate machines. One for doing "official" things, the other for everything else)

    • > Firefox added profile switching recently.

      I think this was as recent as 25 years ago?

      Recently they added some new UI (there was and still is (I think) classic UI), which you don't have to use anyway - see my comment above (a response to parent).

    • Odd - they've had that for years, but only on the command line. Wonder if it's different under the hood? They also have firefox containers which also never quite became a first-class feature (you have to install a plugin).

      1 reply →