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.
$ 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.
gemini://example.org/next/<user>
to go to to the next capsule in the ringgemini://example.org/previous/<user>
to go to to the next capsule in the ringgemini://example.org/random
to jump to a random capsulesend patches to the mailing list. prefix patches with "[PATCH cassini]
".