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/listsdefault path oflists_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 β¨
- Website of schleuder β
https://schleuder.org/ - More extensive documentation for schleuder β
https://schleuder.org/docs/ - schleuder-cli, the command line interface for list-management β
https://0xacab.org/schleuder/schleuder-cli/ - schleuder-web, the web interface for list-management β
https://0xacab.org/schleuder/schleuder-web/
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 ππ
π¦ where this page comes from
- debian bookworm: schleuder 4.0.3-7+deb12u1 Β· GPL-3.0-only
- debian trixie: schleuder 5.0.1-2 Β· GPL-3.0-only
- ubuntu jammy: schleuder 3.6.0-4 Β· GPL-3.0-only
- ubuntu noble: schleuder 4.0.3-10 Β· GPL-3.0-only
- ubuntu resolute: schleuder 5.0.1-2 Β· GPL-3.0-only
- ubuntu stonking: schleuder 5.0.1-6 Β· GPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms