One of the challenges that I'm working on is empowering people with consumer-class internet access (i.e., dynamic addresses) to run their own Fediverse servers. The Publish/Publisher and websocket components I've added to #SofaPub move in that direction.
This allows someone with broad connectivity to re-publish connections from users who are more limited.
In about 16 commands, I demonstrate installing #SofaPub, creating a new identity, responding to an external Follow request, sending a new Note ("Status" in Mastodon parlance), and then deleting everything from the remote server.
Everything in SofaPub is done from the command-line. I describe a couple of steps taken from the Serendipitous web interface to facilitate the interaction.
Network/DNS configuration (with TLS) is in place prior to this sequence.
@silverpill Thanks for the suggestion. I see a ton of Delete messages from Mastodon that seem to rely on the RsaSignature2017 signatures. Or maybe those are superfluous and they'll work with just the HTTP signature - I'll test that.
None of the libraries I find (sophia, json-ld) seem to be complete enough to help. Am I missing something obvious? I really don't know anything about JSON-LD, and the learning curve seems very steep (and honestly, I'm not sure the pay-off is worth it).
The JSON file is just an ActivityPub Create message I created by hand in Emacs.
Also uploaded sofapub to crates.io. You can install it with `cargo install sofapub` and run the executable right away. I'll update the documentation shortly to align with that usage.
Some table-stakes Fediverse work. Also added the ability to Like and be Liked, but I'm still finishing up the display elements.
Once I've finished that and done the same with Announce activities, I'll be back on the encrypted messaging (although I may get distracted with building a Helm package for everything). I'll also probably switch my primary account over to Enigmatick when that's done.
@alex Nice, I will! I'll open the repos soon, too.
I'm excited about the model I'm building on - all the privacy components are contained in WASM modules that can be imported and re-used in whatever ways someone might want. I'm trying to focus on building to enable other folks to make things look nice and to reduce their backend work.
@alex I'm experimenting with some end-to-end encryption ideas applied to Fediverse tech. I roughed out the concepts last month (essentially just applying Olm libraries to structures that work with ActivityPub). Now I'm building out the underlying platform (Rust and Svelte) to put things in to practice.
There's something enjoyable about watching the logs of something you've built operating as it's supposed to. Here I'm just exercising the infinite scrolling I added to my timeline this weekend.
@alex Translations (NIV, ESV, KJV, etc.) are copyrighted, but you can generally still find them in free Bible apps (I don't know what agreements are in place to facilitate that).