solanum/doc/oper-guide/commands.rst
Antoine Beaupré 2ae078d87b
convert SGML guide to RST
the rationale behind switching away from SGML/Docbook is the following:

 * SGML is hard to edit for humans
 * the output is not much prettier
 * the toolchain is not well supported and missing from the build
 * the build is not hooked into anywhere, no automation

the reason why RST was chosen:

 * it allows for a strong structure like Docbook
 * the theme from Read The Docs is pretty
 * it also supports mobile devices
 * sphinx can easily output to PDF and ePUB formats
 * RST is plaintext that can be easily edited and diff'd
 * RST can be automatically built by ReadTheDocs and the toolchain is
   readily available
 * the output is also parsed by Github so documentation can be read
   straight from GH

the reason why Markdown was not chosen:

 * the current strong structure would be hard to replicate
 * markdown is not standardized and output varies according to the
   implementation

the docs were converted with Pandoc, using the following commands:

    mkdir oper-guide
    for source in sgml/oper-guide/*.sgml; do
        pandoc --toc -s -f docbook -t rst $source -o oper-guide/$(basename $source .sgml).rst
    done
    cd oper-guide
    sphinx-quickstart
    git add *.rst make.bat conf.py
    git add -f Makefile
    git rm -r ../sgml

[merged from d4214e9445d9f9d0f0ede3e09a9f81deee9: doc/sgml/oper-guide/config.sgml]
2018-08-12 09:15:13 +01:00

810 lines
18 KiB
ReStructuredText

.. contents::
:depth: 3
..
Operator Commands
=================
Network management commands
===========================
**Note**
All commands and names are case insensitive. Parameters consisting
of one or more separate letters, such as in MODE, STATS and WHO, are
case sensitive.
CONNECT
-------
CONNECT
target
port
source
Initiate a connection attempt to server target. If a port is given,
connect to that port on the target, otherwise use the one given in
``ircd.conf``. If source is given, tell that server to initiate the
connection attempt, otherwise it will be made from the server you are
attached to.
To use the default port with source, specify 0 for port.
SQUIT
-----
SQUIT
server
reason
Closes down the link to server from this side of the network. If a
reason is given, it will be sent out in the server notices on both sides
of the link.
REHASH
------
REHASH
BANS
DNS
MOTD
OMOTD
TKLINES
TDLINES
TXLINES
TRESVS
REJECTCACHE
HELP
server
With no parameter given, ``ircd.conf`` will be reread and parsed. The
server argument is a wildcard match of server names.
BANS
Rereads ``kline.conf``, ``dline.conf``, ``xline.conf``,
``resv.conf`` and their .perm variants
DNS
Reread ``/etc/resolv.conf``.
MOTD
Reload the MOTD file
OMOTD
Reload the operator MOTD file
TKLINES
Clears temporary K:lines.
TDLINES
Clears temporary D:lines.
TXLINES
Clears temporary X:lines.
TRESVS
Clears temporary reservations.
REJECTCACHE
Clears the client rejection cache.
HELP
Refreshes the help system cache.
RESTART
-------
RESTART
server
Cause an immediate total shutdown of the IRC server, and restart from
scratch as if it had just been executed.
This reexecutes the ircd using the compiled-in path, visible as SPATH in
INFO.
**Note**
This command cannot be used remotely. The server name is used only
as a safety measure.
DIE
---
DIE
server
Immediately terminate the IRC server, after sending notices to all
connected clients and servers
**Note**
This command cannot be used remotely. The server name is used only
as a safety measure.
SET
---
SET
ADMINSTRING
AUTOCONN
AUTOCONNALL
FLOODCOUNT
IDENTTIMEOUT
MAX
OPERSTRING
SPAMNUM
SPAMTIME
SPLITMODE
SPLITNUM
SPLITUSERS
value
The SET command sets a runtime-configurable value.
Most of the ``ircd.conf`` equivalents have a default\_ prefix and are
only read on startup. SET is the only way to change these at run time.
Most of the values can be queried by omitting value.
ADMINSTRING
Sets string shown in WHOIS for admins. (umodes +o and +a set, umode
+S not set).
AUTOCONN
Sets auto-connect on or off for a particular server. Takes two
parameters, server name and new state.
To see these values, use /stats c. Changes to this are lost on a
rehash.
AUTOCONNALL
Globally sets auto-connect on or off. If disabled, no automatic
connections are done; if enabled, automatic connections are done
following the rules for them.
FLOODCOUNT
The number of lines allowed to be sent to a connection before
throttling it due to flooding. Note that this variable is used for
both channels and clients.
For channels, op or voice overrides this; for users, IRC operator
status or op or voice on a common channel overrides this.
IDENTTIMEOUT
Timeout for requesting ident from a client.
MAX
Sets the maximum number of connections to value.
This number cannot exceed maxconnections - MAX\_BUFFER.
maxconnections is the rlimit for number of open files. MAX\_BUFFER
is defined in config.h, normally 60.
MAXCLIENTS is an alias for this.
OPERSTRING
Sets string shown in WHOIS for opers (umode +o set, umodes +a and +S
not set).
SPAMNUM
Sets how many join/parts to channels constitutes a possible spambot.
SPAMTIME
Below this time on a channel counts as a join/part as above.
SPLITMODE
Sets splitmode to value:
ON
splitmode is permanently on
OFF
splitmode is permanently off (default if no\_create\_on\_split
and no\_join\_on\_split are disabled)
AUTO
ircd chooses splitmode based on SPLITUSERS and SPLITNUM (default
if no\_create\_on\_split or no\_join\_on\_split are enabled)
SPLITUSERS
Sets the minimum amount of users needed to deactivate automatic
splitmode.
SPLITNUM
Sets the minimum amount of servers needed to deactivate automatic
splitmode. Only servers that have finished bursting count for this.
User management commands
========================
KILL
----
KILL
nick
reason
Disconnects the user with the given nick from the server they are
connected to, with the reason given, if present, and broadcast a server
notice announcing this.
Your nick and the reason will appear on channels.
CLOSE
-----
Closes all connections from and to clients and servers who have not
completed registering.
KLINE
-----
KLINE
length
user
@
host
user
@
a
.
b
.
c
.
d
ON
servername
:
reason
Adds a K:line to ``kline.conf`` to ban the given user@host from using
that server.
If the optional parameter length is given, the K:line will be temporary
(i.e. it will not be stored on disk) and last that long in minutes.
If an IP address is given, the ban will be against all hosts matching
that IP regardless of DNS. The IP address can be given as a full address
(192.168.0.1), as a CIDR mask (192.168.0.0/24), or as a glob
(192.168.0.\*).
All clients matching the K:line will be disconnected from the server
immediately.
If a reason is specified, it will be sent to the client when they are
disconnected, and whenever a connection is attempted which is banned.
If the ON part is specified, the K:line is set on servers matching the
given mask (provided a matching shared{} block exists there). Otherwise,
if specified in a cluster{} block, the K:Line will be propagated across
the network accordingly.
UNKLINE
-------
UNKLINE
user
@
host
ON
servername
Will attempt to remove a K:line matching user@host from ``kline.conf``,
and will flush a temporary K:line.
XLINE
-----
XLINE
length
mask
ON
servername
:
reason
Works similarly to KLINE, but matches against the real name field. The
wildcards are \* (any sequence), ? (any character), # (a digit) and @ (a
letter); wildcard characters can be escaped with a backslash. The
sequence \\s matches a space.
All clients matching the X:line will be disconnected from the server
immediately.
The reason is never sent to users. Instead, they will be exited with
“Bad user info”.
If the ON part is specified, the X:line is set on servers matching the
given mask (provided a matching shared{} block exists there). Otherwise,
if specified in a cluster{} block, the X:line will be propagated across
the network accordingly.
UNXLINE
-------
UNXLINE
mask
ON
servername
Will attempt to remove an X:line from ``xline.conf``, and will flush a
temporary X:line.
RESV
----
RESV
length
channel
mask
ON
servername
:
reason
If used on a channel, “jupes” the channel locally. Joins to the channel
will be disallowed and generate a server notice on +y, and users will
not be able to send to the channel. Channel jupes cannot contain
wildcards.
If used on a nickname mask, prevents local users from using a nick
matching the mask (the same wildcard characters as xlines). There is no
way to exempt the initial nick from this.
In neither case will current users of the nick or channel be kicked or
disconnected.
This facility is not designed to make certain nicks or channels
oper-only.
The reason is never sent to users.
If the ON part is specified, the resv is set on servers matching the
given mask (provided a matching shared{} block exists there). Otherwise,
if specified in a cluster{} block, the resv will be propagated across
the network accordingly.
UNRESV
------
UNRESV
channel
mask
ON
servername
Will attempt to remove a resv from ``resv.conf``, and will flush a
temporary resv.
DLINE
-----
DLINE
length
a
.
b
.
c
.
d
ON
servername
:
reason
Adds a D:line to ``dline.conf``, which will deny any connections from
the given IP address. The IP address can be given as a full address
(192.168.0.1) or as a CIDR mask (192.168.0.0/24).
If the optional parameter length is given, the D:line will be temporary
(i.e. it will not be stored on disk) and last that long in minutes.
All clients matching the D:line will be disconnected from the server
immediately.
If a reason is specified, it will be sent to the client when they are
disconnected, and, if dline\_reason is enabled, whenever a connection is
attempted which is banned.
D:lines are less load on a server, and may be more appropriate if
somebody is flooding connections.
If the ON part is specified, the D:line is set on servers matching the
given mask (provided a matching shared{} block exists there, which is
not the case by default). Otherwise, the D:Line will be set on the local
server only.
Only exempt{} blocks exempt from D:lines. Being a server or having
kline\_exempt in auth{} does *not* exempt (different from K/G/X:lines).
UNDLINE
-------
UNDLINE
a.b.c.d
ON
servername
Will attempt to remove a D:line from ``dline.conf``, and will flush a
temporary D:line.
TESTGECOS
---------
TESTGECOS
gecos
Looks up X:Lines matching the given gecos.
TESTLINE
--------
TESTLINE
nick
!
user
@
host
a
.
b
.
c
.
d
Looks up the given hostmask or IP address and reports back on any auth{}
blocks, D: or K: lines found. If nick is given, also searches for nick
resvs.
For temporary items the number of minutes until the item expires is
shown (as opposed to the hit count in STATS q/Q/x/X).
This command will not perform DNS lookups; for best results you must
testline a host and its IP form.
The given username should begin with a tilde (~) if identd is not in
use. As of charybdis 2.1.1, no\_tilde and username truncation will be
taken into account like in the normal client access check.
As of charybdis 2.2.0, a channel name can be specified and the RESV will
be returned, if there is one.
TESTMASK
--------
TESTMASK
hostmask
gecos
Searches the network for users that match the hostmask and gecos given,
returning the number of matching users on this server and other servers.
The hostmask is of the form user@host or user@ip/cidr with \* and ?
wildcards, optionally preceded by nick!.
The gecos field accepts the same wildcards as xlines.
The IP address checked against is 255.255.255.255 if the IP address is
unknown (remote client on a TS5 server) or 0 if the IP address is hidden
(auth{} spoof).
LUSERS
------
LUSERS
mask
nick
server
Shows various user and channel counts.
The mask parameter is obsolete but must be used when querying a remote
server.
TRACE
-----
TRACE
server
nick
location
With no argument or one argument which is the current server, TRACE
gives a list of all connections to the current server and a summary of
connection classes.
With one argument which is another server, TRACE displays the path to
the specified server, and all servers, opers and -i users on that
server, along with a summary of connection classes.
With one argument which is a client, TRACE displays the path to that
client, and that client's information.
If location is given, the command is executed on that server; no path is
displayed.
When listing connections, type, name and class is shown in addition to
information depending on the type:
Try.
A server we are trying to make a TCP connection to.
H.S.
A server we have established a TCP connection to, but is not yet
registered.
????
An incoming connection that has not yet registered as a user or a
server (“unknown”). Shows the username, hostname, IP address and the
time the connection has been open. It is possible that the ident or
DNS lookups have not completed yet, and in any case no tildes are
shown here. Unknown connections may not have a name yet.
User
A registered unopered user. Shows the username, hostname, IP
address, the time the client has not sent anything (as in STATS l)
and the time the user has been idle (from PRIVMSG only, as in
WHOIS).
Oper
Like User, but opered.
Serv
A registered server. Shows the number of servers and users reached
via this link, who made this connection and the time the server has
not sent anything.
ETRACE
------
ETRACE
nick
Shows client information about the given target, or about all local
clients if no target is specified.
PRIVS
-----
PRIVS
nick
Displays effective operator privileges for the specified nick, or for
yourself if no nick is given. This includes all privileges from the
operator block, the name of the operator block and those privileges from
the auth block that have an effect after the initial connection.
The exact output depends on the server the nick is on, see the matching
version of this document. If the remote server does not support this
extension, you will not receive a reply.
MASKTRACE
---------
MASKTRACE
hostmask
gecos
Searches the local server or network for users that match the hostmask
and gecos given. Network searches require the oper\_spy privilege and an
'!' before the hostmask. The matching works the same way as TESTMASK.
The hostmask is of the form user@host or user@ip/cidr with \* and ?
wildcards, optionally preceded by nick!.
The gecos field accepts the same wildcards as xlines.
The IP address field contains 255.255.255.255 if the IP address is
unknown (remote client on a TS5 server) or 0 if the IP address is hidden
(auth{} spoof).
CHANTRACE
---------
CHANTRACE
channel
Displays information about users in a channel. Opers with the oper\_spy
privilege can get the information without being on the channel, by
prefixing the channel name with an '!'.
The IP address field contains 255.255.255.255 if the IP address is
unknown (remote client on a TS5 server) or 0 if the IP address is hidden
(auth{} spoof).
SCAN
----
SCAN UMODES
+
modes
-
modes
no-list
list
global
list-max
number
mask
nick!user@host
Searches the local server or network for users that have the umodes
given with + and do not have the umodes given with -. no-list disables
the listing of matching users and only shows the count. list enables the
listing (default). global extends the search to the entire network
instead of local users only. list-max limits the listing of matching
users to the given amount. mask causes only users matching the given
nick!user@host mask to be selected. Only the displayed host is
considered, not the IP address or real host behind dynamic spoofs.
The IP address field contains 255.255.255.255 if the IP address is
unknown (remote client on a TS5 server) or 0 if the IP address is hidden
(auth{} spoof).
Network searches where a listing is given are operspy commands.
CHGHOST
-------
CHGHOST
nick
value
Set the hostname associated with a particular nick for the duration of
this session. This command is disabled by default because of the abuse
potential and little practical use.
Miscellaneous commands
======================
ADMIN
-----
ADMIN
nick
server
Shows the information in the admin{} block.
INFO
----
INFO
nick
server
Shows information about the authors of the IRC server, and some
information about this server instance. Opers also get a list of
configuration options.
TIME
----
TIME
nick
server
Shows the local time on the given server, in a human-readable format.
VERSION
-------
VERSION
nick
server
Shows version information, a few compile/config options, the SID and the
005 numerics. The 005 numeric will be remapped to 105 for remote
requests.
STATS
-----
STATS
type
nick
server
Display various statistics and configuration information.
A
Show DNS servers
b
Show active nick delays
B
Show hash statistics
c
Show connect blocks
d
Show temporary D:lines
D
Show permanent D:lines
e
Show exempt blocks (exceptions to D:lines)
E
Show events
f
Show file descriptors
h
Show hub\_mask/leaf\_mask
i
Show auth blocks, or matched auth blocks
k
Show temporary K:lines, or matched K:lines
K
Show permanent K:lines, or matched K:lines
l
Show hostname and link information about the given nick. With a
server name, show information about opers and servers on that
server; opers get information about all local connections if they
query their own server. No hostname is shown for server connections.
L
Like l, but show IP address instead of hostname
m
Show commands and their usage statistics (total counts, total bytes,
counts from server connections)
n
Show blacklist blocks (DNS blacklists) with hit counts since last
rehash and (parenthesized) reference counts. The reference count
shows how many clients are waiting on a lookup of this blacklist or
have been found and are waiting on registration to complete.
o
Show operator blocks
O
Show privset blocks
p
Show logged on network operators which are not set AWAY.
P
Show listen blocks (ports)
q
Show temporarily resv'ed nicks and channels with hit counts
Q
Show permanently resv'ed nicks and channels with hit counts since
last rehash bans
r
Show resource usage by the ircd
t
Show generic server statistics about local connections
u
Show server uptime
U
Show shared (c), cluster (C) and service (s) blocks
v
Show connected servers and brief status
x
Show temporary X:lines with hit counts
X
Show permanent X:lines with hit counts since last rehash bans
y
Show class blocks
z
Show memory usage statistics
Z
Show ziplinks statistics
?
Show connected servers and link information about them
WALLOPS
-------
WALLOPS
:
message
Sends a WALLOPS message to all users who have the +w umode set. This is
for things you don't mind the whole network knowing about.
OPERWALL
--------
OPERWALL
:
message
Sends an OPERWALL message to all opers who have the +z umode set. +z is
restricted, OPERWALL should be considered private communications.