ChatterRoom by Mike Stewart Copyright (C) 2000, Mike Stewart Based on S8 Chat - http://www.s8.org Released under the GNU Public License - see GNU.txt Working Demo at: http://hammer.prohosting.com/~mike1983/cgi-bin/chat/ Source Code at: http://hammer.prohosting.com/~mike1983/code/chat/ ----------------------------------------------------------------------------- Currently this works only under UNIX (or derivitives like Linux). I built and tested this using the following: Apache Server v1.3.6 with Perl 5.0 running on the BSDI OS ----------------------------------------------------------------------------- Current Version: 1.12 in beta test stage (released on Apr 12, 2000) ----------------------------------------------------------------------------- Features: - Unlimited number of chat rooms - No Java Applets - Automatic Reload Option - Quick - User Defined Chats w/ Automatic Deletion - Commands can be sent from chatadd... see commands.txt - Banning by Numerical IP (xxx.xxx.xxx.xxx) - Works with most browsers - Private Chatrooms - Chatroom Listing... on Home page and Chatadd - Time/Date Stamp on posts - Current Time/Date at top of chat - Easily customized - E-mail and URL Fields... Links open in a new window - Limited HTML support... dangerous tags disabled - much more... TRY IT TODAY ----------------------------------------------------------------------------- It's easy to get started... just follow these instructions: ----------------------------------------------------------------------------- If you want multiple chatrooms with ability of User-Defined chats: 1) Make sure the path to PERL in the .cgi files is correct. It's the first line and should look something like: #! /usr/bin/perl This path changes depending on how your server is set up, so make sure you get the correct path to PERL, or you will get and error. 2) Edit the chat.setup file. See this file itself for infromation. 3) Edit the chat.config file. One line for every chatroom you want. Each line must look as so: UniqueChatroomID|Chatroom Name|Short Description of Chat|password The first three are required. All three pipes (|) are also required. If you set the password, it make the chat a private chat that cannot be viewed nor posted to without that password. 4) Create the files for each chatroom you defined in the chat.config file. The files are named UniqueChatID.file, and must have the following in them: .header - The HTML code to be placed at the top of the chatroom .footer - The HTML code to be placed at the bottom of the chatroom .chat - blank... will be used to hold chat entries .ban - blank... will be used to store the ban data .banpass - The password to use for chat commands. .lock - Put a 0 in here 5) Upload all the files in ASCII mode: index.cgi - The base chat file - 755 reload.cgi - Handles the reload command - 755 chatadd.cgi - Creates the chatadd - 755 addchat.cgi - Handles user input to the chatroom - 755 command.cgi - Handles user commands - 755 cgi-lib.cgi - Useful module that processes CGI input - 755 chat.setup - Contains Universal chat settings - 755 chat.config - List of chatrooms - 777 Any files created in step 3 - 777 6) Set permissions. See the files above for thier permissions. Make sure the directory that the files are in is set to 755. 7) Make a subdirectory called user under the base chat directory, and set it permission to 777. This directory will hold all the user-defined chat files. 8) Begin chatting... point your browser to the directory where you uploaded the files, choose a chatroom, and HAVE FUN! Note: If you want to shut down the chat for some reason, just upload a file named offline.txt. The contents of this file will be shown, with a message saying the chatroom is closed. ----------------------------------------------------------------------------- If you want a single chatroom: 1) Make sure the path to PERL in the .cgi files is correct. It's the first line and should look something like: #! /usr/bin/perl This path changes depending on how your server is set up, so make sure you get the correct path to PERL, or you will get and error. 2) Edit the chat.setup file. See this file itself for infromation. 3) Edit the files for the chatroom, so they have the follwing in them: chat.header - The HTML code to be placed at the top of the chatroom chat.footer - The HTML code to be placed at the bottom of the chatroom chat.chat - blank... will be used to hold chat entries chat.ban - blank... will be used to store the ban data chat.banpass - The password to use for chat commands. chat.lock - Put a 0 in here 4) Upload all the files in ASCII mode: index.cgi - The base chat file - 755 reload.cgi - Handles the reload command - 755 chatadd.cgi - Creates the chatadd - 755 addchat.cgi - Handles user input to the chatroom - 755 command.cgi - Handles user commands - 755 cgi-lib.cgi - Useful module that processes CGI input - 755 chat.setup - Contains Universal chat settings - 755 All files from step 3 - 777 5) Set permissions. See the files above for thier permissions. Make sure the directory that the files are in is set to 755. 6) Begin chatting... point your browser to the directory where you uploaded the files, choose a chatroom, and HAVE FUN! Note: If you want to shut down the chat for some reason, just upload a file named offline.txt. The contents of this file will be shown, with a message saying the chatroom is closed. ----------------------------------------------------------------------------- Planned Features: ----------------- - Automatic/Browser-Based Setup - List of Users in Chat - More compact - Windows Compatible - User Expression (emoticons) - ICQ/AIM/MSN etc. box with OL status - working File Locking Routine - Encrypted Passwords - and Much More... ----------------------------------------------------------------------------- Version Diffrences ------------------ v1.12b (Apr 12, 2000) --------------------- fixed a bug with \n and \r v1.11b (Apr 11, 2000) --------------------- slight interface change in chatadd v1.10b (Apr 10, 2000) --------------------- fixed bug with .admin file of user chats stored basic info in chat.setup slight interface changes v1.00b (Apr 9, 2000) -------------------- Done adding fetures... Beta release... testing for bugs removed File Locking routine... was hanging up the server Added Version Information at the bottom of all pages v1.00a (Apr 7, 2000) -------------------- Added many features Created the script