-Description
-===========
-
-SILC (Secure Internet Live Conferencing) is a protocol which provides
-secure conferencing services in the Internet over insecure channel.
-SILC is IRC like softwarre although internally they are very different.
-Biggest similarity between SILC and IRC is that they both provide
-conferencing services and that SILC has almost same commands as IRC. Other
-than that they are nothing alike. Biggest differences are that SILC is
-secure what IRC is not in any way. The network model is also entirely
-different compared to IRC.
-
-
-Running SILC
-============
-
-The development version is still preliminary version and requires some
-work to get it working. You should, first of all, check the example
-configuration files in ./doc/ directory. Change them according to your
-needs.
-
-To run SILC client:
-
- cd silc
- ./silc -f <config file>
-
-To run SILC server
-
- cd silcd
- ./silcd -f <config file>
-
-
-Working Commands
-================
-
-Following commands has been, at least partly, implemented:
-
-
- /SERVER [<server>[:<port>]]
-
- Connects to remote SILC server.
-
- /NICK [<nickname>]
-
- Changes/sets nickname. Note that in SILC there can be
- multiple same nicknames. However, the logic on working
- with multiple nicknames on user interface is pretty much
- still missing. Also note that nicknames in SILC are
- case-sensitive.
-
- /JOIN <channel>
-
- Joins to a channel. Channel names start with `#'
- character.
-
- /LEAVE <channel>
-
- Leaves the channel. If /leave * is given the client
- leaves the current channel.
-
- /CMODE <channel> +|-<modes> [{ <arguments>}]
-
- Changes/sets channel mode. Most of the modes require
- special privileges, such as channel operator or channel
- founder privileges to work. The mode is added by adding
- + before the option(s) and removed by adding - before
- the option(s). Following modes are available:
-
- p Set/unset channel as private channel
- s Set/unset channel as secret channel
- k Set/unset that channel uses private channel key
- i Set/unset channel as invite only channel
- t Set/unset that only channel operator or
- founder may set channel topic
- l <limit> Set/unset channel's user limit
- a <passphrase> Set/unset passphrase for channel that must
- be provided when joining to the channel.
- b <username!nickname@server>
- Add client to/remove client from ban list
- I <username!nickname@server>
- Add client to/remove client from invite list
- c <cipher>[:<keylen>]
- Set/unset channel's cipher
-
- Multiple modes can be set/unset at once if the modes does not
- require any arguments. If mode requires an argument then only
- one mode can be set at once.
-
- /CUMODE <channel> +|-<modes> <nickname>[@<server>]
-
- Changes/set user's mode on a channel. Most of the modes
- require that the client who changes some client's mode must
- be channel founder or channel operator. Following channel
- user modes are available:
-
- a <nickname>[@<server>]
- Set/unset all modes (cannot be used to set
- both founder and operator rights, can be used
- only to remove both modes at once).
- f <nickname>[@<server>]
- Unset channel founder. Channel founder rights
- cannot be set by user (only by server) so this
- can be used only to unset the mode.
- o <nickname>[@<server>]
- Set/unset channel operator. Requires that
- you are channel operator or channel founder.
-
- /MSG <nickname> <message>
-
- Sends private message to remote client. Support for
- handling multiple same nicknames with /MSG command is
- still missing.
-
- /WHOIS <nickname>[@<server>] [<count>]
-
- Gives a little information about a client. Support for
- handling multiple same nicknames with this command is
- still missing.
-
- /PING [<server>]
-
- Pings server. Only locally connected server may be
- pinged.
-
- /INFO [<server>]
-
- Requests information about a server. If argument is
- not specified current server is used.
-
- /AWAY [<message>]
-
- Sets away message. When private message is received and
- away message is set the client automatically replies to
- the sender with the away message. To remove away message
- give the command without arguments.
-
- /QUIT
-
- Quits session. Connection to remote server is closed.
-
- /CLEAR
-
- Clears current screen.
-
- /VERSION
-
- Shows client version.
-
-
-Features
-========
-
-Features to be included into the final release of SILC. [Note that the
-current Developer's Version does not include all of these features, read
-TODO file for more information.]
-
- o Normal conferencing services such as private messages, channels,
- channel messages, etc. All traffic is secured and authenticated.
-
- o No unique nicknames. There can same nicknames in SILC without
- collisions. SILC has unique Client ID's, Server ID's and Channel ID's
- to assure that there are no collisions.
-
- o Secure key exchange and authentication protocol. SILC Key Exchange
- protocol provides key material used in the SILC sessions in secure
- manner. The protocol is immune for example to man-in-the-middle
- attacks. The SILC Authentication protocol provides strong
- authentication. Authentication may be based on passphrase or public
- key (RSA) authentication. For clients there is an option not to
- use authentication when connecting to servers.
-
- o All traffic is encrypted and authenticated using the best cryptographic
- algorithms out there. Command messages, private messages and channel
- messages are all protected by encryption. User can set private keys
- for both private message and for channels so that even SILC servers do
- not know the keys. Cipher keys are, by default, 128 bits in length and
- public keys, by default, 1024 bits in length.
-
- o Supports data compression with GZIP to improve performance.
-
- o Supports SOCKS4 and SOCKS5 firewall traversal protocols.
-
- o SIM (SILC Module) support. Support for loading of shared objects at
- run-time that provides new and extended features to both SILC client
- and server. These can provide extra ciphers and extra features to
- the software.
-
- o SILC client can be installed and used without root privileges.
-
- o SILC client can be configured by system wide configuration files but
- with user specific configuration files as well.
-