1 ### Community-supported Atheme Modules
3 This directory contains modules that are not included in the main modules
4 folders for one reason or another. Either their code is a bit ugly, their
5 functionality is frowned upon, they only work with a limited number of IRCd's
8 ### Building other modules not included in this distribution
10 Use the
`$SRCS` make variable to build and install modules.
13 $ make SRCS=fileyouwanttocompile.c
14 Successfully compiled fileyouwanttocompile.c as fileyouwanttocompile.so.
15 $ make SRCS=fileyouwanttocompile.c install
16 Successfully installed fileyouwanttocompile.so.
19 ### Adding additional modules here
21 Any modules you want to add can be considered for inclusion here by sending us
22 a pull request on GitHub.
24 ### Incomplete list of modules
28 Repeats what others users in a channel say back to a specific
29 user. Useful for users that claim they have entire channels on
34 Takes actions against users (KICK, BAN, KICKBAN or QUIET) for
35 using badwords in channel, specified on a per-channel basis
36 with the BADWORDS command. Be aware it will check every message
37 sent to channels that BLOCKBADWORDS is set on so it can be a bit
42 Kicks users from a channel when kickdots metadata is set on
43 that channel and users send a line containing only "...".
44 Deprecated by cs_badwords (/cs badwords #channel add ... kick).
48 Responds to users that ping ChanServ with "Pong!".
52 Sets the stupid, pointless DALNet-style +/-r mode when a channel
53 is registered or dropped. NOT RECOMMENDED TO USE.
57 Sends a user a notice with some information specified in a
58 regnotice {} block inside the chanserv {} block of your
59 atheme.conf when the user registers a channel.
63 Either gives or removes all your channel status modes at once.
67 Display a message when a user joins a channel. You must be able
68 to edit the channel access list to add or remove a userinfo entry.
72 A small sample echoserver using the connection_t framework (deprecated).
73 NOT RECOMMENDED TO USE.
77 A small sample httpd for serving files. It is highly recommended to use
80 #### gen_listenerdemo.c
82 Demonstrates how to use listeners using the connection_t framework (deprecated).
83 NOT RECOMMENDED TO USE.
87 Assigns a $account.hidehostsuffix vhost to all users upon
88 account registration. $account will be replaced by the users'
89 accountname and hidehostsuffix is that config option from the
90 serverinfo {} block of your atheme.conf.
94 Graphs user->channel relationships. Not recommended to use if
95 there are privacy concerns.
99 A nice GameServ game of Russian Roulette.
103 Little module showing a CatServ Services client, pretty much all modular
104 services since forever implement this as an example, so we do too.
106 #### ircd_announceserv.c
108 A services bot which allows users to request network
109 announcements that will then (when approved by a soper)
110 be sent to all users on the network. This is seperate
111 from InfoServ so that users can easily ignore users'
112 announcements but won't miss any important announcements
117 A services bot for sending love-related items to other users.
118 NOT COMPILED BY DEFAULT.
120 #### ircd_crypto_trans.c
122 A encryption module for IRCServices weird password encryption scheme, useful
123 for transitioning to crypto/posix.
127 Sets the mlock to all new channels to something specified in
128 the source code of the module. See line
16 of the module's
129 code for what to edit.
133 Allows users to set a AJOIN/autojoin list of channels that Atheme
134 will automatically join them to upon identify. Only works on
135 ShadowIRCd, InspIRCd and UnrealIRCd.
139 Detects and cleans 'lame' nicknames using case normalization.
143 Allows opers to force the ENFORCE flag on/off on other users' accounts.
147 Allows opers to forbid the registration and use of a nickname.
151 Allows opers to register an account on behalf of another user.
152 An oper must have the user:fregister priv to use this command.
154 #### ns_generatehash.c
156 Generates a password hash from the password given as part
157 of the command. Extremely useful if your passwords are
158 encrypted and you want to set SOPER passwords.
160 #### ns_generatepass.c
162 Generates a random password.
166 Maintains a whitelist of email domains that are allowed to
167 register NickServ nicks. This allows you to say only
168 \*@example.com email address can register nicks.
172 Disallows the registration of nicks beginning with a string
173 specified in the guestnicks {} block inside the nickserv {}
174 block of your atheme.conf.
178 Allows users to list the other clients currently logged in
179 to the same account as them.
183 Checks if a email address provided by a user upon registration
184 is valid and fails registration if it is not.
186 #### ns_mxcheck_async.c
188 Same as ns_mxcheck.c, but asynchronous.
192 Sends a user a notice with some information specified in a
193 regnotice {} block inside the nickserv {} block of your
194 atheme.conf when the user registers an account.
198 Requires a user to have been connected for waitreg_time (in
199 the nickserv {} block of your atheme.conf) seconds before
200 they are allowed to register their nick.
204 Allows you to specify a command that is run every time the Atheme
207 #### os_akillnicklist.c
209 AKILLs users matched in a nicklist specified in your
210 atheme.conf. See the comment at the top of the module's
211 source code for details.
215 Allows you to use DEFCON-based security on your network. This may be
216 useful to people migrating from Anope. **Note:** This module taints
217 Atheme. You need to enable
`allow_taint` in the config to use it.
221 Sets usermode +h on all users listed with the general:helper
222 soper priv upon recieving soper status. Requires an IRCd that has
223 +h (helper) usermode support.
227 Allows adding nick patterns to a joinmon list and when a user
228 matching one of the patterns joins a channel, a message will
229 be sent to the logchan (with the info loglevel).
233 Allows opers to KILL users via services.
237 KLINEs all users who join a KLINECHAN.
241 Spam a user with pings and various messages either on-demand or
242 spams all users a bit upon connect. Basically, the same functionality as
243 NeoStats' SecureServ.
247 Watch a specified process and log a message when it finishes
248 running. Requires kqueue (FreeBSD).
250 #### os_savechanmodes.c
252 Allows you to dump and restore channelmodes of all channels
253 on the network, including unregistered ones. Useful for ircd transitions.
257 Tests the dynamic table generation APIs for command replies.
258 NOT RECOMMENDED TO USE.
266 Runs a test of child processes.
270 Looks up users by certain criteria and allows you to perform
271 various actions on them.
275 Allows users to play a game of Hunt the Wumpus!