]> Cypherpunks.ru repositories - goircd.git/blobdiff - README
Many fixes and additions
[goircd.git] / README
diff --git a/README b/README
index f3a0ec039a017558de08430c0cd324f7e4d8eb30..e9c5eb110a785cce6b2886f68a83cf0ec7dfae63 100644 (file)
--- a/README
+++ b/README
@@ -5,12 +5,12 @@ DESCRIPTION
 
 goircd is very simple IRC server, written on Go.
 It was heavily inspired by miniircd daemon written on Python.
 
 goircd is very simple IRC server, written on Go.
 It was heavily inspired by miniircd daemon written on Python.
-GoVPN is free software: see the file COPYING for copying conditions.
+goircd 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
 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
+* There is no support for channel operators, many modes, votes, invites
 * No ident lookups
 
 But it has some convincing features:
 * No ident lookups
 
 But it has some convincing features:
@@ -19,8 +19,8 @@ But it has some convincing features:
 * Single executable binary
 * No configuration file, just few command line arguments
 * IPv6 out-of-box support
 * 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
+* Ability to additionally listen on TLS-capable ports
+* Optional channels 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 permanent channel's state saving in plain text files
   (so you can reload daemon and all channels topics and keys won't
   disappear)
@@ -28,35 +28,42 @@ But it has some convincing features:
 
 Some remarks and recommendations related to it's simplicity:
 
 
 Some remarks and recommendations related to it's simplicity:
 
-* Use either nohup or similar tools to daemonize it
-* Just plain logging on stderr, without syslog support
+* Use daemontools to daemonize, setuid/gid it
+* Just plaintext logging to stdout, without syslog support -- use
+  daemontool's multilog
 
 SUPPORTED IRC COMMANDS
 
 * PASS/NICK/USER during registration workflow
 * PING/PONGs
 * NOTICE/PRIVMSG, ISON
 
 SUPPORTED IRC COMMANDS
 
 * PASS/NICK/USER during registration workflow
 * PING/PONGs
 * NOTICE/PRIVMSG, ISON
-* AWAY, MOTD, LUSERS, WHO, WHOIS, VERSION, QUIT
+* AWAY, MOTD, LUSERS, NAMES, WHO, WHOIS, VERSION, WALLOPS, QUIT
 * LIST, JOIN, TOPIC, +k/-k channel MODE
 
 USAGE
 
 Just execute goircd daemon. It has following optional arguments:
 
 * 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 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
+       -hostname: hostname to show for client's connections
+           -bind: address to bind to (:6667 by default)
+          -cloak: cloak user's host with the given hostname
+           -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
+         -passwd: enable client authentication and specify path to
+                  passwords file
+    -timestamped: enabled timestamps for stderr messages
+        -verbose: increase verbosity
+          -debug: also show traffic messages
+ -perm-state-dir: permission (before umask) for newly created state directory
+-perm-state-file: permission (before umask) for newly created state file
+  -perm-log-file: permission (before umask) for newly created log file
 
 TLS
 
 
 TLS
 
@@ -69,10 +76,12 @@ AUTHENTICATION
 You can turn on optional client authentication by preparing passwords
 file and using the -passwords argument. Format of passwords file is:
 
 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
+    login1:hex(sha256(password1))\n
+    login2:hex(sha256(password2))\n
     ...
 
     ...
 
+You can get hashed password value using: echo -n password | sha256
+
 LOG FILES
 
 Log files are not opened all the time, but only during each message
 LOG FILES
 
 Log files are not opened all the time, but only during each message
@@ -80,20 +89,14 @@ saving. That is why you can safely rename them for rotation purposes.
 
 STATE FILES
 
 
 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
+Room's state is created/saved when either topic or key is set. State is
+a directory (room's name) with "topic" and "key" plaintext files.
 
 LICENCE
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 
 LICENCE
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-any later version.
+the Free Software Foundation, version 3 of the License.
 
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of