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.