]> Cypherpunks.ru repositories - goircd.git/blob - README
Initial commit
[goircd.git] / README
1      goircd -- minimalistic simple Internet Relay Chat (IRC) server
2      ==============================================================
3
4 SYNOPSIS
5
6 goircd is very simple IRC server, written on Go.
7
8 DESCRIPTION
9
10 It is heavily inspired by miniircd daemon written on Python.
11 It is not aimed to replace full featured mass scalable IRC networks:
12
13 * It can not connect to other servers. Just standalone installation
14 * It has few basic IRC commands
15 * There is not support for channel operators, modes, votes, invites
16   and so on
17 * No ident lookups, reverse DNS queries
18
19 But it has some convincing features:
20
21 * Only standard Go libraries, no external requirements
22 * Single executable binary
23 * No configuration file, just few command line arguments
24 * IPv6 out-of-box support
25 * Optional channel logging to plain text files
26 * Optional permanent channel's state saving in plain text files
27   (so you can reload daemon and all channels topics and keys won't
28   disappear)
29
30 Some remarks and recommendations related to it's simplicity:
31
32 * Use either nohup or similar tools to daemonize it
33 * Use either crywrap or similar tools for TLS-capable connections
34 * Just plain logging on stderr, without syslog support
35
36 SUPPORTED IRC COMMANDS
37
38 * NICK/USER during registration workflow
39 * PING/PONGs
40 * NOTICE/PRIVMSG
41 * MOTD, LUSERS, WHO, WHOIS, QUIT
42 * LIST, JOIN, TOPIC, +k/-k channel MODE
43
44 USAGE
45
46 Just execute goircd daemon. It has following optional arguments:
47
48 * -hostname: hostname to show for client's connections
49 * -bind: address to bind to (:6667 be default)
50 * -motd: absolute path to MOTD file. It is reread every time MOTD is
51          requested
52 * -logdir: directory where all channels messages will be saved. If
53            omitted, then no logs will be kept
54 * -statedir: directory where all channels states will be saved and
55              loaded during startup. If omitted, then states will be
56              lost after daemon termination
57
58 LICENCE
59
60 This program is free software: you can redistribute it and/or modify
61 it under the terms of the GNU General Public License as published by
62 the Free Software Foundation, either version 3 of the License, or
63 any later version.
64
65 This program is distributed in the hope that it will be useful,
66 but WITHOUT ANY WARRANTY; without even the implied warranty of
67 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
68 GNU General Public License for more details.