]> Cypherpunks.ru repositories - goircd.git/blobdiff - README
Many fixes and additions
[goircd.git] / README
diff --git a/README b/README
index 663aaf30096e91a020217eded12b328025acdc3f..e9c5eb110a785cce6b2886f68a83cf0ec7dfae63 100644 (file)
--- a/README
+++ b/README
@@ -10,7 +10,7 @@ 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:
@@ -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
-* 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)
@@ -28,35 +28,42 @@ But it has some convincing features:
 
 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
-* 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:
 
-   -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
 
@@ -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:
 
-    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
@@ -80,13 +89,8 @@ 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
+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