~sfr/cassini

a gemini ring written in go
Add option to show list on index page
Remove ioutil dependency
Document functions according to godoc spec

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~sfr/cassini
read/write
git@git.sr.ht:~sfr/cassini

You can also use your local clone with git send-email.

#cassini

cassini is a gemini ring written in go. it's like a webring, except it connects the geminispace instead of the web.

cassini is being developed for the Fediring, a ring for members of the fediverse.

#usage

$ go build
$ ./cassini --cert /path/to/certificate --key /path/to/privkey [--port 1965] [--list ring.txt] [--index index.gmi]

the optional --port/-p argument allows you to bind cassini to a different port. if unset, cassini will listen on port 1965, the default gemini port.

the optional --list/-l argument allows you to specify the path of a plaintext file containing the list of capsules. if unset, cassini will look for a ring.txt on the same directory where it resides.

the optional --index/-i argument allows you to specify a gemtext file to serve when requesting the root directory of your domain. if unset, cassini will look for an index.gmi on the same directory where it resides.

the plaintext file should contain a list of key-value pairs, where the key is a unique username and the value is a gemini URL, like so:

user1 gemini://example.org/1
user2 gemini://example.net/~user2
user3 gemini://example.com/welcome.gmi

the index file can optionally contain the keyword {{ list }}, which will be substituted for a list of all members in the list.

#linking

  • gemini://example.org/next/<user> to go to to the next capsule in the ring
  • gemini://example.org/previous/<user> to go to to the next capsule in the ring
  • gemini://example.org/random to jump to a random capsule

#contributing

send patches to the mailing list. prefix patches with "[PATCH cassini]".