a server and client implementing Spring '83
This server and client aim to track the latest drafts of the spring89 protocol specification. Currently this implementation is targetting draft-20220616.
You can see it in action at spring83.kindrobot.ca. (Come say hi!)
You can download precompiled binaries for your system / architecture from the releases tab.
Run ./springboard help
(or .\springboard.exe help
on Windows) to get started posting to a spring83 server.
An example:
./springboard generate-keys
echo "<p>Hello, world!</p>" > board.html
./springboard post https://spring83.kindrobot.ca < board.html
./springboard generate-keys
may take several minutes and use a lot of proccessing power.
By default, it will save the key pair to $HOME/.config/spring83
.
board.html
can be any valid-ish HTML5 document. It may not have scripts or
load externl resources. You should not put:
<time datatime="...">
in board.html
, springboard will do this for you.
The key format changed between draft versions. You may need to upgrade your client to v1 or greater, delete the contents of ~/.config/spring83
, and try again.
You can run a server with:
springboard serve PATH_TO_CONFIG_YAML
Where a the schema of the file at PATH_TO_CONFIG_YAML
is:
---
# port on which to serve this server
port: 8000
# boards to which to propagate new boards
federates:
- https://spring83.kindrobot.ca
- https://0l0.lol
- https://bogbody.biz
- https://spring83.mozz.us/
# who the server will say it is during propagation
fqdn: localhost:8000
# how long to wait until propagating a new board
propagate_wait: 5m
# the board to "pin" at the top
admin_board: bf71bb0d73bc3b0edfd0bd750f9e191c476773b3660d9ba86d658b49083e0623
Alternatively you can specify the following environment variables respectively:
PORT
SB_FEDERATES
SB_FQDN
SB_PROPAGATE_WAIT
SB_ADMIN_BOARD
Run PORT=8000 go run cmd/springboard serve
. PORT
is optional and defaults to 8000.
go run ./cmd/springboard generate-keys # will take a while, only need to run once
echo "<p>Hello, world!</p>" | go run ./cmd/springboard post https://localhost:8000
go to http://localhost:8000 while the server is running
Name | Lang | Instance |
---|---|---|
llimllib/springer | golang | |
michael-lazar/lets-dance | python | https://spring83.mozz.us |
rpj/spring83 | Javascript (NodeJS) | https://0l0.lol/ |
- this package was forked from llimllib/springer
- the protocol (and original newsletter) is/was by Robin Sloan
This work is released into the public domain.