> Is there a way to limit the number of messages per hour per user as spam prevention?
Per hour limits require mod_firewall:
https://modules.prosody.im/mod_firewall.html
kikuchiyohas left
briesthas joined
kikuchiyohas joined
kikuchiyo
MattJ:
Please give your advise on an _anti-monologue firewall rule_ ...
`%RATE monologue: 0.0083 (burst 1800)`
`KIND: groupchat`
`LIMIT: monolouge`
`BOUNCE=policy-violation (Sending too much!)`
Would this firewall definition check if a user writes more than 15 times per half hour to a MUC on that prosody server?
kikuchiyohas left
kikuchiyohas joined
kikuchiyohas left
seandreashas left
seandreashas joined
kikuchiyohas joined
kikuchiyohas left
kikuchiyohas joined
insanityhas left
Douglas Terabytehas left
abidal3has left
Jonnyhas joined
kikuchiyohas left
kikuchiyohas joined
kikuchiyohas left
kikuchiyohas joined
kikuchiyohas left
Melhas left
Melhas joined
Melhas left
Melhas joined
kikuchiyohas joined
kikuchiyohas left
kikuchiyohas joined
kikuchiyohas left
benhas left
kikuchiyohas joined
benhas joined
schorschhas left
jayteeukhas left
jayteeukhas joined
jayteeukhas left
jayteeukhas joined
benharrihas left
benharrihas joined
benhas left
benhas joined
sonnyhas left
jayteeukhas left
jayteeukhas joined
jayteeukhas left
jayteeukhas joined
sonnyhas joined
stvnhas joined
lorddavidiiihas left
seandreashas left
Licaon_Kter
Typo in monologue kikuchiyo
perflysthas left
perflysthas joined
Beherithas left
derventiohas left
briesthas left
briesthas joined
jayteeukhas left
jayteeukhas joined
schorschhas joined
stvnhas left
stvnhas joined
jayteeukhas left
jayteeukhas joined
MattJ
kikuchiyo,
KIND: message
TYPE: groupchat
jayteeukhas left
jayteeukhas joined
MattJ
Are you trying to limit per MUC, or per user?
ksuxat.has left
ksuxat.has joined
benharrihas left
benharrihas joined
schorschhas left
schorschhas joined
dianehas left
jayteeukhas left
jayteeukhas joined
benharrihas left
benharrihas joined
jayteeukhas left
jayteeukhas joined
jayteeukhas left
jayteeukhas joined
jayteeukhas left
jayteeukhas joined
jayteeukhas left
jayteeukhas joined
sakhmatdhas joined
jayteeukhas left
jayteeukhas joined
mehdihas joined
Beherithas joined
sakhmatdhas left
stvnhas left
stvnhas joined
sakhmatdhas joined
sakhmatdhas left
benharrihas left
mehdihas left
schorschhas left
schorschhas joined
mehdihas joined
jayteeukhas left
jayteeukhas joined
andrey.utkinhas left
schorschhas left
schorschhas joined
jayteeukhas left
jayteeukhas joined
sakhmatdhas joined
stvnhas left
stvnhas joined
stvnhas left
stvnhas joined
argon3771has left
argon3771has joined
jayteeukhas left
jayteeukhas joined
jayteeukhas left
jayteeukhas joined
jayteeukhas left
jayteeukhas joined
jayteeukhas left
jayteeukhas joined
kikuchiyo
MattJ: per user per MUC
Melhas left
abidal3has joined
jayteeukhas left
jayteeukhas joined
kikuchiyo
MattJ: The idea is to prevent single users from impolitely dominating public MUCs without getting answers from other participants.
jayteeukhas left
jayteeukhas joined
kikuchiyo
Licaon_Kter: soliloquy?
mehdihas left
mehdihas joined
jayteeukhas left
jayteeukhas joined
Melhas joined
carloshas left
carloshas joined
jayteeukhas left
jayteeukhas joined
stvnhas left
stvnhas joined
benharrihas joined
perflysthas left
jayteeukhas left
jayteeukhas joined
mehdihas left
mehdihas joined
jayteeukhas left
jayteeukhas joined
jayteeukhas left
jayteeukhas joined
perflysthas joined
mehdihas left
mehdihas joined
jayteeukhas left
jayteeukhas joined
jayteeukhas left
jayteeukhas joined
schorschhas left
jayteeukhas left
jayteeukhas joined
benhas left
benhas joined
mehdihas left
mehdihas joined
insanityhas joined
insanityhas left
marc0shas left
jayteeukhas left
jayteeukhas joined
marc0shas joined
insanityhas joined
argon3771has left
cuchas joined
cuchas left
cuchas joined
argon3771has joined
mehdihas left
mehdihas joined
perflysthas left
stvnhas left
Pingu from Woodquarterhas left
cuchas left
cuchas joined
Pingu from Woodquarterhas joined
insanityhas left
mehdihas left
mehdihas joined
ajeremiashas joined
dropshas left
derventiohas joined
dropshas joined
stvnhas joined
Licaon_Kter
kikuchiyo: ?
Pingu from Woodquarterhas left
mehdihas left
mehdihas joined
Pingu from Woodquarterhas joined
mehdihas left
mehdihas joined
seandreashas joined
Melhas left
Melhas joined
insanityhas joined
colochonhas left
colochonhas joined
Pingu from Woodquarterhas left
ajeremiashas left
jayteeukhas left
jayteeukhas joined
jayteeukhas left
jayteeukhas joined
Pingu from Woodquarterhas joined
mehdihas left
mehdihas joined
jayteeukhas left
jayteeukhas joined
seandreashas left
seandreashas joined
derventiohas left
insanityhas left
jayteeukhas left
jayteeukhas joined
benhas left
benhas joined
Huxxhas left
cuchas left
cuchas joined
Huxxhas joined
cuchas left
cuchas joined
sgergerhas joined
argon3771has left
argon3771has joined
seandreashas left
insanityhas joined
ksuxat.has left
Pingu from Woodquarterhas left
lorddavidiiihas joined
sgergerhas left
derventiohas joined
Pingu from Woodquarterhas joined
insanityhas left
mehdihas left
mehdihas joined
perflysthas joined
insanityhas joined
insanityhas left
Pingu from Woodquarterhas left
Pingu from Woodquarterhas joined
insanityhas joined
jayteeukhas left
jayteeukhas joined
insanityhas left
insanityhas joined
mehdihas left
mehdihas joined
jayteeukhas left
jayteeukhas joined
jayteeukhas left
jayteeukhas joined
colochonhas left
colochonhas joined
mehdihas left
mehdihas joined
brilliancehas left
ezra-koschitzkyhas joined
stvnhas left
stvnhas joined
MattJ
kikuchiyo: and do you want to apply this to your users or your MUCs?
colochonhas left
Douglas Terabytehas joined
colochonhas joined
brilliancehas joined
kikuchiyohas left
jayteeukhas left
jayteeukhas joined
stvnhas left
jayteeukhas left
jayteeukhas joined
stvnhas joined
mehdihas left
mehdihas joined
perflysthas left
argon3771has left
mehdihas left
mehdihas joined
jayteeukhas left
jayteeukhas joined
argon3771has joined
jayteeukhas left
jayteeukhas joined
Douglas Terabytehas left
mehdihas left
mehdihas joined
Bakuninhas joined
Viktor Lindberghas left
Viktor Lindberghas joined
Bakuninhas left
mehdihas left
mehdihas joined
holgerhas left
holgerhas joined
mehdihas left
mehdihas joined
mehdihas left
mehdihas joined
kikuchiyohas joined
kikuchiyo
MattJ: public MUCs
argon3771has left
argon3771has joined
thndrbvrhas joined
mehdihas left
mehdihas joined
thndrbvrhas left
thndrbvrhas joined
Beherithas left
Beherithas joined
MattJ
Ok, then you need to load mod_firewall explicitly on the MUC component, and add the firewall_scripts option under it too
kikuchiyo
MattJ:
The longer I think about it, the more skeptical I am about whether the condition is the right approach.
Actually, the point is that the share of individual users in the overall communication of a public room should not get out of hand.
MattJ
Yeah
MattJ
You would probably be better with something like an adapted mod_muc_limits
perflysthas joined
sonnyhas left
insanityhas left
sonnyhas joined
kikuchiyo
MattJ:
Is it possible to base the action on several conditions?
kikuchiyo
How could I calculate the _share_ of an individual to use it as one of those conditions?
MattJ
Easier to do in a module than in a firewall script
MattJ
And do you want total share, or total within a given time period?
MattJ
It's not easy :)
ajeremiashas joined
kikuchiyo
> total within a given time period?
I think that would be the best way.
MattJ
Maybe the easiest is probably something like "no more than N messages in a row from a single occupant"
MattJ
Within a time period is tricky... after an hour of silence the first person to write would have a 100% share immediately
kikuchiyo
MattJ: Yes, I thought about that too, but then it would limit the possibility to run a news channel.
dropshas left
dropshas joined
vanitasvitaehas left
jayteeukhas left
jayteeukhas joined
vanitasvitaehas joined
jayteeukhas left
jayteeukhas joined
insanityhas joined
lorddavidiiihas left
insanityhas left
mehdihas left
mehdihas joined
kikuchiyo
> Within a time period is tricky... after an hour of silence the first person to write would have a 100% share immediately
There has to be a threshhold.
jayteeukhas left
jayteeukhas joined
jayteeukhas left
jayteeukhas joined
mehdihas left
mehdihas joined
insanityhas joined
Nils (10rokita)has left
ajeremiashas left
insanityhas left
jayteeukhas left
jayteeukhas joined
jayteeukhas left
jayteeukhas joined
Jonnyhas left
lorddavidiiihas joined
stvnhas left
stvnhas joined
Jonnyhas joined
mehdihas left
mehdihas joined
jayteeukhas left
jayteeukhas joined
mehdihas left
mehdihas joined
ajeremiashas joined
mehdihas left
mehdihas joined
Pingu from Woodquarterhas left
abidal3has left
kikuchiyo
> Maybe the easiest is probably something like "no more than N messages in a row from a single occupant"
If this rules counter would reset after an hour or so... It could fit the needs.
Nils (10rokita)has joined
mehdihas left
mehdihas joined
insanityhas joined
brilliancehas left
kikuchiyo
How about incremental delays (like brute force protection for passwords) ?
argon3771has left
argon3771has joined
jayteeukhas left
jayteeukhas joined
abidal3has joined
lorddavidiiihas left
sonnyhas left
sonnyhas joined
sonnyhas left
sonnyhas joined
Vaughanhas left
sonnyhas left
sonnyhas joined
sonnyhas left
perflysthas left
sonnyhas joined
sonnyhas left
perflysthas joined
kikuchiyo
MattJ:
`%RATE` values would have to depend on Nₜ messages per timeframe xor Nᵣ messages in a row for a single user.