Misfin is a lightweight messaging protocol, similar to SMTP or WhatsApp. It uses mandatory TLS and the Gemini text format.
The active version of Misfin is called Misfin(C). The best place to talk about implementing misfin is the ##misfin channel on libera.chat
I (satch) am committed to keeping this page up-to-date, accurate and comprehensive. Please contact me at mail@satch.xyz with any corrections. This page was copied in large part from mk270's page.
Misfin(A) and Misfin(B) are two version of Misfin, created by Lem, the originator of Misfin, who is currently absent.
There is a community proposal for Misfin(C), negotiated between implementers via IRC. This is still in draft form. Misfin(C) is deliberately incompatible with Misfin(B). This means that conformant Misfin(B) servers will continue to enforce Misfin(B)'s stricter message length limits.
Misfin(C) is in no sense endorsed by Lem, the Misfin maintainer.
Current Misfin(C) proposal, "9th draft"
Informal Misfin(C) proposal with reasoning for changes
Minutes for IRC meeting on 2023-12-31
Official Misfin site (by Lem who is absent)
Misfin interoperability report
Skylab uses a Gemini frontend. It is a CGI program in Go.
This is a Gemini frontend for cipres' server written in Python.
No Active development (contact me if my categorization here is wrong):
clseibold's misfin-server in Go
alexlehm's misfin server in Java/Vert.x
No Active development:
gemmail-python library by clseibold
clseibold's gembox library in Go
clseibold's gemmail library in Go
clseibold's misfin_client library in Go
No Active development:
Dory, a misfin library in Rust by jeang3nie
(This list isn't necessarily up-to-date)
There are related protocols for dealing with these two issues: