2.6 KiB
listrestrict
Allows you to impose certain restrictions on /LIST
usage, such as requiring clients to have been online for a certain period of time. Simply load the module and add a new block to your unrealircd.conf
, for which see bel0w. Opers, servers and U-Lines are exempt for obvious reasons. ;]
Even though Unreal now has a set::restrict-commands
block you can use to delay /LIST
usage, it doesn't provide the honeypot functionality, so I've kept this module as-is. listrestrict
adds overrides with a higher priority though, so even if you configure both then listrestrict
will run first.
Config block:
listrestrict {
connect-delay 60; // How long a client must have been online for
need-auth 1; // Besides above, also require authentication w/ services
auth-is-enough 1; // Don't even check connect-delay if user is identified OR exempt from having to authenticate entirely
fake-channels 1; // Send a fake channel list if connect-delay and need-auth checks fail
ban-time 7d; // For channels with an *-Line action (accepted but ignored for non-Lines), use 0 for permanent bans (defaults to 1 day)
fake-channel {
// Only the name is required
name "#honeypot";
//topic "ayy lmao"; // Defaults to "DO NOT JOIN"
//users 50; // Defaults to 2 users, must be >= 1
ban-action gline; // G-Line won't kick in if connect-delay and need-auth checks are satisfied, or if the user has a 'fake-channels' exception
};
fake-channel {
name "#fakelol";
topic "top kek";
users 10;
ban-action kill;
};
exceptions {
all "user@*";
connect "someone@some.isp"; // Only require auth
auth "*@123.123.123.*"; // Only require connect-delay
fake-channels "ayy@lmao"; // Don't send a fake channel list, just prevent sending of the legit one
// You can also specify multiple types for the same mask
// This user would only need to wait <connect-delay> seconds and won't get a fake channel list at all
auth "need@moar";
fake-channels "need@moar";
};
};
Omitting a directive entirely will make it default to off unless otherwise mentioned above. If connect-delay
is specified, the minimum required value is 10
as anything below seems pretty damn useless to me. =] The exceptions
block should be pretty self explanatory. ;]
For the ban-action
, refer to Unreal's wiki for a list of possible actions. ;] Keep in mind that all soft-*
actions cannot be used, you must use auth-is-enough
instead. You also can not use block
and warn
because those are pretty useless here. ;];;];]