goircd is very simple IRC server, written on Go.
It is heavily inspired by miniircd daemon written on Python.
+GoVPN is free software: see the file COPYING for copying conditions.
It does not aim to replace full featured mass scalable IRC networks:
* It can not connect to other servers. Just standalone installation
* It has few basic IRC commands
* There is no support for channel operators, modes, votes, invites
-* No ident lookups, reverse DNS queries
+* No ident lookups
But it has some convincing features:
Just execute goircd daemon. It has following optional arguments:
-* -hostname: hostname to show for client's connections
-* -bind: address to bind to (:6667 be default)
-* -motd: absolute path to MOTD file. It is reread every time MOTD is
- requested
-* -logdir: directory where all channels messages will be saved. If
- omitted, then no logs will be kept
-* -statedir: directory where all channels states will be saved and
- loaded during startup. If omitted, then states will be
- lost after daemon termination
-* -tlsbind/-pem: enable TLS, specify address to listen on and path
- to PEM file with certificate and private key
-* -passwords: enable client authentication and specify path to
+ -hostname: hostname to show for client's connections
+ -bind: address to bind to (:6667 by default)
+ -motd: absolute path to MOTD file. It is reread every time
+ MOTD is requested
+ -logdir: directory where all channels messages will be saved. If
+ omitted, then no logs will be kept
+ -statedir: directory where all channels states will be saved and
+ loaded during startup. If omitted, then states will be
+ lost after daemon termination
+ -tlsbind: enable TLS, specify address to listen on and path
+ -tlspem to PEM file with certificate and private key
+ -passwords: enable client authentication and specify path to
passwords file
-* -verbose: increase log messages verbosity
+ -v: increase verbosity
TLS
login1:password1\n
login2:password2\n
- …
+ ...
-You can force rereading of passwords file without server interruption by
-sending HUP signal to him.
+LOG FILES
+
+Log files are not opened all the time, but only during each message
+saving. That is why you can safely rename them for rotation purposes.
+
+STATE FILES
+
+Each state file has the name equals to room's one. It contains two plain
+text lines: room's topic and room's authentication key (empty if none
+specified). For example:
+
+ % cat states/meinroom
+ This is meinroom's topic
+ secretkey
LICENCE