]> jfr.im git - irc/atheme/atheme-contrib-modules.git/blob - README.md
dnsbl.c: add action to set a formatted vhost
[irc/atheme/atheme-contrib-modules.git] / README.md
1 ### Community-supported Atheme Modules
2
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
6 or similar cases.
7
8 ### Building other modules not included in this distribution
9
10 Use the `$SRCS` make variable to build and install modules.
11
12 ```
13 $ make SRCS=fileyouwanttocompile.c
14 Successfully compiled fileyouwanttocompile.c as fileyouwanttocompile.so.
15 $ make SRCS=fileyouwanttocompile.c install
16 Successfully installed fileyouwanttocompile.so.
17 ```
18
19 ### Adding additional modules here
20
21 Any modules you want to add can be considered for inclusion here by sending us
22 a pull request on GitHub.
23
24 ### Incomplete list of modules
25
26 #### cs_babbler.c
27
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
30 ignore.
31
32 #### cs_badwords.c
33
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
38 CPU-heavy.
39
40 #### cs_kickdots.c
41
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).
45
46 #### cs_ping.c
47
48 Responds to users that ping ChanServ with "Pong!".
49
50 #### cs_regmode.c
51
52 Sets the stupid, pointless DALNet-style +/-r mode when a channel
53 is registered or dropped. NOT RECOMMENDED TO USE.
54
55 #### cs_regnotice.c
56
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.
60
61 #### cs_updown.c
62
63 Either gives or removes all your channel status modes at once.
64
65 #### cs_userinfo.c
66
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.
69
70 #### gen_echoserver.c
71
72 A small sample echoserver using the connection_t framework (deprecated).
73 NOT RECOMMENDED TO USE.
74
75 #### gen_httpd.c
76
77 A small sample httpd for serving files. It is highly recommended to use
78 misc/httpd.c instead.
79
80 #### gen_listenerdemo.c
81
82 Demonstrates how to use listeners using the connection_t framework (deprecated).
83 NOT RECOMMENDED TO USE.
84
85 #### gen_vhostonreg.c
86
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.
91
92 #### graphtastical.c
93
94 Graphs user->channel relationships. Not recommended to use if
95 there are privacy concerns.
96
97 #### gs_roulette.c
98
99 A nice GameServ game of Russian Roulette.
100
101 #### ircd_catserv.c
102
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.
105
106 #### ircd_announceserv.c
107
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
113 from network staff.
114
115 #### ircd_loveserv.c
116
117 A services bot for sending love-related items to other users.
118 NOT COMPILED BY DEFAULT.
119
120 #### ircd_crypto_trans.c
121
122 A encryption module for IRCServices weird password encryption scheme, useful
123 for transitioning to crypto/posix.
124
125 #### mlocktweaker.c
126
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.
130
131 #### ns_ajoin.c
132
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.
136
137 #### ns_cleannick.c
138
139 Detects and cleans 'lame' nicknames using case normalization.
140
141 #### ns_fenforce.c
142
143 Allows opers to force the ENFORCE flag on/off on other users' accounts.
144
145 #### ns_forbid.c
146
147 Allows opers to forbid the registration and use of a nickname.
148
149 #### ns_fregister.c
150
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.
153
154 #### ns_generatehash.c
155
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.
159
160 #### ns_generatepass.c
161
162 Generates a random password.
163
164 #### ns_goodmail.c
165
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.
169
170 #### ns_guestnoreg.c
171
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.
175
176 #### ns_listlogins.c
177
178 Allows users to list the other clients currently logged in
179 to the same account as them.
180
181 #### ns_mxcheck.c
182
183 Checks if a email address provided by a user upon registration
184 is valid and fails registration if it is not.
185
186 #### ns_mxcheck_async.c
187
188 Same as ns_mxcheck.c, but asynchronous.
189
190 #### ns_regnotice.c
191
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.
195
196 #### ns_waitreg.c
197
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.
201
202 #### on_db_save.c
203
204 Allows you to specify a command that is run every time the Atheme
205 database is saved.
206
207 #### os_akillnicklist.c
208
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.
212
213 #### os_defcon.c
214
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.
218
219 #### os_helpme.c
220
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.
224
225 #### os_joinmon.c
226
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).
230
231 #### os_kill.c
232
233 Allows opers to KILL users via services.
234
235 #### os_klinechan.c
236
237 KLINEs all users who join a KLINECHAN.
238
239 #### os_pingspam.c
240
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.
244
245 #### os_procwatch.c
246
247 Watch a specified process and log a message when it finishes
248 running. Requires kqueue (FreeBSD).
249
250 #### os_savechanmodes.c
251
252 Allows you to dump and restore channelmodes of all channels
253 on the network, including unregistered ones. Useful for ircd transitions.
254
255 #### os_tabletest.c
256
257 Tests the dynamic table generation APIs for command replies.
258 NOT RECOMMENDED TO USE.
259
260 #### os_testcmd.c
261
262 Run a test command.
263
264 #### os_testproc.c
265
266 Runs a test of child processes.
267
268 #### os_trace.c
269
270 Looks up users by certain criteria and allows you to perform
271 various actions on them.
272
273 #### wumpus.c
274
275 Allows users to play a game of Hunt the Wumpus!