2019-09-25 21:36:12 -04:00
|
|
|
# mjolnir
|
2019-09-25 22:13:20 -04:00
|
|
|
|
|
|
|
A moderation tool for Matrix.
|
|
|
|
|
|
|
|
## Features
|
|
|
|
|
|
|
|
TODO: Describe what all this means.
|
|
|
|
|
|
|
|
Phase 1:
|
2019-09-27 21:54:13 -04:00
|
|
|
* [x] Ban users
|
2019-09-27 17:44:28 -04:00
|
|
|
* [x] ACL servers
|
|
|
|
* [x] Update lists with new bans/ACLs
|
2019-09-25 22:13:20 -04:00
|
|
|
|
|
|
|
Phase 2:
|
|
|
|
* [ ] Synapse antispam module
|
|
|
|
* [ ] Riot hooks (independent of mjolnir?)
|
|
|
|
* [ ] Support community-defined scopes? (ie: no hardcoded config)
|
|
|
|
* [ ] Vet rooms on startup option
|
2019-09-27 18:14:40 -04:00
|
|
|
* [ ] Room upgrade handling (both protected+list rooms)
|
2019-09-27 22:01:54 -04:00
|
|
|
* [ ] Redact messages on ban (optional)
|
2019-09-25 22:13:20 -04:00
|
|
|
|
|
|
|
## Docker (preferred)
|
|
|
|
|
|
|
|
Mjolnir does not yet have its own image published.
|
|
|
|
|
|
|
|
```bash
|
|
|
|
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.
|
|
|
|
|
|
|
|
```bash
|
|
|
|
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.
|