-- Leo's gemini proxy

-- Connecting to auragem.letz.dev:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini; lang=en

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


Basic Geminimail interface to read mail [Sending short mails from the interface coming soon]

Mailinglists and Newsletters

Mailinglist Federation Support

GMAP support - a protocol for fetching messages from a mailbox on a mailserver (similar to IMAP/POP3)

Inbox, Archive, and Trash folders

Unread tags, and custom tags

Mailinglist Subs can exclude themselves from receiving messages with particular labels in their subject

Mailinglist permissions to control who can subscribe, who can send to the mailinglist, and who can view the mailinglist's archive.

Security: Max Concurrent Connections Limit, Rate-limiting (enabled by default) [IP Blocking coming soon]


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.

Subs - the default for mailinglists. Only subs can send to the mailinglist.

writers - the default for newsletters. Only designated writers or admins can send to the mailinglist.

open - anyone can send, even if not a sub.


The Subs Function


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

accept-all - auto-accepts everyone as a sub who sends a subscribe message. Mailinglist will be publicly visible on the gemini interface (if enabled), but the archive permission must be set to show the archive (see below).

accept-server-members - auto-accepts those with a mailbox on the same server as the mailinglist.

closed - auto-rejects everyone.

prompt - prompts the admin to manually accept. This is NOT implemented yet.


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

-- Response ended

-- Page fetched on Fri May 10 01:14:25 2024