Private social networks using Secure ScuttleButt

Secure ScuttleButt

Secure ScuttleButt (SSB) is a P2P social network that stores all of an individual’s data on their own device. It has all of the features of diaspora* except aspects. In addition, it also has “gatherings” to organize events.

SSB is an offline-first protocol that delivers its messages over various channels - LAN discovery, bluetooth, tor, cjdns etc. If two nodes on the network cannot connect to each other over these transports, they can talk through a public relay called “pub” which is a server on the internet.

This thread is to discuss the use cases of SSB and its relevance to FreedomBox.

Our experience with SSB so far

First discussion about ScuttleButt on the mailing list
https://alioth-lists.debian.net/pipermail/freedombox-discuss/2018-March/008336.html

My personal notes on SSB
https://njoseph.me/mediawiki/SSB

I have started experimenting with the Patchwork and Manyverse clients of SSB.

Use cases

Family social network

  1. FreedomBox users can already use ScuttleButt as a local social network at home to share photos and documents, create events etc. I think the private message feature can even be used like chat threads.
  2. Someone away from home can create posts on their SSB client and sync them to other family members after coming home. Relatives visiting and syncing photos is a classic use case in ScuttleButt.

Hosting an SSB Pub on FreedomBox

FreedomBox can potentially host an SSB pub (see mailing list thread above) since it’s publicly reachable over the internet. This allows the possibility to form private social networks with people located far away and also allows syncing with less delay.

Local social network in Community Wi-Fi networks

FreedomBox Community Wi-Fi networks (universities and villages) are basically large LANs where ScuttleButt network discovery and sync would work very well. People can form local social networks without dependence on any centralized servers. It can be used as a digital noticeboard, discussion forum etc.

Host ScuttleButt data directory on FreedomBox

ScuttleButt creates a new keypair on each new installation by default. This means, your desktop account and mobile account are essentially different accounts. Hosting the data directory .ssb on the FreedomBox and accessing the web interface through a browser can possibly solve this problem. Patchfoo is a client that can be used for this purpose. Multiple users can be supported too, each with their own .ssb directory.

References

Official website
https://www.scuttlebutt.nz/

FAQ
https://www.scuttlebutt.nz/faq/

Technical documentation
https://ssbc.github.io/docs/


I encourage some of the power users in our community to try it out and come up with more use cases. We should also find out the best privacy settings for this network.

The reference implementation is in NodeJS :zipper_mouth_face: and the Android app called Manyverse is still in Beta.

2 Likes

One of the problems with SSB is that the “pub” and “room” servers should switch names.

Pub servers are extremely intimate because they actually host and save everyone’s feeds. So they’re more like someone’s home.

Room servers are public meeting places that only connect user feeds to each other when users are online at the same time. So quite literally, they are like real life pubs.

Overall, SSB has a long way to go to be user friendly. Right now, it’s very opaque how data is handled on the network. Who is able to see your stuff is very mysterious. Because of that, I think it’s not a good fit for grandma, right now.

It’s sad because SSB gets so much very very right.

1 Like

Stumbled upon this today

A functioning, single-user, self-hosted Secure Scuttlebutt web server!

Self-hosting an SSB client on a FreedomBox allows access from multiple devices.
We might be able to create one instance for each FreedomBox user as well.

Another alternative for self-hosting SSB has been suggested on our Matrix channel.

Oasis can be hosted on a FreedomBox and accessed from multiple devices using a web browser. The installation will be very similar to Syncthing (another P2P application). Our current SSO mechanism should work with this.

2 Likes