Tip of the day: Still not using a real SSL/TLS certificate? Check out Using Let's Encrypt with UnrealIRCd. |
Bans étendus
Extended bans can be used to match a client on criteria other than IP or hostname. For example /MODE #chan +e ~a:SomeAccount
can be used to add a ban exemption for someone who identified to services with SomeAccount. Extended bans can also be used to provide other "extended" functionality, such as blocking or censoring certain words in channels.
Les bans étendus sont un type spécial de bans (+b), d'exceptions (+e) et d'invitations (+I) qui fournissent des fonctionnalités avancées.
Ces bans commencent par un tilde (~) suivi par une lettre indiquant le type de ban étendu. Par exemple, +b ~q indique un ban étendu silencieux. UnrealIRCd est fourni avec un certain nombre de bans étendus (activés par des Modules). Des modules fournis par d'autres développeurs peuvent ajouter encore d'autres types.
UnrealIRCd comes with a number of built-in extbans (loaded through Modules). 3rd party modules may introduce even more types.
Group 1: time limit
The following ban type can be used in front of any (ext)ban:
Letter | Name | Module | Explanation | Example |
---|---|---|---|---|
t | time | extbans/timedban | Timed ban that will make a ban unset after the specified number of minutes. | +b ~t:3:*!*@hostname +b ~time:3:*!*@hostname |
Les types de bans suivant indiquent quelles actions (join, changement de nick ou messages) sont affectées par un ban :
Ban étendu | Module | Explication | Exemple |
---|---|---|---|
q | extbans/quiet | Les utilisateurs correspondants peuvent joindre mais ne peuvent pas parler, sauf si ils sont +v ou plus. | +b ~q:*!*@*.blabla.com |
n | extbans/nickchange | Les utilisateurs correspondants ne peuvent pas changer de nick, sauf s'ils sont +v ou plus. | +b ~n:*!*@*.aol.com |
j | extbans/join | Les utilisateurs correspondants ne peuvent pas rejoindre le salon, mais s'ils sont déjà dessus, alors toutes les activités (comme parler, changer de nick etc) sont autorisées. Ce ban est très utile pour bannir un FAI en entier, et inviter manuellement quelques personnes sur le salon et leur permettre de tout faire normalement après. | +b ~j:*!*@*.aol.com |
Ces types de bans introduisent de nouveaux critères utilisables :
Ban étendu | Module | Explication | Exemple |
---|---|---|---|
a | extbans/account | Si un utilisateur est connecté aux services avec ce compte, alors il correspondra à ce ban. Ce ban est légèrement différent de ~R, car un utilisateur avec le nick ABC peut être connecté au compte XYZ. Ceci dépend du logiciel de Services utilisé, car tous ne le supportent pas et vous devrez utiliser ~R dans ce cas. | +e ~a:UnCompte
+I ~a:UnCompte |
c | extbans/inchannel | Si l'utilisateur est sur le salon indiqué, alors il ne peut pas join. Un préfixe peut être indiqué (+/%/@/&/~), pour que l'utilisateur soit concerné que si il a le niveau indiqué ou supérieur sur le salon concerné. | +b ~c:#lamers
+e ~c:@#trustedops |
O | extbans/operclass | Si l'utilisateur est un IRCOp et que son oper::operclass correspond à cet extban, alors l'utilisateur correspondra à ce ban. Vous pouvez utiliser ceci pour faire un salon restreint aux *admin* uniquement. | +iI ~O:*admin* |
r | extbans/realname | Si le realname (gecos) d'un utilisateur correspond, alors il ne peut pas join. Comme le realname peut contenir des espaces, vous pouvez utiliser des tirets bas (_) pour indiquer un espace (ou un tiret bas) | +b ~r:*Stupid_bot_script* |
R | extbans/regnick | Si un utilisateur est connecté aux services avec ce nick, alors il correspondra à ce ban. Ainsi, ce ban est surtout utile pour les exceptions (+e) et les invitations (+I). | +e ~R:Nick
+I ~R:Nick |
S | extbans/certfp | Lorsqu'un utilisateur utilise SSL/TLS avec un certificat client, alors vous pouvez utiliser l'empreinte de son certificat SSL/TLS (celle indiquée dans le /WHOIS). Ce ban est utile pour les exceptions de ban (+e) ou d'invite (+I). | +e ~S:0000000etc
+I ~S:0000000etc |
Group 4: special
These are special extended bans that don't fit anywhere else:
Letter | Name | Module | Explanation | Example |
---|---|---|---|---|
T | text | extbans/textban | Channel-specific text filtering. Supports two actions: 'censor' and 'block', see examples on the right. | +b ~T:censor:*badword*
+b ~T:block:*something* |
p | partmsg | extbans/partmsg | Hide part/quit messages on matching users. | +b ~p:*!*@*.blah.com |
Combining extended bans
You can combine extended bans from multiple groups, this is called "stacking":
- Group 1 + 2/3/4: You can stack extended bans from the 1st group with any of the other groups. For example,
+e ~t:1440:~a:TrustedUser
would allow someone who identified to the services account TrustedUser to bypass channel bans for the next 1440 minutes (=24 hours). - Group 2 + 3: You can also stack the 2nd group with the 3rd group. For example:
+b ~q:~c:#lamers
would quiet all users who have also joined #lamers. - Group 1 + 2 + 3: You can even stack group 1 + group 2 + group 3 if you want, eg:
+b ~t:5:~q:~c:#lamers
to quiet all users who have also joined #lamers and have this ban removed automatically after 5 minutes.
Les types de ban du second groupe peuvent être utilisés dans les exceptions d'invitation (+I). Par exemple, vous pouvez ajouter le mode +i au salon et utiliser +I ~c:#trusted et/ou +I ~a:uncompte.
See also
- Extended server bans: which offers a similar feature but for /KLINE, /ELINE, etc
- Mask item: which allows to use Extended server bans in the configuration file at any place a mask is used.