The World of Mayukh Bose

<< Back to Main Page Mayukh's world: e-mail me | about
Mayukh's World: Free chat program for webmasters Monday, June 05, 2023
My Free Software
  • Delphi/C++ Builder
  • Pocket PC
  • FreeSpeech Chat
  • C/C++ Freebies
  • Perl
  • Python
  • Ruby
  • Contents
  • Introduction
  • Copyrights
  • What is it?
  • Features
  • FAQ
  • Installation
  • Websites using it
  • Credits
  • FreeSpeech Chat e-mail me

    Welcome to the official FreeSpeech home page. This page contains information about the FreeSpeech chat program for webmasters. I wrote this package for fun and I figure that if other people might find it useful as well. Before we start, you might as well read the legal stuff below.
    LEGAL DISCLAIMER: Note that there is NO WARRANTY for this software and the author assumes no responsibilities for any damages or losses caused by these programs. The code is released under the GNU General Public License, and the terms and conditions may be found here. If you choose to use this software in your website, the author would appreciate it if you provide a link back to this website, preferably in the pages where the java applet components of this software package are placed.


    FreeSpeech is a freeware chat software package that webmasters can use to provide chat facilities to their websites. This package was written by Mayukh Bose during a period of absolute boredom. The software package features two separate java chat clients written using Java AWT components (for older browsers) and Java Swing classes (for flashy colors and stuff). The chat server component is written in the C programming language. You can see some snapshots of the program in action by clicking on the screen shots below.


  • Chat client using Java AWT
  • Chat client using Java Swing classes


  • Server is written in C for speed and portability.
  • Chat clients are written in Java for platform independance.
  • Two version of the chat client for different browsers.
  • No royalties or purchases to make. The software is FREE!
  • New: Support added for emoticons :-) and clickable links - (01/12/2002).

    Frequently Asked Questions

    1. Is this software package really free?
    Yes it is. See the LEGAL DISCLAIMER section above for more details.

    2. What are the components of this package?
    There are two components in this package -- a chat server and chat clients.

    3. What are the hardware/software requirements of this package?
    The chat server is written to run under a *nix style environment. It has been tested on Redhat Linux 6.1, 6.2, 7.0 and 7.1 and FreeBSD 4.2-4.4 running on x86 servers. I've tried to make the chat server code stick to the ANSI C standard as much as possible, so it should compile under other hardware platforms such as Sun SPARC or PowerPC hopefully. The chat clients are written in Java and should run under any OS on PCs, Macs, Suns, HP Apollos, SGIs, Crays etc. There are two chat clients in this package. The first one uses AWT components from Java 1.1 and the second one uses the newer Swing components that came with Java 1.2.

    4. What is the difference between the two java chat clients?
    Not much to tell you the truth. The version that uses Swing components shows different messages in different colors and the controls look a little more niftier. As of 01/12/2002, the Swing version also supports emoticons and clickable URL labels. However, some browsers will require a plug-in to be downloaded before they can use the Swing component version. Hence the other version that uses the AWT components was written for those folks who do not want to download the plug-in. To learn more about Swing components, click here.

    5. Can I make changes to the code if I wish to?
    Be my guest. Only please leave my original copyright messages in the code. Also, if you send me your changes, you might find your name in the credits in the next version.

    Installation Instructions

    1. Download the package from here and move the file to the directory of your choice.

    2. Unzip the code using the following command:

        tar -zxvf freespeech.tar.gz

    This should create several directories and files as follows:
    Directory Name Purpose
    chat-server Contains the chat-server code and binaries
    chat-server/bin Contains precompiled chat server code.
    chat-server/src Contains the source code for the chat-server.
    chat-client Contains the chat-client code and sources
    chat-client/java_1.1_src Contains the java source code using AWT components.
    chat-client/java_1.2_src Contains the java source code using Swing components.
    chat-client/webpages Contains the compiled java programs (*.class) and sample web pages containing the java clients.
    chat-client/webpages/images Contains the images for the emoticons.

    3. If you're using Linux on an x86 server, then a precompiled copy of the chat server program (chatserver) is already in the chat-server/bin/ subdirectory. If you have a different environment or you just feel like recompiling the code again, go to the chat-server/src/ directory and type:


    This should recompile the chatserver again. Move the compiled program into an appropriate directory, if necessary.

    3.1. You can also recompile the chat-client java source code, if you make any changes to it or simply feel the urge to do it for no particular reason. If you wish to do this, simply go to the appropriate directories (chat-client/java_1.x_src/) and recompile the *.java files. If you're on a *nix environment AND have a java compiler installed, there is a Makefile in each directory so that you can also type make to recompile the project. Don't forget to move the *.class files that are generated by the compiler to the appropriate webpages/ directory!

    4. If the chatserver program is not on your webserver, then transfer it to your webserver now. Execute the chatserver program on your webserver by typing:

        ./chatserver 6668

    This should start up the chat server program and tell it to listen for connections. Note that 6668 is a port # that the chat server should listen for connections on. If you wish to use a different port #, feel free to change the command appropriately. Normally, you should choose port numbers that are greater than 1024.

    You can also optionally place a text file called in the same directory as the chatserver program. This file contains the message of the day that will be displayed automatically to the user when a chat session is initiated. Edit the file to customize your own start up messages or place an advertisement or whatever. Only ensure that the length of each line in this file does NOT exceed 80 characters.

    5. Determine the IP address of your webserver. Go to the directory chat-client/webpages/ and edit the files chatclient_11.php and chatclient_12.php. Change the IP parameter of both files to the IP of your webserver. If you started the chat server in the step above with a port # other than 6668, then change the port parameter to the appropriate number as well.

    6. Move the files under the chat-client/webpages/ directory to your webserver.

    7. Open a web browser and navigate to http://(your website URL)/chat-client/webpages/javachat.html

    8. From the page above, select either of the links to try out the AWT or the Swing chat client.

    If you're having trouble setting it all up or you want to have some features added to this program, please let me know. All suggestions are welcome.

    Websites Using FreeSpeech

    Please let me know so that I can link to you here.


  • My family
  • W. Richard Stevens for his excellent books on Sockets and Networking.
  • My good friends. You know who you are!
  • Thomas T. Thai, who suggested adding emoticons and clickable URLs.

  • Copyright (c) 2001, 2002 Mayukh Bose. All rights reserved.