Browse Source

Updated README to reflect all new changes imo tbh famlamlmal

Wazakindjes 3 years ago
parent
commit
c5aa336d9f
1 changed files with 47 additions and 20 deletions
  1. 47 20
      README.md

+ 47 - 20
README.md

@@ -52,6 +52,16 @@ After that just add the relevant `loadmodule "third/m_modname";` line(s) to `unr
 * __malv:__ Specifically written for Malvager; move along, nothing to see here =]
 * __br0ken__: Modules I started working on but which don't quite work (see the readme in the dir for details)
 
+# Paid modules
+I also started writing modules with the intention of selling them, as those are generally very complex and take up __a lot__ of my spare time. ;] I'll put a short overview of such mods here, if you're interested and want more info simply go to my [shop sort of thing](https://u4shop.gottem.nl).
+
+| Module														| Description																														|
+| ------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
+| m_geoip														| Deny connections based on IP location data																						|
+| m_ldapauth													| Restrict IRC connections to those with proper LDAP authentication																	|
+
+If you don't need these but still want to support me, feel free to [donate through PayPal](http://gottem.nl/donate) or [become a monthly Patron](https://www.patreon.com/gottem_u4mods). :>
+
 # Index lol
 This README contains all modules and their descriptions/usage info (ordered from new to old). Modules that have `PORTED` behind their name tell you that I've ported them. If it says `UNC` (uncommon) or has no tag at all, that means I wrote it from scratch fam. There will be others but they should be self-explanatory. =]
 
@@ -111,16 +121,6 @@ This README contains all modules and their descriptions/usage info (ordered from
 | [m_git](#m_git)												| Install/Update third-party mods easily on (possibly) all servers through `git`													|
 | [m_forward (PORTED)](#m_forward-ported)						| Robust channel forwarding system																									|
 
-# Paid modules
-I also started writing modules with the intention of selling them, as those are generally very complex and take up __a lot__ of my spare time. ;] I'll put a short overview of such mods here, if you're interested and want more info simply go to my [shop sort of thing](https://u4shop.gottem.nl).
-
-| Module														| Description																														|
-| ------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
-| m_geoip														| Deny connections based on IP location data																						|
-| m_ldapauth													| Restrict IRC connections to those with proper LDAP authentication																	|
-
-If you don't need these but still want to support me, feel free to [donate through PayPal](http://gottem.nl/donate) or [become a monthly Patron](https://www.patreon.com/gottem_u4mods). :>
-
 # m_reportlol (MALV)
 Adds a `/report` command which does fuck all. [=[==[==[=[
 
@@ -233,7 +233,7 @@ _The module doesn't necessarily require any configuration, it uses the following
 * __banident__: When set to `1` it will ban `ident@iphost`, otherwise `*@iphost` (useful for shared ZNCs etc)
 * __multiline__: When set to `1` it will keep counting highlights until it encounters a line __without__ one
 * __allow_authed__: When set to `1` it will let logged-in users bypass this shit
-* __allow_accessmode__: Must be __one__ of `vhoaq` (or omitted entirely for no exemptions [the default]), exempts everyone with at minimum the specified mode from highlight checks (e.g. `a` includes people with `+q`)
+* __allow_accessmode__: Must be __one__ of `vhoaq` (or omitted entirely for no exceptions [the default]), exempts everyone with at minimum the specified mode from highlight checks (e.g. `a` includes people with `+q`)
 * __percent__: Threshold for the amount of characters belonging to highlights, not counting `delimiters` (e.g. `hi nick` would be 67%) -- __works in conjunction with `maxnicks`__
 * __show_opers_origmsg__: Display the message that was dropped to opers with the `SNO_EYES` snomask set
 
@@ -536,6 +536,8 @@ __This module used to be called `m_listdelay`, so remove that one entirely and r
 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. ;]
 
 __Updated shit:__
+* Added gline-on-join-fakechan functionality
+* Merged `k4be`'s contributions regarding em fake channel listing
 * Default to no restrictions if no config block specified
 * Added `exceptions` block
 * Added the ability to require auth w/ services (in __addition to__ the delay)
@@ -546,16 +548,41 @@ __Config block:__
     listrestrict {
     	connectdelay 60; // How long a client must have been online for
     	needauth 1; // Besides connectdelay, also require authentication w/ services
+    	authisenough 1; // Don't check connectdelay if user is identified OR exempt from authentication entirely
+    	fakechans 1; // Send a fake channel list if connectdelay and/or needauth checks fail
+    	glinetime 7d; // For channels with gline set to 1, use 0 for permanent bans
+
+    	fakechannel {
+    		// Only the name is required
+    		name "#honeypot";
+    		//topic "ayy lmao"; // Defaults to "DO NOT JOIN"
+    		//users 50; // Defaults to 2 users, must be >= 1
+    		//gline 0; // Defaults to 0
+    	};
+
+    	fakechannel {
+    		name "#fakelol";
+    		topic "top kek";
+    		users 10;
+    		gline 1; // G:Line won't kick in if connectdelay and needauth checks are satisfied, or if the user has a 'fakechans' exception
+    	};
 
     	exceptions {
     		all "user@*";
-    		auth "*@123.123.123.*";
-    		connect "someone@some.isp";
-    		connect "need@moar";
+    		connect "someone@some.isp"; // Only require auth
+    		auth "*@123.123.123.*"; // Only require connectdelay
+    		fakechans "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:
+    		auth "need@moar";
+    		fakechans "need@moar";
+    		// This user would only need to wait <connectdelay> seconds and won't get a fake channel list at all
     	};
     };
 
-Omitting a directive entirely will make it default to __off__. If `connectdelay` 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. ;] If multiple masks match a user, only the first one will be checked/used.
+Omitting a directive entirely will make it default to __off__. If `connectdelay` 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. ;]
+
+As usual with my mods, U:Lines, opers and servers are exempt from any restrictions.
 
 # m_pmdelay
 Disallow phr3$ly connected clients trying to send private messages until exceeding a certain timeout, like butts connecting and immediately spamming actual users in private. Simply load the module and (optionally) add one directive to your `unrealircd.conf`, for which see bel0w. Messages __from__ opers, servers and U:Lines are exempt for obvious reasons, also sending __to__ U:Lines (m-muh `/ns identify`). ;]
@@ -967,7 +994,7 @@ Do some string replacements based on wat holiday it is atm. =]
 # m_repeatprot (UNC)
 __This module used to be called `m_noticeprot`, so remove that one entirely and replace it with this to avoid conflicts__
 
-Sometimes there are faggots who spam the shit out of you, either through NOTICE or PRIVMSG. This module will GZ:Line/kill/block their ass if they do. Other than specifying the triggers and exemptions, you can tweak the action a lil' bit:
+Sometimes there are faggots who spam the shit out of you, either through NOTICE, PRIVMSG, CTCP, INVITE or OPER commands. This module will GZ:Line/kill/block their ass if they do. Other than specifying the triggers and exceptions, you can tweak the action a lil' bit:
 * `action <block/kill/gzline>` -- what action to take upon detecting a spammer, default is gzline
 * `showblocked <0/1>` -- display the ban message to the spammer when `action` == `block`, default = 0
 * `banmsg <string>` -- zline message obviously, default = `Nice spam m8`
@@ -978,7 +1005,7 @@ The module will keep track of people's last and first to last messages, so it wi
 
 __Updated shit:__
 * Improved the logic for determining if something is spammerino or n0
-* Exemptions are also checked against `nick!ident@IP` nao (instead of just `nick!ident@real.hostna.me`) xd
+* Exceptions are also checked against `nick!ident@IP` nao (instead of just `nick!ident@real.hostna.me`) xd
 * Sends a snomask notice to `SNO_EYES` (`/umode +s +e`) about the flood (includes trigger type, nick, body and action))
 * Reset conf defaults on rehash lol
 * Added new config directive `timespan` so you can "expire" the counters (simply don't specify it to never expire 'em)
@@ -988,7 +1015,7 @@ __Updated shit:__
 * Is now also markup/colour agnostic (i.e. bold/underline/etc and colours will be stripped before matching)
 * Added detection for repeated `OPER` messages, will exclude the first one since that is usually legitimate (it only checks for duplicate `OPER <user>` too)
 * Also exempted sending __to__ U:Lines as people sometimes fuck up their NickServ passwerds etc
-* Added exemption block
+* Added exception block
 * Renamed some variables/directives
 * Added `showblocked` directive
 * Added multiple actions, as well as the ability to choose between 'em
@@ -1004,7 +1031,7 @@ __Config block example:__
     		//ctcp;
     		//invite;
     	};
-    	exemptions {
+    	exceptions {
     		nick!user@host;
     		*!gottem@*;
     		ayy!*@*;
@@ -1021,7 +1048,7 @@ __Config block example:__
     	threshold 3;
     };
 
-You need at least one trigger obviously. The exemption masks must match `*!*@*`, so should be a full nick mask m9. The hostname used in exemptions should match the `realhost`, not a cloaked one.
+You need at least one trigger obviously. The exception masks must match `*!*@*`, so should be a full nick mask m9. The __host__name used should match the `realhost` as well and not a cloaked one.
 
 # m_md5fjert (UNC, LEAF-ONLY)
 __Probably doesn't work with Wind0ngs__