- Rust 97.9%
- Makefile 2.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| data | ||
| src | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
Castor
A graphical client for plain-text protocols written in Rust with GTK. It currently supports the Gemini, Gopher and Finger protocols.
Gemini:
Gopher:
Finger:
Gemini with some theming:
Installation
Castor needs a recent Rust version >= 1.39. Please consider using Rustup if you OS does not package a recent version.
Dependencies
You will need some development libraries:
- openssl
- gtk+3
- gdk-pixbuf
- pango
- atk
- cairo
Build and install
- run
maketo build Castor - install with
sudo make install - Open Castor and visit gemini://gemini.circumlunar.space and enjoy your trip!
Building on Ubuntu
- apt install build-essential rustc cargo libgtk-3-dev libgdk-pixbuf2.0-dev libssl-dev
- make and make install
Building on MacOS
See instructions here
Building on Windows
See instructions here
Changing settings
You can change some settings like initial URL, colors and delimiters for Headers, Lists, Text and Background.
Edit ~/.config/castor/settings.toml and add the values you need.
These are the keys currently supported, you can use hex codes, plain colors names or even emojis!
[general]
start_url = "gemini://gemini.circumlunar.space/capcom"
max_width = 200
[colors]
h1 = "red"
h2 = "#FF6347"
h3 = "green"
list = "#C71585"
text = "#FF1493"
background = "#FFC0CB"
[colors.quote]
foreground="#e4e4e4"
background="grey"
[characters]
h1 = ">"
h2 = "))"
h3 = "}}}"
list = "🌼 "
[fonts]
[fonts.finger]
family = "monospace"
size = 11
[fonts.gemini.text]
family = "serif"
size = 11
[fonts.gemini.h1]
family = "sans"
size = 16
style = "normal"
[fonts.gemini.h2]
family = "monospace"
size = 13
style = "italic"
[fonts.gemini.h3]
family = "monospace"
size = 12
[fonts.gemini.list]
family = "sans"
size = 11
style = "oblique"
[fonts.gemini.quote]
family = "sans"
size = 10
style = "italic"
[fonts.gopher]
family = "monospace"
size = 11
Using client certificate
Castor expects your certificates to be placed in your home directory and named after the gemini capsule domain.
For example to water your plant on gemini://astrobotany.mozz.us/plant you will need to have astrobotany.mozz.us.crt
and astrobotany.mozz.us.key available in your home.
Mailing list
If you have questions, feature requests, bugs or you just want to keep up to date with Castor you can send a message to the mailing list
Roadmap
You can view my current roadmap here
Thanks
- Leonora Tindall for the great article on Rust and GTK that helped me bootstrap this project
- tiwesdaeg for the incredible icon
- sloum for the great advices
- the gemini/gopher/finger community for being awesome



