~sfr/cassini

a gemini ring written in go

#4 show gemring on index page

~sfr commented on cassini todo

7 months ago

#2 detect and reparse updated list

~sfr commented on cassini todo

7 months ago

#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]".