💾 Archived View for auragem.letz.dev › misfin-server captured on 2024-03-21 at 15:08:48. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
Misfin-server is a mailserver written in golang that supports the Misfin(B) and the informal Misfin(C) specs. It is licensed as BSD-3-Clause.
You can find more info on Satch's misfin page, and Lem's original misfin capsule:
Misfin: a smallnet messaging protocol
If you have any questions, send a misfin mail to clseibold@auragem.letz.dev, or an email to christian.seibold32@outlook.com.
Available misfin clients for fetching and reading your mail from your mailserver include:
Skylab (works with both misfin-server and cipres' misfin server implementation)
More on GMAP here:
The Gemini-Misfin Access Protocol (GMAP)
We have a federated mailinglist for misfin, hosted by tilde.green, AuraGem, and Satch. All three of these servers are federated with each other.
You can setup your own instance of the misfin federated mailinglist by contacting Satch, Jmjl, or me on the misfin mailinglist, or via the ##misfin libera.chat IRC.
You can see AuraGem's misfin server geminimail interface here, including its public mailinglists:
AuraGem Misfin Geminimail Interface
User mailbox registrations are not open at the moment. Instead, one could register at these places:
Tilde.Green, Available to Pubnix Members Only
You can find precompiled binaries here, for Linux and Windows:
To build, install golang and run the following command:
go install gitlab.com/clseibold/misfin-server/misfin-server@master
You can also clone the repo and run `go build ./...` instead.
Before you can run the server, you must initialize it. This will create your configuration and your certificates. All certificates of mailboxes and mailinglists will be stored on the server. To initialize, run the init subcommand, giving it an optional filepath to save your config to (defaults to current directory):
misfin-server init [config_filepath]
When using a custom config_filepath, you will need to pass it to every command from here on out.
The init subcommand will interactively guide you through setting up your configuration, asking for the hostname, port, bind address, and the directory to store mailboxes.
Once this is done, create your first mailbox (see below), and then you can start the server with the following command, passing in an optional config filepath (defaults to current directory):
misfin-server serve [config_filepath]
You can create a user mailbox by running the following command while the server is down:
misfin-server make mailbox [config_filepath]
It will interactively prompt you for mailbox information.
You can set your new mailbox to be a server admin by running the following command:
misfin-server config mailbox type admin
Misfin-server comes with an optional geminimail interface where users can read their mail via gemini. You can enable the gemini interface by shutting down the server and running the following command:
misfin-server config server gemini-permission public
You can choose to replace "public" with "member-only" or "admin-only" to restrict access to the interface to those with mailboxes on the mailserver or those who are configured as admins.
Start the server back up. You can now navigate to the gemini interface on the misfin port (1958).
You can allow registration through the gemini interface by shutting down the server and running the following command:
misfin-server config server gemini-user-registration-permission public
You can replace "public" with "admin-only" to restrict registration to admins only.
An admin can create a mailinglist or newsletter with the `make mailinglist` and `make newsletter` subcommands:
misfin-server make mailinglist [config_filepath]
The command will guide you through options to setup the new mailbox. It will prompt you for two permission settings.
This permission controls who can send to the mailinglist.
This permission controls who can sub and whose subscriptions are automatically accepted.
You can set a sub's type to admin or writer by running the following command (while the server is not running):
misfin-server config mailinglist-sub <mailinglist_name> <sub_address> type admin
Replace "<mailinglist_name>" with the name of the mailinglist. Replace "<sub_address>" with the address of the subscriber you are modifying. Options for the user's type include "admin", "writer", or "user".
Admins can modify the settings of the mailinglist, delete messages in the archive, and can always send to a mailinglist. Writers can send to mailinglists when the send permission is set to "writers". User's are normal subscribers who may or may not be able to send on the mailinglist (depending on the send permission), but can always receive messages from the mailinglist.
You can set the archive view permission on mailinglists to determine who is allowed to see the archive of a mailinglist via the gemini interface. The subcommand is:
misfin-server config mailbox <mailinglist_name> archive-view-permission public
Replace "<mailinglist_name>" with the mailbox name of the mailinglist. Options for the permission value include "open", "subs", "admin-only", or "disabled". The default is "subs".
You can find more docs on the README document: