goircd -- minimalistic simple Internet Relay Chat (IRC) server
==============================================================
-SYNOPSIS
-
-goircd is very simple IRC server, written on Go.
-
DESCRIPTION
goircd is very simple IRC server, written on Go.
* 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
- and so on
* No ident lookups, reverse DNS queries
But it has some convincing features:
* Optional permanent channel's state saving in plain text files
(so you can reload daemon and all channels topics and keys won't
disappear)
+* Optional ability to authenticate users by nickname and password
Some remarks and recommendations related to it's simplicity:
SUPPORTED IRC COMMANDS
-* NICK/USER during registration workflow
+* PASS/NICK/USER during registration workflow
* PING/PONGs
* NOTICE/PRIVMSG
-* MOTD, LUSERS, WHO, WHOIS, QUIT
+* AWAY, MOTD, LUSERS, WHO, WHOIS, VERSION, QUIT
* LIST, JOIN, TOPIC, +k/-k channel MODE
USAGE
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
-* -tls_key/-tls_cert: enable TLS and specify key and certificate file
-* -verbose: increase log messages verbosity
+ -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
+ -v: increase verbosity
+
+TLS
+
+If you specify -bind and -tlsbind simultaneously, then you will have
+both raw and encrypted listening sockets. You can use -bind "" to
+disable raw socket.
+
+AUTHENTICATION
+
+You can turn on optional client authentication by preparing passwords
+file and using the -passwords argument. Format of passwords file is:
+
+ login1:password1\n
+ login2:password2\n
+ ...
+
+You can force rereading of passwords file without server interruption by
+sending HUP signal to him.
LICENCE