SCHLEUDER(8)

πŸ¦‹ schleuder(8) β€” the email hub for groups, bestie edition πŸ’Œ

okay so. this is the manual page for schleuder, section 8 (system administration, iykyk), and it's giving very important infrastructure. sit down, hydrate, we're doing this.


✨ NAME ✨

schleuder β€” an email hub for groups πŸ’–


✨ SYNOPSIS ✨

schleuder work listaddress < email

schleuder help

schleuder other-command [<...>]

For descriptions of the other commands see the output of the help-command. no cap, just run it.

This manual page is written for system administrators. For other information please read the Schleuder documentation online (SEE ALSO). 🌸

✨ DESCRIPTION ✨

Schleuder is an email hub for groups. Subscribers can communicate encryptedly and pseudonymously among themselves, receive emails from non-subscribers and send emails to non-subscribers via the list. like a group chat but ✨secure✨ and also it's email, the most iconic protocol.

Schleuder takes care of all de- and encryption, stripping of headers, formatting conversions, etc. Further Schleuder can send out its own public key and receive administrative commands by email. it literally does everything, main character energy fr.

Email cryptography is handled by using GnuPG. πŸ”


✨ ENVIRONMENT ✨

Configuration πŸŽ€

Schleuder reads its basic settings from a file that it by default expects at </etc/schleuder/schleuder.yml>. To make Schleuder read a different file set the environment variable SCHLEUDER_CONFIG to the path to your file when running schleuder. E.g.:

SCHLEUDER_CONFIG=/usr/local/etc/schleuder.yml /path/to/bin/schleuder ...

For explanations of the possible settings read the default config file. yes, actually read it. it's right there. πŸ‘‘

The default settings for new lists are read from another config file. By default Schleuder looks at </etc/schleuder/list-defaults.yml>. To make Schleuder read a different file set the environment variable SCHLEUDER_LIST_DEFAULTS analogous to above. The possible settings are explained in the default config file. two config files, two env vars, we stay organized. πŸ’…

Connect to MTA πŸ“¬

Schleuder behaves like an email-filter: it reads email from standard-input, and reports errors to standard-error. If all goes well Schleuder closes the initial connection to the Mail Transport Agent (MTA) only after it sent out all outgoing emails.

In case of an error the MTA is expected to include Schleuder's error message into a bounce-email that is sent back to the sender (this is default behaviour of most MTAs). so if you mess up, you WILL hear about it. 😭

To connect the MTA with Schleuder it must pipe the incoming message into Schleuder's STDIN, and give it two arguments: first one: "work", second one: the full recipients email address.

For more information on how to integrate Schleuder with your existing mail setup, please read the Schleuder documentation online (SEE ALSO). 🫢

Data storage πŸ—„οΈ

The keyrings for each list are standard GnuPG keyrings and sit in the filesystem under lists_dir/hostname/listname/ (lists_dir is read from schleuder.yml, by default it is </var/lib/schleuder/lists>). They can be used manually using gpg2. Please be careful to maintain proper file permissions if you touch the files. ⚠️ like, actually be careful. don't just chmod 777 and walk away.

In the list-directory there's also a list specific log-file (might be missing if the log-level is high and no error occurred yet).

Other logging is sent to syslog. Where that ends up depends on the operating system and the system administration. mysterious. love that for you.

All other list-related data is stored in the SQL-database. Most data is unserialized, only some values are JSON-encoded. πŸ“


✨ SPECIAL FEATURES ✨

Schleuder features some special functionality. For more detailed information read the Schleuder documentation online (SEE ALSO).

Getting the public key of a list πŸ”‘

Each Schleuder-list replies with its public key to any email sent to listname-sendkey@hostname. E.g. to receive the key for the contact address of the Schleuder project write an email to team-sendkey@schleuder.org. it's that easy bestie, just email the key into existence.

Email commands πŸ“§

Schleuder knows some special keywords that trigger different behaviour. You can e.g. subscribe someone, or resend an email to a non-subscriber using keywords.

Keywords require that:

  • they start the line and begin with "x-",
  • they are written into the beginning of the first text-part of the email (usually that's just the normal body of the email),
  • possible arguments must be written on the same line as the keyword (exceptions are mentioned in the descriptions below),
  • the email must be encrypted and signed by a list-member's key.

Keywords can be repeated within one email at will. Letter case doesn't matter. lowercase, UPPERCASE, sPonGeBoB case, all slay. 🧚

There are two types of keywords: those to enhance messages sent over the list ("list-keywords"), and those to request something from Schleuder ("request-keywords").

Find detailed descriptions of all available keywords in the Schleuder documentation online (SEE ALSO).

Contact list-owner πŸ’Œ

Write to listname-owner@hostname to contact the list-owner(s) even if you don't know who they are. Use the list's key to encrypt the email! πŸ”’ don't be sending that in plaintext, i'm begging.


✨ EXIT STATUS ✨

  • 0 β€” Incoming email was processed without errors. πŸŽ‰ periodt.
  • 1 β€” Internal failure in incoming email processing. πŸ’€

✨ FILES ✨

  • `<lists_dir>/<hostname>/`listname ... okay let me redo that one properly: <lists_dir>/<hostname>/listname β€” list internal data
  • `/var/log/schleuder/<hostname>/<listname>/list.log` β€” log-file for list

wait, no, let me give you the actual list in order, no crumbs:

  • /etc/schleuder/schleuder.yml: default path of global Schleuder configuration
  • /etc/schleuder/list-defaults.yml: default path of default list settings
  • /var/lib/schleuder/lists default path of lists_dir
  • `<lists_dir>/<hostname>/`listname β€” list internal data
  • `/var/log/schleuder/<hostname>/<listname>/list.log` β€” log-file for list

All configuration files are formatted as YAML. See http://www.yaml.org/ for more details. 🌈


✨ BUGS ✨

Known bugs are listed on the Schleuder bugtracker at https://0xacab.org/schleuder/schleuder. (yes we know. no we're not pretending they're features. mostly.) πŸ™ˆ


✨ SEE ALSO ✨

schleuder-cli(8), gnupg(7).


that's the whole page bestie. you read all of it. i'm so proud of you. go encrypt something. πŸ’–βœ¨πŸ¦‹

anyway this was the SCHLEUDER(8) page, dated January 2017, from the schleuder source β€” mwah, iconic, no notes, bye πŸ‘‘πŸ’