misfin (is) mail (for the) small web
💬 📯 📬
misfin://hello@misfin.org What's up?\r\n
↓↓↓↓
20 1e:9f:11:e4:8f:aa:12:b3:cb...
What is Misfin ?
Misfin is to email what Gemini is to the Web. Set up a Misfin server alongside your Gemini capsule, and start networking with other capsuleers - no signup required. For the full details, see gemini://misfin.org/ .
A Misfin message is a single string of UTF-8 gemtext, no more than 2,048 characters long. Want to write more? Send two messages. What about attachments? Host it on a Gemini server and add a link line - you get the fingerprint of your recipient back, so you can even gate access if it's eyes only. Keeping Misfin mail simple makes it a better fit for the small web - it's easier to implement, easier to secure, and easier to keep running.
Implementation features
- Server with single or multi-mailbox modes
- Built-in gemini frontend: easy to use interface to read and compose messages
- i18n: the gemini frontend interface supports multiple languages (English, French, Castilian Spanish and Esperanto)
- Mailing lists
- Configurable rate-limiting (incoming messages, signup requests)
- Handles Misfin(B) and Misfin(C) requests
- At rest encryption (ECC, curve25519) for gembox messages
- Encrypted mail attachments
- AppImages for the following archs: x86_64 and aarch64 (works on Raspberry Pi)
List of known public misfin servers
Use a gemini browser to access a public misfin server and register an account.
Installation
AppImage
x64 (64-bit Intel/AMD)
An AppImage is available for x86_64 platforms, you can download it here. Here is how to install it in ~/.local/bin:
curl -L -o ~/.local/bin/misfin https://gitlab.com/cipres/misfin/-/releases/continuous-master/downloads/misfin-latest-x86_64.AppImage
chmod +x ~/.local/bin/misfin
arm64/aarch64 (64-bit Raspberry Pi)
An AppImage is available for arm64 platforms, you can download it here. Here is how to install it in ~/.local/bin:
curl -L -o ~/.local/bin/misfin https://gitlab.com/cipres/misfin/-/releases/continuous-master/downloads/misfin-latest-aarch64.AppImage
chmod +x ~/.local/bin/misfin
Manual install with pip
Supported python versions: >= 3.12, <= 3.14 (recommended version: 3.14).
Setup a virtualenv and install with:
pip install .
pybabel compile -d locale
Running pybabel compile -d locale is necessary to compile the translations catalog.
Documentation
Read the misfin documentation.
Systemd service
You can find an example of a systemd service file (provided by gritty) here.
Community resources
This is a list of gemlogs written by people who are using misfin.
- Setting up Misfin (written by @gritty from BBS): In this gemlog, gritty describes how to setup a misfin server and run it with a systemd service.
- Misfin: a smallnet messaging protocol (by satch)
- Misfin(C) proposal, draft 9