# cassini cassini is a [gemini](https://gemini.circumlunar.space) ring written in go. it's like a [webring](https://en.wikipedia.org/wiki/Webring), except it connects the geminispace instead of the web. this version of cassini is a edit-rewrite-fork-thing of the [original](https://sr.ht/~nbsp/cassini), written a few years back, amended to use SCGI instead of run as its own server, for tilde.town. ## usage ```sh $ go build $ ./cassini [-socket cassini.sock] [-list ring.txt] [-index index.gmi] ``` the optional `-list` 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` 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://tilde.town/~nbsp/ring/next/` to go to to the next capsule in the ring - `gemini://tilde.town/~nbsp/ring/previous/` to go to to the next capsule in the ring - `gemini://tilde.town/~nbsp/ring/random` to jump to a random capsule ## license AGPL version 3 only