X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=README;h=4ed2fba46b2cbae88c5fb6a5382ed14b85d04192;hp=7ca53522c21cb5dbd754eb0dc8535d8bf161417c;hb=HEAD;hpb=0e5fab48d31d5e3b65ab29791fb9ded8351ef73a diff --git a/README b/README index 7ca53522..4ed2fba4 100644 --- a/README +++ b/README @@ -1,116 +1,32 @@ SILC - Secure Internet Live Conferencing ======================================== -[NOTE: SILC is still in middle of development and this package is known -as Developer's Version which means that the package is in no means stable -or ready to be in production use. This package is for those who wants -to test SILC, find bugs and maybe contribute some time and code for the -SILC project. There is no guarantees that this package even compiles and -even if it compiles there is no guarantees that it would work, and even -if it works there is no guarantees that it would work correctly, and even -if it seems to work correctly it may be just plain luck.] - - -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 +secure conferencing services on the Internet over insecure channel. +SILC is IRC-like software although internally they are very different. +The biggest similarity between SILC and IRC is that they both provide +conferencing services and that SILC has almost the same commands as IRC. +Other than that they are nothing alike. Major 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 - -To run SILC server - - cd silcd - ./silcd -f - - -Working Commands -================ - -Following commands has been, at least partly, implemented: - - - /SERVER [[:]] - - Connects to remote SILC server. - - /NICK [] - - 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 - - Joins to a channel. Channel names start with `#' - character. - - /LEAVE - - Leaves the channel. If /leave * is given the client - leaves the current channel. - - /MSG - - Sends private message to remote client. Support for - handling multiple same nicknames with /MSG command is - still missing. - - /WHOIS [@] [] - - Gives a little information about a client. Support for - handling multiple same nicknames with this command is - still missing. - - /PING [] - - Pings server. Only locally connected server may be - pinged. - - /INFO [] - - Requests information about a server. If argument is - not specified current server is used. - - /AWAY [] - - 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 +After installing the SILC to the system the SILC client is started by +giving command: - Quits session. Connection to remote server is closed. + silc - /CLEAR +If you want to run with specific configuration file give -f option. - Clears current screen. +To run the server you should configure the server first. To run the +server give the command: - /VERSION + silcd - Shows client version. +This will launch the server on to the background. Features @@ -160,63 +76,44 @@ TODO file for more information.] History ======= -Even though SILC were just released to the public the idea and the protocol -itself is quite old. I got the idea about SILC in its current form in -the year 1996 and first lines of codes were written in early 1997. This -release is now third rewrite of the SILC. The very first version were -written in 1997 and it included SILC client and very very preliminary -SILC server. The server actually weren't usable but the client looked -pretty much the same as it does now. At that time the SILC also included -RSA implementation and 3DES implementation. The random number generator -that exists in this current release is actually based on the RNG written -in 1997. The RNG written in 1997, on the other hand, were based on -the SSH's random number generator. The RNG has been rewritten twice -since the first version. - -I stopped writing the SILC later in 1997 when I got busy at school and -in work. The pause lasted several months. The development resumed in -1998 when my friend (Juha Räsänen) and I implemented ElGamal algorithm. -I rewrote some other parts as well. However, for the same reasons as -previously the development stopped again. I resumed the development -later in 1998 by doing rewrite of the SILC in C++. This was obviously -a mistake but at that time it seemed like a good idea. Again, in the -winter 1999 I got very busy writing my thesis and was forced to stop the -development again. I also, started a new job in the spring. - -Later, in 1999, I decided that this time I'm going to make it the right -way. C++ was obviously a bad choice so I decided to fall back to plain -C language. I also decided to do complete rewrite and started doing -more thorough planning of what the SILC actually should include. I also -decided that this time it is going to kill me before I stop the -development. I started writing SILC in the weekends and actually -everytime I had some spare time. I also started a new job but I didn't -let that get to my way. The result of this development effort is the -release now in public. - -I've learned a lot by doing the SILC. I guess, when I started it I wasn't -that good of a C programmer. That alone was a reason why SILC hasn't -seen the day of light before now. My programming style has also changed -dramatically during these years. Actually, it has changed couple times -since this last rewrite as well. However, the code style of current SILC -release is quite consistent (actually the coding style SILC has been -written now I've learned in my current job). - -There is probably over 85% of new code in this third rewrite. Rest has -just been copied from the old versions and only minor changes has been -made (like changed function names and overall coding style). I've -preserved the dates of the old files (dating back to 1997) that has -existed in some forms in the old versions. There is a lot of new code but -already I see a lot that needs rewriting. The development continues. +SILC was released in the summer 2000 to the public, but the idea and the +protocol itself is quite old. The SILC was designed by Pekka Riikonen in +the year 1996 and first lines of codes were written in the early 1997. The +SILC has been rewritten three times since its very first version in 1997. +The first version included SILC client, very preliminary SILC server, RSA +implementation and 3DES implementation. The server actually was not usable +but the client looked pretty much the same as the first client released in +the summer 2000. The first version had also random number generator which +were based on the SSH's random number generator. The current RNG is based +on the first RNG but has been rewritten twice since the first version. + +The development of SILC was suspended in 1997 when Pekka got busy at +school and in work. The pause laster several months. The development +resumed in 1998 when Juha Räsänen and Pekka implemented the ElGamal +algorithm. However, for the same reasons as previously the development +stopped again, and was resumed again later in 1998 by doing rewrite of +ther SILC in C++. This was obviously a mistake but at that time it seemed +like a good idea. Again, in the winter 1999 the development suspended when +Pekka got busy writing his thesis and was forced to stop the development. + +Later, in 1999, it was decided that this time SILC will be rewritten from +scratch in the right way. C++ was obviously a bad choice so plain C +language was selected again. The protocol itself faced some rework by +redesigning some core parts of the protocol. The protocol was also fully +documented and the protocol specifications were submitted to the IETF. The +result of this development effort is the release now in public. Since the +release in the summer 2000 several other people have contributed to the +project as well. And, the development continues. Contact ======= -Feedback and comments are welcome. You can reach me in the following -Address. +Feedback and comments are welcome. Bug reports should be sent to the +development mailing list. -Official SILC project web site is : http://silc.pspt.fi -FTP archive for SILC project is : ftp://silc.pspt.fi/pub/silc/ -Development mailing list address is : silc-devel@lists.sourceforge.net +Official SILC project web site : http://silcnet.org/ +FTP archive for SILC project : ftp://ftp.silcnet.org/ +Development mailing list address : silc-devel@lists.silcnet.org +SILC Server : /server silc.silcnet.org - Pekka Riikonen