annotate mod_throttle_unsolicited/README.markdown @ 5173:460f78654864

mod_muc_rtbl: also filter messages This was a bit tricky because we don't want to run the JIDs through SHA256 on each message. Took a while to come up with this simple plan of just caching the SHA256 of the JIDs on the occupants. This will leave some dirt in the occupants after unloading the module, but that should be ok; once they cycle the room, the hashes will be gone. This is direly needed, otherwise, there is a tight race between the moderation activities and the actors joining the room.
author Jonas Schäfer <jonas@wielicki.name>
date Tue, 21 Feb 2023 21:37:27 +0100
parents 476afcbfb3e9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2082
163d55777ad5 mod_throttle_unsolicited: Limit rate of unsolicited messages sent to non-contacts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 ---
4104
476afcbfb3e9 various: Add some dependency metadata
Kim Alvefur <zash@zash.se>
parents: 2324
diff changeset
2 rockspec:
476afcbfb3e9 various: Add some dependency metadata
Kim Alvefur <zash@zash.se>
parents: 2324
diff changeset
3 dependencies:
476afcbfb3e9 various: Add some dependency metadata
Kim Alvefur <zash@zash.se>
parents: 2324
diff changeset
4 - mod_track_muc_joins
2082
163d55777ad5 mod_throttle_unsolicited: Limit rate of unsolicited messages sent to non-contacts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 summary: Limit rate of outgoing unsolicited messages
2324
1424aa8877f0 mod_throttle_unsolicited: Add support for throttling unsolicited messages on incoming s2s connections
Kim Alvefur <zash@zash.se>
parents: 2082
diff changeset
6 ---
2082
163d55777ad5 mod_throttle_unsolicited: Limit rate of unsolicited messages sent to non-contacts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7
163d55777ad5 mod_throttle_unsolicited: Limit rate of unsolicited messages sent to non-contacts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 Introduction
163d55777ad5 mod_throttle_unsolicited: Limit rate of unsolicited messages sent to non-contacts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 ============
163d55777ad5 mod_throttle_unsolicited: Limit rate of unsolicited messages sent to non-contacts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10
2324
1424aa8877f0 mod_throttle_unsolicited: Add support for throttling unsolicited messages on incoming s2s connections
Kim Alvefur <zash@zash.se>
parents: 2082
diff changeset
11 This module limits the rate of outgoing unsolicited messages from local
1424aa8877f0 mod_throttle_unsolicited: Add support for throttling unsolicited messages on incoming s2s connections
Kim Alvefur <zash@zash.se>
parents: 2082
diff changeset
12 clients. Optionally, unsolicited messages coming in from remote servers
1424aa8877f0 mod_throttle_unsolicited: Add support for throttling unsolicited messages on incoming s2s connections
Kim Alvefur <zash@zash.se>
parents: 2082
diff changeset
13 may be limited per s2s conneciton. A message counts as "unsolicited" if
1424aa8877f0 mod_throttle_unsolicited: Add support for throttling unsolicited messages on incoming s2s connections
Kim Alvefur <zash@zash.se>
parents: 2082
diff changeset
14 the receiving user hasn't added the sending user to their roster.
2082
163d55777ad5 mod_throttle_unsolicited: Limit rate of unsolicited messages sent to non-contacts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15
163d55777ad5 mod_throttle_unsolicited: Limit rate of unsolicited messages sent to non-contacts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16 The module depends on [mod\_track\_muc\_joins] in order to allow sent
163d55777ad5 mod_throttle_unsolicited: Limit rate of unsolicited messages sent to non-contacts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17 messages to joined MUC rooms.
163d55777ad5 mod_throttle_unsolicited: Limit rate of unsolicited messages sent to non-contacts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
18
163d55777ad5 mod_throttle_unsolicited: Limit rate of unsolicited messages sent to non-contacts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19 Configuration
163d55777ad5 mod_throttle_unsolicited: Limit rate of unsolicited messages sent to non-contacts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
20 =============
163d55777ad5 mod_throttle_unsolicited: Limit rate of unsolicited messages sent to non-contacts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
21
2324
1424aa8877f0 mod_throttle_unsolicited: Add support for throttling unsolicited messages on incoming s2s connections
Kim Alvefur <zash@zash.se>
parents: 2082
diff changeset
22 To set a limit on messages from local sessions:
1424aa8877f0 mod_throttle_unsolicited: Add support for throttling unsolicited messages on incoming s2s connections
Kim Alvefur <zash@zash.se>
parents: 2082
diff changeset
23
2082
163d55777ad5 mod_throttle_unsolicited: Limit rate of unsolicited messages sent to non-contacts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
24 ``` {.lua}
163d55777ad5 mod_throttle_unsolicited: Limit rate of unsolicited messages sent to non-contacts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
25 unsolicited_messages_per_minute = 10
163d55777ad5 mod_throttle_unsolicited: Limit rate of unsolicited messages sent to non-contacts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
26 ```
2324
1424aa8877f0 mod_throttle_unsolicited: Add support for throttling unsolicited messages on incoming s2s connections
Kim Alvefur <zash@zash.se>
parents: 2082
diff changeset
27
1424aa8877f0 mod_throttle_unsolicited: Add support for throttling unsolicited messages on incoming s2s connections
Kim Alvefur <zash@zash.se>
parents: 2082
diff changeset
28 To enable limits on unsolicited messages from s2s connections:
1424aa8877f0 mod_throttle_unsolicited: Add support for throttling unsolicited messages on incoming s2s connections
Kim Alvefur <zash@zash.se>
parents: 2082
diff changeset
29
1424aa8877f0 mod_throttle_unsolicited: Add support for throttling unsolicited messages on incoming s2s connections
Kim Alvefur <zash@zash.se>
parents: 2082
diff changeset
30 ``` {.lua}
1424aa8877f0 mod_throttle_unsolicited: Add support for throttling unsolicited messages on incoming s2s connections
Kim Alvefur <zash@zash.se>
parents: 2082
diff changeset
31 unsolicited_s2s_messages_per_minute = 100
1424aa8877f0 mod_throttle_unsolicited: Add support for throttling unsolicited messages on incoming s2s connections
Kim Alvefur <zash@zash.se>
parents: 2082
diff changeset
32 ```