Document OperServ NOTIFY and the notify_exclude relay filter
parent
c56e1b5b3a
commit
94668e7875
2 changed files with 31 additions and 1 deletions
|
|
@ -70,6 +70,12 @@ An audit channel for the incident feed. Notable actions are announced there; pri
|
||||||
[log]
|
[log]
|
||||||
channel = "#services"
|
channel = "#services"
|
||||||
|
|
||||||
|
`notify_exclude` is an optional list of masks whose users [OperServ NOTIFY](Services#operserv-network-operator-tools) never matches, so they cannot flood the feed. The classic case is PyLink relay clients — their nicks carry a `/network` suffix — so `"*/*"` silences every relayed user in one line. It accepts nick globs, `user@host`, or extbans (the same syntax as a NOTIFY mask), and is reloadable with `OperServ REHASH` (no restart).
|
||||||
|
|
||||||
|
[log]
|
||||||
|
channel = "#services"
|
||||||
|
notify_exclude = ["*/*"] # ignore PyLink relay clients (nick/network)
|
||||||
|
|
||||||
## [expire]
|
## [expire]
|
||||||
|
|
||||||
Inactivity expiry. Accounts not identified to, and channels not joined, past the threshold are dropped on a periodic pass. Opers, live sessions, occupied channels, and NOEXPIRE records are spared. A zero or omitted field leaves that kind never expiring.
|
Inactivity expiry. Accounts not identified to, and channels not joined, past the threshold are dropped on a periodic pass. Opers, live sessions, occupied channels, and NOEXPIRE records are spared. A zero or omitted field leaves that kind never expiring.
|
||||||
|
|
|
||||||
26
Services.md
26
Services.md
|
|
@ -24,7 +24,31 @@ SEND, LIST, READ, DEL. Memos are stored on the account and delivered whether or
|
||||||
|
|
||||||
## OperServ, network operator tools
|
## OperServ, network operator tools
|
||||||
|
|
||||||
AKILL and other X-lines, DEFCON, JUPE, SESSION limits and exceptions, IGNORE, GLOBAL, KILL, KICK, MODE, SVS tools, STATS, and LOGSEARCH over the incident log. Typed operator privileges gate each command.
|
AKILL and other X-lines, FORBID, SPAMFILTER, NOTIFY, DEFCON, JUPE, SESSION limits and exceptions, IGNORE, GLOBAL, KILL, KICK, MODE, SVS tools, STATS, and LOGSEARCH over the incident log. Typed operator privileges gate each command.
|
||||||
|
|
||||||
|
### NOTIFY, an operator watch list
|
||||||
|
|
||||||
|
`NOTIFY ADD +<expiry> <flags|*> <mask> <reason>` watches a mask; matching users have their flagged events announced to the staff feed (as DebugServ, tagged `[NOTIFY]`). Also `DEL <mask|number>`, `LIST`/`VIEW [pattern]`, and `CLEAR`. Admin only.
|
||||||
|
|
||||||
|
- **Mask** — a `nick!user@host` pattern, a bare nick glob (`baddie*`), or a `#channel` (watches everyone who joins a matching channel).
|
||||||
|
- **Flags** — `c` connect, `d` disconnect, `j` join, `p` part, `n` nick change, `t` topic, `s` services command, `S` services SET; `*` for all.
|
||||||
|
- **Expiry** — `+30d`, `+12h`, `+45m`, or `+0` for permanent.
|
||||||
|
|
||||||
|
/msg OperServ NOTIFY ADD +0 cdn baddie*!*@* known ban-evader
|
||||||
|
/msg OperServ NOTIFY ADD +7d j #recruiting watch who joins during the drive
|
||||||
|
|
||||||
|
**Keeping relay clients out of the feed.** A broad watch — a channel watch especially — will match every PyLink-relayed user (their nicks carry a `/network` suffix) and flood the log. Set the exclude list once and reload it live, no restart:
|
||||||
|
|
||||||
|
# in config.toml
|
||||||
|
[log]
|
||||||
|
channel = "#services"
|
||||||
|
notify_exclude = ["*/*"] # any nick with a "/" is a relay client
|
||||||
|
|
||||||
|
# then, as an operator:
|
||||||
|
/msg OperServ REHASH
|
||||||
|
-OperServ- Configuration reloaded from /etc/echo/config.toml.
|
||||||
|
|
||||||
|
Excluded users are skipped by *every* watch, so genuine locals still surface while the relay noise is gone. The list also accepts `user@host` and extbans, e.g. `["*/fun", "*!*@relay.example"]`. See [Configuration → [log]](Configuration#log).
|
||||||
|
|
||||||
## StatServ, statistics
|
## StatServ, statistics
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue