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" Module (v4)

Description

This module adds user mode x (cloak) which allows user hostnames to be hidden.

Configuration

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

<module name="cloak">

<cloak>

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

Name Type Default Value Description
method Text None The cloaking method to use.

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

Value Module Description
account cloak_user Cloak the user with their account name. Requires the account module.
account-id cloak_user Cloak the user with their account id. Requires the account module.
fingerprint cloak_user Cloak the user with their TLS fingerprint. Requires the sslinfo module.
full cloak_md5 Deprecated! Cloak with three salted MD5 hashes of significant ranges of a user's IP address (IPv4: /16 /24 /32, IPv6: /32 /48 /64). Does not cloak UNIX socket users. Requires the md5 module.
half cloak_md5 Deprecated! If the user has a DNS hostname then cloak all but the last few labels with a salted MD5 hash. Otherwise, cloak with a salted MD5 hash of the most unique /16 subnet of a IPv4 address or /48 subnet of a IPv6 address. Does not cloak UNIX socket users. Requires the md5 module.
hmac-sha256 cloak_sha256 If the user has a DNS hostname or is connecting via a UNIX socket then cloak with an HMAC-SHA256 hash of their hostname and socket path suffixed with the public part of that value. Otherwise, cloak with three HMAC-SHA256 hashes of significant ranges of their IP address (IPv4: /16 /24 /32, IPv6: /32 /48 /64). Requires the sha2 module.
hmac-sha256-addr cloak_sha256 If the user is connecting via a UNIX socket then cloak with an HMAC-SHA256 hash of their socket path suffixed with the public part of the path. Otherwise, cloak with three HMAC-SHA256 hashes of significant ranges of their IP address (IPv4: /16 /24 /32, IPv6: /32 /48 /64). Requires the sha2 module.
nickname cloak_user Cloak the user with their nickname.
username cloak_user Cloak the user with their real username.
Example Usage

<connect>

This module extends the core <connect> tags with the following fields:

Name Type Default Value Description
usecloak Boolean Yes Whether users in this connect class can be cloaked.
Example Usage

Disables cloaking for users in the "Example" connect class:

<connect name="Example"
         ...
         usecloak="no">

User Modes

Name Character Type Parameter Syntax Usable By Description
cloak x Switch None Anyone Enables hiding of the user's hostname.

Special Notes

The first <cloak> tag will be used for the cloak set when a user enables user mode x (cloak). The rest will be generated and used to check bans. This allows you to migrate cloaking mode or to change your cloaking key without breaking your bans.