1. 5
  1.  

  2. 1

    This sounds super interesting. SSB is kinda cool, but does require a network connection, so something airgapped would be nice.

    You may want to look into some of the work done by FreeNet, as they are able to transport FSK objects via sneakernet (Used to smuggle info in an out of North Korea).

    1. 1

      Nice find! Do you have any links to that work on the Clearnet?

      1. 1

        Well, crap. I did at one point, but they seem dead now :(

      2. 1

        That is odd, back when I spent more time on SSB, one of the things touted was that a network wasn’t needed. Updates could be done via a USB device by friends meeting at a pub, for instance. Has this changed?

        1. 1

          Maybe I’m incorrect? I thought it at least needed a wifi network in order to discover neghbors.

          1. 3

            I haven’t dug in enough to actually find process, but these two articles both reference using sneakernet as a medium for SSB updates.

            https://staltz.com/an-off-grid-social-network.html

            It’s even feasible to exchange latest news through sneakernet, using e.g. USB sticks.

            https://gopher.floodgap.com/gopher/gw?gopher://sdf.org:70/0/users/rusty/Post04-ssb

            You could save updates on a USB stick, give the stick to a friend & they could get the updated content.

            1. 3
              1. Despite having the capability to support Sneakernet, there are very few well supported plugins or packages for SSB that reliably support this. There have been discussions about it but if you actually want to replicate your SSB feed today without ever touching a UDP/TCP stack, your options are limited.

              2. Having a fully sneakernet-based protocol would be great for constrained / lightweight systems. Unfortunately, SSB as it is today is best suited for desktops that can run Electron type apps (or install Node/NPM). You will be able to find partial implementations of the SSB protocol in other languages, but if you read through the source, you will quickly find that they either a) only implement part of the protocol b) are just a thin wrapper to a NodeJS-based SSB server on the local machine. I think these folks are working on an early stage Rust alternate implementation. Also, projects like Manyverse are improving this situation for Android/iOS, but are still pretty early. I think the main reason for this stagnation is that SSB has a lot of moving parts and a JS-based reference implementation rather than a fully documented protocol (at least since I last checked). I also think this could be avoided by focusing only on the sneakernet-based use cases (and not worrying about the network related ones) while also designing the protocol from a spec rather than a reference implementation.

              TL;DR: The SSB of today supports sneakernet in theory, but not in practice. Furthermore, it does not supply a formal specification for implementations on constrained / non-Javascript systems.

              === DISCLAIMER ===

              I hope that readers of this comment do not interpret this as a criticism of the SSB protocol, but rather that I had some very specific requirements that SSB wasn’t really designed for. With that being said, it’s one of the best decentralized protocols in recent years and I use it daily. The SSBC is doing a great job of building a specific technology for a specific need

              === END DISCLAIMER ===

              1. 2

                Been using SSB for years now and never seen the USB approach, but I’m curious now.

                1. 1

                  This writeup had a reply that hit me:

                  BBSes did this all the time, via UUCP and QWK packets. This sounds like a great way to implement it, seeing as UUCP is designed just for this type of not-always-on connection.

                  Nothing says you cannot UUCP from a USB drive.

        2. 1

          I love SSB and it’s community! I hang on Patchwork more than irc :D (and I’ll continue doing so).

          What it comes down to is that I want to build on top of it and have struggled separating the spec from the implemented tangle of plugins and nodejs. I’m personally hoping that Pigeon will make it easier to build decentralized sneakernet apps that can later sync perhaps with SSB in the near future.