X-Git-Url: http://www.git.cypherpunks.ru/?p=goircd.git;a=blobdiff_plain;f=README;h=0a118097357d6ed3a60c7365c21d58ee7c056df7;hp=183e164b6cca06fd5b237cb1ff0975116a794ca8;hb=b640107b1fd5f1013d59e26ff0102aeb0b3f5f99;hpb=f46c678ce03915d6f081cf2f78ac7fe885cdb001 diff --git a/README b/README index 183e164..0a11809 100644 --- a/README +++ b/README @@ -1,21 +1,17 @@ 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 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 - and so on -* No ident lookups, reverse DNS queries +* No ident lookups But it has some convincing features: @@ -28,7 +24,7 @@ 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↔password +* Optional ability to authenticate users by nickname and password Some remarks and recommendations related to it's simplicity: @@ -40,26 +36,33 @@ SUPPORTED IRC COMMANDS * PASS/NICK/USER during registration workflow * PING/PONGs * NOTICE/PRIVMSG -* MOTD, LUSERS, WHO, WHOIS, VERSION, 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 -* -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 + +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 @@ -68,10 +71,22 @@ file and using the -passwords argument. Format of passwords file is: login1:password1\n login2:password2\n - … + ... + +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: -You can force rereading of passwords file without server interruption by -sending HUP signal to him. + % cat states/meinroom + This is meinroom's topic + secretkey LICENCE