1 |
=head1 AKILL |
2 |
|
3 |
F<AKILL> allows you to maintain network-wide bans a la DALnet AKILL. |
4 |
Services will keep your AKILLs stored and allow for easy management. |
5 |
|
6 |
=for Syntax: AKILL ADD X<nick|hostmask> [!P|!T X<minutes>] X<reason> |
7 |
|
8 |
If the !P token is specified the F<AKILL> will never expire (permanent). |
9 |
If the !T token is specified expire time must follow, in minutes, |
10 |
hours ("h"), days ("d") or weeks ("w"). |
11 |
|
12 |
=head2 Examples |
13 |
|
14 |
/msg &nick& AKILL ADD foo !T 5 bar reason |
15 |
/msg &nick& AKILL ADD foo !T 3d bar reason |
16 |
/msg &nick& AKILL ADD foo@bar.com !P foo reason |
17 |
/msg &nick& AKILL ADD foo@bar.com foo reason |
18 |
|
19 |
The first example looks for the user with a nickname of "foo" and adds |
20 |
a 5 minute F<AKILL> for "bar reason." |
21 |
|
22 |
The second example is similar but adds the F<AKILL> for 3 days instead of |
23 |
5 minutes. |
24 |
|
25 |
The third example adds a permanent F<AKILL> on foo@bar.com for "foo reason." |
26 |
|
27 |
The fourth example adds a F<AKILL> on foo@bar.com for the duration specified |
28 |
in the configuration file for "foo reason." |
29 |
|
30 |
=for Syntax: AKILL DEL X<hostmask|number> |
31 |
|
32 |
If number is specified it correlates with the number on F<AKILL LIST>. |
33 |
You may specify multiple numbers by separating with commas. |
34 |
You may specify a range by using a colon. |
35 |
|
36 |
=head2 Examples |
37 |
|
38 |
/msg &nick& AKILL DEL foo@bar.com |
39 |
/msg &nick& AKILL DEL 5 |
40 |
/msg &nick& AKILL DEL 1,2,5,10 |
41 |
/msg &nick& AKILL DEL 1:5,7,9:11 |
42 |
|
43 |
=for Syntax: AKILL LIST S<FULL> |
44 |
|
45 |
If F<FULL> is specified the F<AKILL> reasons will be shown. |
46 |
|
47 |
=head2 Examples |
48 |
|
49 |
/msg &nick& AKILL LIST |
50 |
/msg &nick& AKILL LIST FULL |
51 |
|
52 |
=for Syntax: AKILL SYNC |
53 |
|
54 |
Sends all akills to all servers. This can be useful in case |
55 |
services will be down or do not see a user as matching a |
56 |
certain akill. |
57 |
|
58 |
|
59 |
=head1 CLEARCHAN |
60 |
|
61 |
F<CLEARCHAN> allows operators to clear |
62 |
a channel in one of three ways: KICK, |
63 |
which kicks all users from the channel, KILL, |
64 |
which kills all users in the channel off the |
65 |
network, or GLINE, which sets a one week |
66 |
network ban against the hosts of all users in |
67 |
the channel. |
68 |
|
69 |
This command should not be used lightly. |
70 |
|
71 |
=for Syntax: CLEARCHAN KICK|KILL|GLINE X<#channel> X<reason> |
72 |
|
73 |
=head2 Examples |
74 |
|
75 |
/msg &nick& CLEARCHAN KICK #warez warez is bad, mk? |
76 |
/msg &nick& CLEARCHAN GLINE #warez you were warned! |
77 |
|
78 |
|
79 |
=head1 CLONES |
80 |
|
81 |
F<CLONES> keeps track of the number of clients |
82 |
per IP address. Warnings are displayed in |
83 |
the snoop channel about IP addresses with |
84 |
more than 3 clients, and network bans may |
85 |
optionally be set on IP addresses with more |
86 |
than 5 clients. |
87 |
|
88 |
F<CLONES> only works on clients whose IP address |
89 |
Ermyth knows. If the ircd does not support |
90 |
propagating IP addresses at all, F<CLONES> is |
91 |
not useful; if IP addresses are not sent for |
92 |
spoofed clients, those clients are exempt from |
93 |
F<CLONES> checking. |
94 |
|
95 |
=for Syntax: CLONES KLINE ON|OFF |
96 |
|
97 |
Enables/disables banning IP addresses with more |
98 |
than 5 clients from the network for one hour |
99 |
(these bans are not added to the L<AKILL> list). |
100 |
This setting is saved in etc/exempts.db and |
101 |
defaults to off. |
102 |
|
103 |
=for Syntax: CLONES LIST |
104 |
|
105 |
Shows all IP addresses with more than 3 clients |
106 |
with the number of clients and whether the IP |
107 |
address is exempt. |
108 |
|
109 |
=for Syntax: CLONES ADDEXEMPT X<ip> X<clones> X<reason> |
110 |
|
111 |
Adds an IP address to the clone exemption list. |
112 |
The IP address must match exactly with the form |
113 |
used by the ircd (mind '::' shortening with IPv6). |
114 |
The IP address can also be a CIDR mask, for example |
115 |
192.168.1.0/24. Single IPs take priority above CIDR. |
116 |
X<clones> is the number of clones allowed; it must be |
117 |
at least 4. Warnings are sent if this number is |
118 |
exceeded, and a network ban may be set if the number |
119 |
is exceeded by 10 or more. |
120 |
The reason is shown in F<LISTEXEMPT>. |
121 |
The clone exemption list is stored in etc/exempts.db |
122 |
and saved whenever it is modified. |
123 |
|
124 |
=for Syntax: CLONES DELEXEMPT X<ip> |
125 |
|
126 |
Removes an IP address from the clone exemption list. |
127 |
|
128 |
=for Syntax: CLONES LISTEXEMPT |
129 |
|
130 |
Shows the clone exemption list with reasons. |
131 |
|
132 |
=head2 Examples |
133 |
|
134 |
/msg &nick& CLONES ADDEXEMPT 127.0.0.1 100 local |
135 |
/msg &nick& CLONES DELEXEMPT 192.168.1.2 |
136 |
|
137 |
|
138 |
=head1 COMPARE |
139 |
|
140 |
F<COMPARE> allows operators with chan:auspex |
141 |
privilege to view matching information |
142 |
on two users, or two channels. |
143 |
|
144 |
It is useful in clone detection, |
145 |
amongst other situations. |
146 |
|
147 |
=for Syntax: COMPARE X<#channel|user> X<#channel|user> |
148 |
|
149 |
=head2 Examples |
150 |
|
151 |
/msg &nick& COMPARE #warez #dcc |
152 |
/msg &nick& COMPARE w00t Brik |
153 |
|
154 |
|
155 |
=head1 IGNORE |
156 |
|
157 |
Services has an ignore list which functions similarly to |
158 |
the way a user can ignore another user. If a user matches |
159 |
a mask in the ignore list and attempts to use services, |
160 |
they will not get a reply. |
161 |
|
162 |
ADD - Add a mask to the ignore list. |
163 |
DEL - Delete a mask from the ignore list. |
164 |
LIST - List all the entries in the ignore list. |
165 |
CLEAR - Clear all the entries in the ignore list. |
166 |
|
167 |
=head2 Examples |
168 |
|
169 |
/msg &nick& IGNORE ADD pfish!*@* flooding services |
170 |
/msg &nick& IGNORE DEL pfish!*@* |
171 |
/msg &nick& IGNORE LIST |
172 |
/msg &nick& IGNORE CLEAR |
173 |
|
174 |
|
175 |
=head1 INJECT |
176 |
|
177 |
F<INJECT> fakes data from the uplink. This |
178 |
command is for debugging only and should |
179 |
not be used unless you know what you're doing. |
180 |
|
181 |
=for Syntax: INJECT X<parameters> |
182 |
|
183 |
=head2 Examples |
184 |
|
185 |
/msg &nick& INJECT :uplink.network.com PING :shrike.network.com |
186 |
/msg &nick& INJECT :foo PRIVMSG &nick& :HELP INJECT |
187 |
|
188 |
|
189 |
=head1 JUPE |
190 |
|
191 |
F<JUPE> introduces a fake server with the given name, so |
192 |
that the real server cannot connect. Jupes only last |
193 |
as long as services is connected to the uplink and |
194 |
can also (on most ircds) be removed with a simple |
195 |
/squit command. |
196 |
|
197 |
=for Syntax: JUPE X<server> X<reason> |
198 |
|
199 |
=head2 Examples |
200 |
|
201 |
/msg &nick& JUPE irc.blah.net very unstable server |
202 |
|
203 |
|
204 |
=head1 MEMCHECK |
205 |
|
206 |
F<MEMCHECK> invokes the valgrind memcheck if Ermyth |
207 |
is running inside valgrind. |
208 |
|
209 |
=for Syntax: MEMCHECK |
210 |
|
211 |
|
212 |
=head1 MODE |
213 |
|
214 |
F<MODE> allows for the editing of modes on a channel. Some networks |
215 |
will most likely find this command to be unethical. |
216 |
|
217 |
=for Syntax: MODE X<#channel> X<mode> S<parameters> |
218 |
|
219 |
=head2 Examples |
220 |
|
221 |
/msg &nick& MODE #heh -m |
222 |
/msg &nick& MODE #heh +o foo |
223 |
|
224 |
|
225 |
=head1 MODINSPECT |
226 |
|
227 |
F<MODINSPECT> displays detailed information about a module. |
228 |
|
229 |
The names can be gathered from the L<MODLIST> command. They |
230 |
are not necessarily equal to the pathnames to load them |
231 |
with L<MODLOAD>. |
232 |
|
233 |
=for Syntax: MODINSPECT X<name> |
234 |
|
235 |
=head2 Examples |
236 |
|
237 |
/msg &nick& MODINSPECT protocol/charybdis |
238 |
|
239 |
|
240 |
=head1 MODLIST |
241 |
|
242 |
F<MODLIST> displays a listing of all loaded |
243 |
modules and their addresses. |
244 |
|
245 |
=for Syntax: MODLIST |
246 |
|
247 |
|
248 |
=head1 MODLOAD |
249 |
|
250 |
F<MODLOAD> enables one or more modules. |
251 |
|
252 |
=for Syntax: MODLOAD X<path> S<path> ... |
253 |
|
254 |
=head2 Examples |
255 |
|
256 |
/msg &nick& MODLOAD contrib/fc_dice |
257 |
|
258 |
|
259 |
=head1 MODRESTART |
260 |
|
261 |
F<MODRESTART> unloads all non-permanent modules, then loads |
262 |
all modules in the configuration file and all modules |
263 |
directly in modules/. |
264 |
|
265 |
operserv/main and operserv/modrestart are also untouched. |
266 |
|
267 |
A full restart may be more reliable than a module restart. |
268 |
|
269 |
=for Syntax: MODRESTART |
270 |
|
271 |
|
272 |
=head1 MODUNLOAD |
273 |
|
274 |
F<MODUNLOAD> unloads one or more modules. Not all modules |
275 |
can be unloaded. |
276 |
|
277 |
The names can be gathered from the L<MODLIST> command. They |
278 |
can be re-enabled with L<MODLOAD>. |
279 |
|
280 |
=for Syntax: MODUNLOAD X<name...> |
281 |
|
282 |
=head2 Examples |
283 |
|
284 |
/msg &nick& MODUNLOAD chanserv/register |
285 |
|
286 |
|
287 |
=head1 NOOP |
288 |
|
289 |
F<NOOP> allows you to deny IRCop access on a per-hostmask |
290 |
or per-server basis. If a matching user opers up, they |
291 |
will be killed. |
292 |
|
293 |
=for Syntax: NOOP ADD HOSTMASK X<nick!user@host> S<reason> |
294 |
|
295 |
=for Syntax: NOOP ADD SERVER X<mask> S<reason> |
296 |
|
297 |
=head2 Examples |
298 |
|
299 |
/msg &nick& NOOP ADD HOSTMASK *!*@some.spoof Abusive operator |
300 |
/msg &nick& NOOP ADD SERVER bad.server Abusive admin |
301 |
|
302 |
=for Syntax: NOOP DEL HOSTMASK X<nick!user@host> |
303 |
|
304 |
=for Syntax: NOOP DEL SERVER X<mask> |
305 |
|
306 |
=head2 Examples |
307 |
|
308 |
/msg &nick& NOOP DEL HOSTMASK *!some@operator.host |
309 |
/msg &nick& NOOP DEL SERVER bad.server |
310 |
|
311 |
=for Syntax: NOOP LIST HOSTMASK |
312 |
|
313 |
=for Syntax: NOOP LIST SERVER |
314 |
|
315 |
|
316 |
=head1 RAKILL |
317 |
|
318 |
F<RAKILL> allows for regex-based akills, |
319 |
which are useful for removing clones |
320 |
or botnets. The akills are not added |
321 |
to &nick&'s list and last a week. |
322 |
|
323 |
Be careful, as regex is very easy to |
324 |
make mistakes with. Use L<RMATCH> first. |
325 |
The regex syntax is exactly the same. |
326 |
|
327 |
=for Syntax: RAKILL /X<pattern>/S<i> X<reason> |
328 |
|
329 |
=head2 Examples |
330 |
|
331 |
/msg &nick& RAKILL /^mS<oo|00>cow/i No moocows allowed. |
332 |
|
333 |
|
334 |
=head1 RAW |
335 |
|
336 |
F<RAW> injects data into the uplink. This |
337 |
command is for debugging only and should |
338 |
not be used unless you know what you're |
339 |
doing. |
340 |
|
341 |
=for Syntax: RAW X<parameters> |
342 |
|
343 |
=head2 Examples |
344 |
|
345 |
/msg &nick& RAW :&nick& OPERWALL :My admin is a loser |
346 |
|
347 |
|
348 |
=head1 REHASH |
349 |
|
350 |
F<REHASH> updates the database and reloads |
351 |
the configuration file. You can perform |
352 |
a rehash from system console with a kill -HUP |
353 |
command. |
354 |
|
355 |
=for Syntax: REHASH |
356 |
|
357 |
=head2 Examples |
358 |
|
359 |
/msg &nick& REHASH |
360 |
|
361 |
|
362 |
=head1 RESTART |
363 |
|
364 |
F<RESTART> shuts down services and restarts them. |
365 |
|
366 |
=for Syntax: RESTART |
367 |
|
368 |
=head2 Examples |
369 |
|
370 |
/msg &nick& RESTART |
371 |
|
372 |
|
373 |
=head1 RMATCH |
374 |
|
375 |
F<RMATCH> shows all users whose |
376 |
I<nick!user@host gecos> |
377 |
matches the given POSIX extended |
378 |
regular expression. |
379 |
|
380 |
Instead of a slash, any character that |
381 |
is not a letter, digit, whitespace or |
382 |
backslash and does not occur in the pattern |
383 |
can be used. An i after the pattern means |
384 |
case insensitive matching. |
385 |
|
386 |
=for Syntax: RMATCH /X<pattern>/S<i> |
387 |
|
388 |
=head2 Examples |
389 |
|
390 |
/msg &nick& RMATCH /^m(oo|00)cow/i |
391 |
/msg &nick& RMATCH #^S<a-z]+!~?[a-z>+@# |
392 |
/msg &nick& RMATCH /^S<^ ]* [^ >*$/ |
393 |
|
394 |
|
395 |
=head1 RNC |
396 |
|
397 |
F<RNC> shows the most common realnames on the network. |
398 |
|
399 |
=for Syntax: RNC S<number> |
400 |
|
401 |
=head2 Examples |
402 |
|
403 |
/msg &nick& RNC 10 |
404 |
|
405 |
|
406 |
=head1 RWATCH |
407 |
|
408 |
F<RWATCH> maintains a list of regular expressions, |
409 |
which the I<nick!user@host gecos> |
410 |
of all connecting clients are matched against. |
411 |
Matching clients can be displayed in the snoop |
412 |
channel and/or banned from the network. These |
413 |
network bans are set on *@host, last 24 hours |
414 |
and are not added to the L<AKILL> list. |
415 |
The F<RWATCH> list is stored in etc/rwatch.db and |
416 |
saved whenever it is modified. |
417 |
|
418 |
See F<RMATCH> for more information about regular |
419 |
expression syntax. |
420 |
|
421 |
=for Syntax: RWATCH ADD /X<pattern>/S<i> X<reason> |
422 |
|
423 |
Adds a regular expression to the F<RWATCH> list. |
424 |
The reason is shown in snoop notices and kline reasons. |
425 |
|
426 |
=for Syntax: RWATCH DEL /X<pattern>/S<i> |
427 |
|
428 |
Removes a regular expression from the F<RWATCH> list. |
429 |
|
430 |
=for Syntax: RWATCH LIST |
431 |
|
432 |
Shows the F<RWATCH> list. The meaning of the letters is: |
433 |
|
434 |
i - case insensitive match |
435 |
S - matching clients are shown in the snoop channel |
436 |
K - matching clients are banned from the network |
437 |
|
438 |
=for Syntax: RWATCH SET /X<pattern>/S<i> X<options> |
439 |
|
440 |
Changes the action for a regular expression. Possible |
441 |
values for X<options> are: |
442 |
|
443 |
SNOOP - enables display in the snoop channel |
444 |
NOSNOOP - disables display in the snoop channel |
445 |
KLINE - enables network bans |
446 |
NOKLINE - disables network bans |
447 |
|
448 |
=head2 Examples |
449 |
|
450 |
/msg &nick& RWATCH ADD /^m(oo|00)cow/i moocow figure |
451 |
/msg &nick& RWATCH DEL /^m(oo|00)cow/i |
452 |
|
453 |
|
454 |
=head1 SHUTDOWN |
455 |
|
456 |
F<SHUTDOWN> shuts down services. Services will |
457 |
not reconnect or restart. |
458 |
|
459 |
=for Syntax: SHUTDOWN |
460 |
|
461 |
=head2 Examples |
462 |
|
463 |
/msg &nick& SHUTDOWN |
464 |
|
465 |
|
466 |
=head1 SOPER |
467 |
|
468 |
F<SOPER> allows manipulation of services operator privileges. |
469 |
|
470 |
F<SOPER LIST> shows all accounts with services operator |
471 |
privileges, both from the configuration file and the |
472 |
this command. It is similar to /stats o &nick&. |
473 |
|
474 |
F<SOPER LISTCLASS> shows all defined oper classes. Use |
475 |
the L<SPECS> command to view the privileges associated |
476 |
with an oper class. |
477 |
|
478 |
F<SOPER ADD> grants services operator privileges to an |
479 |
account. The granted privileges are described by an |
480 |
oper class. |
481 |
|
482 |
F<SOPER DEL> removes services operator privileges from |
483 |
an account. |
484 |
|
485 |
It is not possible to modify accounts with |
486 |
operator { } blocks in the configuration file. |
487 |
|
488 |
=for Syntax: SOPER LIST|LISTCLASS |
489 |
|
490 |
=for Syntax: SOPER ADD X<account> X<operclass> |
491 |
|
492 |
=for Syntax: SOPER DEL X<account> |
493 |
|
494 |
=head2 Examples |
495 |
|
496 |
/msg &nick& SOPER LIST |
497 |
/msg &nick& SOPER ADD anoper sra |
498 |
/msg &nick& SOPER DEL abusiveoper |
499 |
|
500 |
|
501 |
=head1 SPECS |
502 |
|
503 |
F<SPECS> shows the privileges you have in services. |
504 |
|
505 |
=for Syntax: SPECS |
506 |
|
507 |
It is also possible to see the privileges of other |
508 |
online users or of oper classes. |
509 |
|
510 |
=for Syntax: SPECS USER X<nick> |
511 |
|
512 |
=for Syntax: SPECS OPERCLASS X<classname> |
513 |
|
514 |
=head2 Examples |
515 |
|
516 |
/msg &nick& SPECS USER w00t |
517 |
|
518 |
|
519 |
=head1 UPDATE |
520 |
|
521 |
F<UPDATE> flushes the database to disk. |
522 |
|
523 |
=for Syntax: UPDATE |
524 |
|
525 |
=head2 Examples |
526 |
|
527 |
/msg &nick& UPDATE |
528 |
|
529 |
|
530 |
=head1 UPTIME |
531 |
|
532 |
F<UPTIME> shows services uptime and the number of |
533 |
registered nicks and channels. |
534 |
|
535 |
=for Syntax: UPTIME |