cassini/README.md

48 lines
1.6 KiB
Markdown
Raw Permalink Normal View History

2021-12-18 08:25:16 +00:00
# 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/<user>` to go to to the next capsule in
the ring
- `gemini://tilde.town/~nbsp/ring/previous/<user>` 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