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_YAMLWhere 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: bf71bb0d73bc3b0edfd0bd750f9e191c476773b3660d9ba86d658b49083e0623Alternatively you can specify the following environment variables respectively:
PORTSB_FEDERATESSB_FQDNSB_PROPAGATE_WAITSB_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:8000go 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.