X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=README;h=faae872a565d47817ed544d6c7e09ace15a89472;hb=b35f6e7b3c510bea24c0927073720a459055816e;hp=b0082f02dcb8a943d6a2a802fea190a7b484d3e1;hpb=b2f90fb412218973608b24a32eebadc60de9878a;p=goircd.git diff --git a/README b/README index b0082f0..faae872 100644 --- a/README +++ b/README @@ -7,12 +7,13 @@ goircd is very simple IRC server, written on Go. DESCRIPTION +goircd is very simple IRC server, written on Go. It is heavily inspired by miniircd daemon written on Python. -It is not aimed to replace full featured mass scalable IRC networks: +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 not support for channel operators, modes, votes, invites +* There is no support for channel operators, modes, votes, invites and so on * No ident lookups, reverse DNS queries @@ -22,23 +23,24 @@ But it has some convincing features: * Single executable binary * No configuration file, just few command line arguments * IPv6 out-of-box support +* Ability to listen on TLS-capable ports * Optional channel logging to plain text files * 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↔password Some remarks and recommendations related to it's simplicity: * Use either nohup or similar tools to daemonize it -* Use either crywrap or similar tools for TLS-capable connections * Just plain logging on stderr, without syslog support SUPPORTED IRC COMMANDS -* NICK/USER during registration workflow +* PASS/NICK/USER during registration workflow * PING/PONGs * NOTICE/PRIVMSG -* MOTD, LUSERS, WHO, WHOIS, QUIT +* MOTD, LUSERS, WHO, WHOIS, VERSION, QUIT * LIST, JOIN, TOPIC, +k/-k channel MODE USAGE @@ -54,6 +56,29 @@ Just execute goircd daemon. It has following optional arguments: * -statedir: directory where all channels states will be saved and loaded during startup. If omitted, then states will be lost after daemon termination +* -tlsbind/-tlskey/-tlscert: enable TLS, specify address to listen on, + certificate and key files +* -passwords: enable client authentication and specify path to + passwords file +* -verbose: increase log messages 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