InspIRCd v4 is still early in development!

If you use this branch you may experience crashes, weird behaviour, and unannounced breaking changes.

You probably want to use InspIRCd v3 instead.

The "cloak_user" Module (v4)

Description

This module adds the account, account-id, fingerprint, nickname, and username cloaking methods for use with the cloak module.

Configuration

To load this module use the following <module> tag:

<module name="cloak_user">

<cloak>

The <cloak> tag defines a cloaking profile. This tag can be defined as many times as required.

Name Type Default Value Description
case Text preserve The case to transform the cloaked data to.
class String None If non-empty then a comma-delimited list of of connect classes that can receive this cloak.
invalidchar Text strip The action to take when an invalid character is encountered.
prefix Text None The value to prefix cloaks with.
suffix Text None The value to suffix cloaks with.

This module also extends the <cloak:method> field with the following values:

Name Description
account If the user is logged in to a services account then cloak them with their services account name.
account-id If the user is logged in to a services account then cloak them with their services account identifier.
nickname Cloak users with their currently used nickname.
username Cloak users with their real username.

The case field should be set to one of the following values:

Value Description
lower Convert the cloaked data to lower case.
upper Convert the cloaked data to upper case.
preserve Preserve the case of the cloaked data.

The invalidchar field should be set to one of the following values:

Value Description
reject Don't use this cloaking profile
strip Remove the invalid character from the cloak (e.g. foo|afk will become fooafk)
truncate Truncate the cloak before the invalid character (e.g. foo|afk will become foo)
Example Usage

Cloaking using the account method:

<cloak method="account"
       case="preserve"
       class=""
       invalidchar="strip"
       prefix="MyNet/"
       suffix="">

Cloaking using the account-id method:

<cloak method="account-id"
       case="preserve"
       class=""
       invalidchar="strip"
       prefix="MyNet/"
       suffix="">

Cloaking using the fingerprint method:

<cloak method="fingerprint"
       case="preserve"
       class=""
       invalidchar="strip"
       length="32"
       prefix="MyNet/"
       suffix=""
       sanitize="yes">

Cloaking using the nickname method:

<cloak method="nickname"
       case="preserve"
       class=""
       invalidchar="strip"
       prefix="MyNet/"
       suffix="">

Cloaking using the username method:

<cloak method="username"
       case="preserve"
       class=""
       invalidchar="strip"
       prefix="MyNet/"
       suffix=""
       sanitize="yes">