A moderation tool for Matrix
Go to file
Travis Ralston 130e44abcf Remove ban on sight from phase 1
We can only do ban on sight because it's impossible to ban `@*:example.org` without knowing what `*` is.
2019-09-27 19:53:53 -06:00
config Add commands for managing a personal ban list 2019-09-27 15:44:28 -06:00
src Fix rules list not being closed 2019-09-27 19:53:24 -06:00
.dockerignore Absolute bare minimum for a bot 2019-09-25 20:13:20 -06:00
.gitignore Absolute bare minimum for a bot 2019-09-25 20:13:20 -06:00
Dockerfile Absolute bare minimum for a bot 2019-09-25 20:13:20 -06:00
LICENSE Initial commit 2019-09-25 19:36:12 -06:00
package.json Add a command to dump the rules the bot is using 2019-09-27 15:57:39 -06:00
README.md Remove ban on sight from phase 1 2019-09-27 19:53:53 -06:00
tsconfig.json Absolute bare minimum for a bot 2019-09-25 20:13:20 -06:00
tslint.json Fix tlsint 2019-09-27 13:54:34 -06:00
yarn.lock Add a command to dump the rules the bot is using 2019-09-27 15:57:39 -06:00

mjolnir

A moderation tool for Matrix.

Features

TODO: Describe what all this means.

Phase 1:

  • Ban users
  • ACL servers
  • Update lists with new bans/ACLs

Phase 2:

  • Synapse antispam module
  • Riot hooks (independent of mjolnir?)
  • Support community-defined scopes? (ie: no hardcoded config)
  • Vet rooms on startup option
  • Room upgrade handling (both protected+list rooms)

Docker (preferred)

Mjolnir does not yet have its own image published.

git clone https://github.com/matrix-org/mjolnir.git
cd mjolnir

docker build -t mjolnir .

# Copy and edit the config. It is not recommended to change the data path.
mkdir -p /etc/mjolnir
cp config/default.yaml /etc/mjolnir/production.yaml
nano /etc/mjolnir/production.yaml

docker run --rm -it -v /etc/mjolnir:/data mjolnir

Build it

This bot requires yarn and Node 10.

git clone https://github.com/matrix-org/mjolnir.git
cd mjolnir

yarn install
yarn build

# Copy and edit the config. It *is* recommended to change the data path.
cp config/default.yaml config/development.yaml
nano config/development.yaml

node lib/index.js

Development

TODO. It's a TypeScript project with a linter.