Skip to content

pteichman/ahoy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ahoy, team!

Ahoy is a command line client for the Spring '83 protocol: https://github.com/robinsloan/spring-83-spec

This code is currently targeting draft-20220616.md. I can't make any promises yet about the CLI or library interfaces breaking over time, but I like backward compatible software as much as you do.

Installing without this repo (just give me the command!)

Install the Go toolchain if you don't already have it: https://go.dev/dl/

And then:

$ go install github.com/pteichman/ahoy/cmd/ahoy@latest
$ ~/go/bin/ahoy --help

Building from a local clone

$ go build ./cmd/ahoy
$ ./ahoy --help

Server selection and authentication

Your Spring '83 identity is a text file containing the hex encoding of a private and public key, concatenated together. You can generate one of these files:

$ ahoy keygen
Checked 9361687 candidates in 22.79s
Pubkey: 47e0f417f42634b42917124c8c9709714ac28c632830c2f96f8e52beb83e0623
Wrote: spring-83-keypair-2022-06-18-47e0f417f426.txt

This keypair must remain private and cannot be regenerated if lost.

You pass your server and a reference to this keypair as command line flags to ahoy when performing remote operations. To replace a keypair's board with the contents of file:

$ ahoy --server=bogbody.biz --keypair=spring-83-keypair-2022-06-18-47e0f417f426.txt put <file>
Wrote 2134 bytes to https://bogbody.biz/47e0f417f42634b42917124c8c9709714ac28c632830c2f96f8e52beb83e0623

Future Work

Here are some example interactions that haven't been implemented yet. The Spring '83 server and keypair file are passed in the environment, though both can be passed as flags too.

Edit your board using $EDITOR:

$ ahoy edit

About

A playground for Spring '83 services

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages