This system, when used correctly, can make 99% of all spam and floods invisible.
The key to the system is a new channel mode on Undernet : +D.
+D stands for (D)elayed Join. When combined with +m (m)oderation, the result is :
A join is not shown in the channel until the user is voiced or opped (+v/+o) . This user is considered hidden.
If you kick a hidden user, only you will see the user join, then immediately be kicked.You can get a list of hidden users with 2 commands : /names and /who
Syntax :
/names -d #channel
/who #channel dWhen you use /names, only the hidden users are shown.
If you use /who, all the users are shown (hidden and normal). This is a something IRCU coders should change.
This system uses a combination of both /names and /who to minimize strain on both you and the network.In a /who reply, you can see nick, ident, host, user flags, and fullname :
/who #channel d%nuhrf
Many different scans can be used to detect spam and floodbots based on that info.
Depending on the outcome of the scan, the user is either voiced, not voiced, or kicked.
Most floodbots and spambots you can simply not voice, they'll be powerless to do anything and just leave on their own.
Some spambots that send spam via private message (like the girlies) need a kick.This system uses several very advanced scanning techniques.
The most powerful one uses regular expressions, which have to be manually added.
I'll provide support for users who need help with these patterns in an Undernet channel.Here's some regex patterns I generated for Undernet's #ayuda : http://sanitarium.mircscripting.info/ayuda.html
1) White List (voice)
a) Allows protection for channel ops and regular users : exemption from scans.
b) Allows you to safely blacklist your own nickname or ident if need be.
i) Mask Type : nick!ident@host
2) Regular Expression (Regex) Exemption List (voice)
a) Allows protection for channel ops and regular users : exemption from scans.
b) Allows you to safely regex match your own nickname or ident or fullname if need be.
i) Mask Type : nick!ident@host#fullname
3) Black List (no voice)
a) Simple blacklist system any channel op can use, works just like the banlist you're used to.
i) Mask Type : nick!ident@host
4) Registered Users (voice)
a) Allows protection for registered users, exemption from scans.
b) Users are still subject to channel flood protection.
i) Mask Type : *!*@*.users.undernet.org
5) Clone Scan (no voice)
a) 2 or more users on same host in a single scan cycle will result in no voice.
b) Simply whitelist any users that you wish to allow to bypass the clone scan.
6) Proxy List (no voice)
a) This can be automatically spidered/generated from the public proxy lists available daily.
b) Later... I'll generate this for you on a daily basis, and have the script update automatically from my site.
i) Mask Type : host
7) Regular Expression (Regex) Positive List (no voice)
a) This list is for 99% accurate or better patterns.
b) One match to a pattern in this list results in no voice for the user(s).
i) Mask Type : nick!ident@host#fullname
8) Regular Expression (Regex) Possible List (voice / no voice)
a) This list is for less accurate patterns.
b) One match in a single scan will result in voice for the user.
c) Two or more matches in a single scan cycle will result in no voice for the user.
d) This is the most powerful protection against floodbots. 3 patterns and u2pop is 100% invisible.
i) Mask Type : nick!ident@host#fullname
9) Custom Regex and Scripting (kick)
a) Allows for abnormally long regex patterns (like the girlies).
b) Allows for multiple types of matches for extremely complex drones
c) Insert DNSBL or IRCBL here (eventually)
10) Adaptive Pattern Matching (no voice)
a) This system can automatically adapt to new random floodbot patterns.
b) It will match about 90% of all floods without the need to add a regex pattern.
c) If you want to know how it works, click here (not yet) .
11) Unknown (voice)
a) Anyone not matching anything else falls under this category.
Should any floodbots get past all of these scans, channel flood protection is now much better with this system.
No need to flood x with bans, mass-ban, or mass-kick the floodbots anymore.Since the channel is +Dm, you can :
1) Mass-Devoice the users (-vvvvvv -vvvvvv ...)
2) Automatically BlackList the users so they can't return to flood again with the same host.
This will react and end the flood much faster than any other system.