Murdochite scans incoming Matrix connections and verifies that they do not allow unverified registration.
Generally it's suggested to set the version when building:
go build go build -ldflags="-X main.Version='$(git rev-parse --short HEAD)'" -trimpath -o murdochite main.go
Murdochite has a builtin help system that will allow you to get information on
most commands, help [command]
is the easy way to get access to that.
Once connected, murdochite will pretty much just do its own thing, logging things and executing configured actions.
If you want to manually scan something, use the scan
command.
Results are sent to the bots log channel.
Murdochite uses a toml file in its working directory for configuration.
You can find an example config in config.example.toml
.
Murdochite has three action types, all of which share a standard configuration
Name | Type | Description |
---|---|---|
type |
string |
The type of action to use |
message |
string |
The message to be passed along for this action (see below) |
duration |
int |
The number of things enacted by this action (see below) |
ignore_sasl |
bool |
Whether or not to skip SASLed users (ie, dont ban them) |
enabled |
bool |
Startup enable state of this action |
The X-Line action sets an X-Line on *\@homeserver.tld
. Which effectively
disables use of this homeserver entirely.
The K-Line action sets a K-Line on the connecting user's IP. This is slightly nicer than the X-Line action as it allows already connected users (or users that use SASL) though.
The Warn action allows you to log a message to the log channel when a connecting
user is coming from an unverified server.
It uses golang templates in its message
.
There are two special functions available to the template,
generateKLineTarget(ident, host)
and generateXLineTarget(homeserver_name)
.
These generate sane targets for the connecting user.
when executing the template, .
is a combination of the ActionArgs
and
ActionConfig
structs, with all fields available.