💾 Archived View for auragem.letz.dev › misfin-server captured on 2024-07-09 at 02:08:27. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2024-03-21)

-=-=-=-=-=-=-

Misfin-Server

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.

Misfin-Server Repo

You can find more info on Satch's misfin page, and Lem's original misfin capsule:

Misfin: a smallnet messaging protocol

Original Misfin Capsule

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:

misfinmail

Skylab (works with both misfin-server and cipres' misfin server implementation)

Features

More on GMAP here:

The Gemini-Misfin Access Protocol (GMAP)

Misfin Federated Mailinglist

We have a federated mailinglist for misfin, hosted by tilde.green, AuraGem, and Satch. All three of these servers are federated with each other.

Satch.xyz's Instance

Tilde.Green's Instance

AuraGem's Instance

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.

AuraGem's Misfin Server

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:

Satch's Misfin Server

Tilde.Green, Available to Pubnix Members Only

Hashnix.Club Misfin Server

Precompiled Binaries

You can find precompiled binaries here, for Linux and Windows:

/misfin-server/precompiled/

Installing/Building Misfin-Server

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.

Initialization

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]

Creating User Mailbox

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

Enable the Gemini Interface

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).

Allow Registration Via the Gemini Interface

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.

Creating Mailinglists or Newsletters

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.

The Send Permission

This permission controls who can send to the mailinglist.

The Subs Function

This permission controls who can sub and whose subscriptions are automatically accepted.

Setting Writers and Admins on Mailinglists

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.

Set Archive View Permission on Mailinglists/Newsletters

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".

More Docs

You can find more docs on the README document:

https://gitlab.com/clseibold/misfin-server