(getting to be) A minimal SSB client
  • Pony 98.6%
  • Makefile 1.4%
Find a file
2021-11-13 13:53:04 +01:00
tarida Print identity of incoming boxstream client 2021-11-13 13:53:04 +01:00
tarida_shs_integration Use initializers for libsodium 2021-11-09 10:35:51 +01:00
tarida_test Use initializers for libsodium 2021-11-09 10:35:51 +01:00
.gitignore Convert to standard pony app makefile 2021-11-09 10:46:11 +01:00
corral.json Make everything work for ponyc 0.45.0 2021-11-08 10:47:41 +01:00
LICENSE Add Readme, license 2020-02-14 11:55:24 +01:00
lock.json Make everything work for ponyc 0.45.0 2021-11-08 10:47:41 +01:00
Makefile Convert to standard pony app makefile 2021-11-09 10:46:11 +01:00
README.md Update readme 2021-11-09 12:17:29 +01:00
ssbjson Add custom json lib for validating SSB messages 2020-04-28 02:18:47 +02:00

Tarida

Tarida is an (in progress) minimal SSB server, written in Pony.

Roadmap

Not much planned right now. My first intention was to experiment with the SSB protocol. We'll see how it goes!

What's implemented?

  • Local network peer advertisement and discovery.
  • Secret Handshake protocol.
  • Box stream protocol (sending/receiving, chunking)
  • RPC protocol (sending/receiving, chunking)
  • gossip.ping
  • blobs.createWants

What's next?

  • Pub invites
  • Feeds (although probably using the GabbyGrove format).
  • Figure out how to do static binaries for linux, at least.
  • Identity persistence between runs (right now, tarida generates a new identity pair every time it's run).
  • Command line configuration (server/client mode, configuration folder, etc).

Build

Disclaimer: I've only been hacking on tarida in my free time, so I haven't put any effort on making it easy to install (sorry!). If I have time, I'll figure out how to build static binaries so users don't have to build tarida from source.

Tarida only works on OSX for now, although only for the lack of effort. Tarida depends on libsodium for the secret handshake protocol. To build tarida, first install libsodium, the Pony compiler, and the corral dependency manager.

After cloning the repo, download the dependencies with corral fetch, and then make. To run it, do ./build/release/tarida. A debug version can be built with make config=debug, and executed with ./build/debug/tarida.

The tests can be run with make tests. Integration tests for the secret handshake protocol can be built with make integration. This will build a shs_tarida binary under the build folder that you can use with shs1-test to run the tests.

Why Tarida?

A tarida was a small boat used to transport horses in Catalonia during the 14th century. In keeping with the tradition of naming SSB-related projects after nautical names, I decided to merge this tradition with an equine theme, after the programming language used for this project, Pony.

License

Tarida is licensed under the MIT license. For more information, check out the license.