Need help?
<- Back

Comments (82)

  • vintagedave
    > In my experience the kinds of people who run this exact combination of circumstances also tend to be the kind of people that have a wide variance in the level of kindness they display to the authors of open source programs that happen to be in their way.Love this. There’s been past discussion on HN re how OSS maintainers are treated, and this is such a wry sentence. I really appreciate the tone / attitude to the problem.
  • kccqzy
    Hats off to Xe for spending so much time on backwards compatibility, especially the tidbit about targeting Chrome 66.I have a Mac from 2014 running Yosemite that I occasionally use to test for backwards compatibility in my own frontend code (for fun!). But IMO the best way to ensure compatibility is to use period-correct toolchains or toolchains where the pace of change is slower, like ClojureScript.
  • 0x696C6961
    It would be cool if the POW could be done ahead of time. That way I don't get stuck waiting while I'm working. Some type of credit/tokens that my browser could then spend.
  • omoikane
    > This means that adding one (1) to the difficulty of a challenge makes it 1024 (one thousand twenty-four) times as hard to solve in the worst case.I don't understand the units here, wouldn't a bit versus nibble difference make the multiplier 16, instead of 1024?
  • Aachen
    Is there a place where I can try out if my browser is compatible? Easier to find out now than when I'm trying to get work done and a million websites now have it deployedOn https://wasm-feature-detect.surma.technology it shows that I don't have 3 of all these features but I'm not sure if Anubis needs any of them to not kick me back to the pure JS solutionWhich would apparently be bad because> The WebAssembly that's shipped with this flow is ridiculously performant. This may mean you need to adjust the difficulty [upward, to avoid that bots solve it trivially when they support wasm, I assume this means]combined with> The wasm2js flow doesn't currently have a way to update the progress bar [so you have no clue about remaining time](wouldn't be the first time that I gave up on a page because it was stuck on 0 hashes per second)
  • jezek2
    Great article, WebAssembly is such a good technology when you have use case for it.I've just finished creating a WASM 1.0 implementation (simple JIT on x86 and x86_64) for plugin usage and I'm looking on how to support more languages beyond C (for which I have "micro-libc" to create really small binaries). In particular C++ and Rust so the article contains useful info for that. C++ that would be more problematic I think, would have to resort to full Emscripten or something... I've tried to compile standalone C++ stdlib but wasn't much sucessful yet.BTW, I see in the screenshots you also test Firefox, I think it would make sense to test the latest two ESR versions (these are often used by Linux distributions).
  • miraline
    The interesting part is that bots mitigation is actually an economic problem. You don't need to make scraping impossible, you only need to just make it expensive enough so that abusive traffic stops being worth it.
  • raincole
    It's still very unclear to me how Anubis is supposed to work in the long term or even the medium term. The assumption is that scrappers, a.k.a. AI companies, a.k.a. those who hog all the RAM, are short of memory...?
  • tefkah
    thanks for trying to make the web suck a little less these days xena!
  • anthoniks
    I think the idea is to just raise marginal costs for scraping high enough to make it expensive and non-profitable.
  • evmar
    I think the Rust feature you’re looking for regarding recompiling the standard library is called “build-std”, that should be enough for you to search for it. (For similar reasons you also need that flag if you are trying to use Rust to build multithreaded wasm binaries, so it might come up for you!)
  • arjie
    Anubis is fine if you want to block bots that are bothering you, but I never understood why they don't have robots.txt at the root level too. I happily obey that for my private crawler. I suppose you don't want to duplicate implementations. Fair enough. I guess I should add an Anubis detector so I can just blacklist because that person clearly doesn't want bots.
  • stephenlf
    Comparatively, this is what it's like getting all of this working across browser versions, platforms, and so many other things:…<img not found/>…I don’t know what this picture was supposed to be, but a 404 demonstrates your point perfectly well.
  • Retr0id
    See also:https://github.com/eternal-flame-AD/pow-buster - Browser extension that already used WASM to accelerate the anubis solver, among others.https://github.com/kasper93/anubis_webgpu - Browser extension that uses webgpu, for another order-of-magnitude speedup (depending on your GPU of course).
  • chews
    It's wild to me that PoW systems are how we sort the bot problem... the bummer is that all this "work" is just wasted cycles, at least in crypto there is a token you can sell.
  • kingstnap
    > hey Claude vibeslop me a CUDA Anubis solver" route is on its way to being fundamentally dead.Lmao yeah no. I don't think a little argon2 is going to change shit all.I mean the thesis of Anubis itself is "scrappers are compute limited (in ways that consumer devices are not)" which has its own massive flaws.
  • kevinbaiv
    [flagged]
  • kevinbaiv
    [flagged]
  • greatgib
    [flagged]