Schleuder
Schleuder is a gpg-enabled mailing list manager with resending-capabilities. Subscribers can communicate encrypted (and pseudonymously) among themselves, receive emails from non-subscribers and send emails to non-subscribers via the list.
It aims to be robust, flexible, internationalized and also provides an API for the optional web interface called schleuder-web.
For more details see https://schleuder.org/docs/.
Requirements
- ruby >=2.7
- gnupg >=2.2
- gpgme
- sqlite3
- openssl
- icu
- libcurl
If you use Debian buster, CentOS 7 or Archlinux, please have a look at the installation docs. We do provide packages for those platforms, which simplify the installation a lot.
We recommend to also run a random number generator like haveged. This ensures Schleuder won't be blocked by lacking entropy, which otherwise might happen especially during key generation.
Additionally these rubygems are required (will be installed automatically unless present):
- rake
- active_record
- sqlite3
- thor
- thin
- mail-gpg
- sinatra
- sinatra-contrib
Installing Schleuder
-
Download the gem and the OpenPGP-signature and verify:
gpg --recv-key 0xB3D190D5235C74E1907EACFE898F2C91E2E6E1F3
gpg --verify schleuder-5.0.0.gem.sig
-
If all went well install the gem:
gem install schleuder-5.0.0.gem
-
Set up schleuder:
schleuder install
This creates necessary directories, copies example configs, etc. If you see errors about missing write permissions please follow the advice given.
For further information on setup and configuration please read https://schleuder.org/schleuder/docs/server-admins.html.
Command line usage
See schleuder help
.
E.g.:
Commands:
schleuder check_keys # Check all lists for unusable or expiring keys and send the results to the list-admins. (This is supposed...
schleuder help [COMMAND] # Describe available commands or one specific command
schleuder install # Set up Schleuder initially. Create folders, copy files, fill the database, etc.
schleuder version # Show version of schleuder
schleuder work list@hostname < message # Run a message through a list.
List administration
Please use
schleuder-cli to create and
manage lists from the command line.
Optionally consider installing
schleuder-web, the web
interface for schleuder. It enables list-admins to manage their lists through
the web instead of using request-keywords.
Todo
See https://0xacab.org/schleuder/schleuder/issues.
Testing
We use rspec to test our code. To setup the test environment run:
SCHLEUDER_ENV=test SCHLEUDER_CONFIG=spec/schleuder.yml bundle exec rake db:init
To execute the test suite run:
bundle exec rspec
We are working on extendig the test coverage.
Contributing
Please see CONTRIBUTING.md.
Mission statement
Please see MISSION_STATEMENT.md.
Code of Conduct
We adopted a code of conduct. Please read CODE_OF_CONDUCT.md.
License
GNU GPL 3.0. Please see LICENSE.txt.
Alternative Download
Alternatively to the gem-files you can download the latest release as a tarball and its OpenPGP-signature.