#Fedify finally has a step-by-step tutorial! It's perfectly fine if you're not familiar with the #ActivityPub protocol or the #Deno runtime. Here's the link for beta readers:
@hongminhee I wonder if fedify could rely on Kitsune-lib by @0x0 for some of its low level fundamentals, e.g. http signatures: https://github.com/kitsune-soc/kitsune/tree/main/lib/http-signatures
@erlend @hongminhee If there is interest, we can totally chat about it. I think there are some nice bridges like napi
that offer a nice binding between NodeJS <-> Rust, but I'm not sure about Deno (or if having a Node.js plugin would be good enough?)
@0x0 @hongminhee alternatively, could Kitsune modules possibly be compiled as wasm packages for fedify to import without special bindings?
@erlend @hongminhee depends on the module. when disabling the easy
module, it could totally compile to wasm i think. the easy module depends on rayon
to asyncify the cryptography which doesn't play well with wasm (because it spawns threads)
@erlend @hongminhee well, its something we can figure out if there is interest in collaborating on that.
then we can figure out the logistics of packaging these things in something that can be distributed well
@hongminhee @erlend it's up to you whether you'd want to introduce it. Me and @perillamint looked at all the things that could go wrong with HTTP signatures and designed the checks in a way that only well formed requests would be allowed through.
The parsing is also rather strict, working by lexing the header into tokens and then shoving them into a parser, so it might be a bit more robust than only string splitting, but I'm not sure how true that is. I guess fuzzing could find that out.
I still want to extend the test suite against cases that should be rejected and accepted.
So if you want to, we could make this a joint effort, getting more people on board and making a single implementation that is robust, tested, and correct.