Email or username:

Password:

Forgot your password?
4 posts total
Justin Thomas 🛡

I finally began documenting the #E2EE cryptosystem I'm implementing in #Enigmatick

gitlab.com/enigmatick/enigmati

Even though my implementation in Enigmatick is still a work-in-progress, I think I've settled on the big details enough that I can begin documenting the ideas. And my implementation is less important than getting the core ideas out there for thought and discussion.

Please use this issue for comments:

gitlab.com/enigmatick/enigmati

I finally began documenting the #E2EE cryptosystem I'm implementing in #Enigmatick

gitlab.com/enigmatick/enigmati

Even though my implementation in Enigmatick is still a work-in-progress, I think I've settled on the big details enough that I can begin documenting the ideas. And my implementation is less important than getting the core ideas out there for thought and discussion.

silverpill

@justin Am I understanding it correctly that client's secret keys are client-side encrypted and stored on the server (as olm accounts)? If so, which key is used for encryption?

Do clients sync their keys using those server-side encrypted accounts?

Justin Thomas 🛡

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.

This is a big addition and I haven't published it to crates.io yet. But the code is at gitlab.com/justindthomas/sofap.

#ActivityPub #Rust

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.

🎓 Dr. Freemo :jpf: 🇳🇱

@justin

I recently got ActivityPub working on simple static websites.. though im not sure anything learned there would help here...

Justin Thomas 🛡

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.

gitlab.com/-/snippets/3596125

#activitypub

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.

Justin Thomas 🛡

Successfully sent a message from my local #SofaPub server to myself at infosec.exchange. The command I used was:

cat ./hello_world.json | sofapub post infosec.exchange/inbox

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.

#Rust #ActivityPub

Go Up