-----------| indychat - codecoop.org/projects/indychat |------------------ Welcome to indychat - a php based interface for web based chat sites (irc at the moment). Most of the indychat bitsnpieces are public domain[1]. The contributors are: * pabs * gek * hep indychat relies on a number of different bits to do the hard work for us: * apache - http://www.apache.org * php4 - http://www.php.net * cgiirc - http://cgiirc.sourceforge.net * pjirc - http://www.pjirc.com * overlib - http://www.bosrup.com/web/overlib/ * jirc - http://www.jpilot.com/products/jirc/ None of these are included in the CVS repository or tarballs, you need to download them yourself. 1. The irc_channels script is GPL, because it contains code from cgiirc. ---| apache / php4 apache is the webserver this runs under - mainly useful for the cgiirc bits and easily interfacing with php. php4 is the programming language indychat is implemented in. See apache.conf for an example vhost. ---| cgiirc cgiirc is a web based (HTML+CGI) IRC interface that works in most common browsers, and even works to an extent in the text based browser links! We recommend the CVS version because the latest release (0.5.4 as of this writing) does not have full UTF-8 support. Requires perl. There is a php alternative, but it was nowhere near as mature when indychat was written. We assume that you use the debian version of cgiirc - it contains some important patches. See cgiirc/patches/* for some patches to do the following: * When you close cgiirc via /quit - it outputs a link back to a certain url. * Patch for WEBIRC spoofing to use irc@localhost when using ssl * Patch for logging some HTTP headers when a client claims they use a proxy + Add an indymedia smilie - (((i))) ((i)) (i) - Maybe others Key: *These have been forwarded upstream +Feature enhancements to make these obsolete have been forwarded upstream -Not yet forwarded upstream See cgiirc/formats/* for some translations that may have not made it upstream yet. See cgiirc/m_webirc.c for a simplistic module for ircd-hybrid that implements user/host/ssl spoofing for cgiirc via the WEBIRC command. See cgiirc/trusted-proxy for a list of proxies that we trust to send proper forwarded-for headers - these are mainly from ISPs and universities. See cgiirc/cgiirc.config for an example config. ---| pjirc pjirc is a fast, multi-channel, themeable java applet for IRC. We also considered eirc, but it was unmaintained and slow. It probably would not be too hard to add support for it tho. Translations are to be placed in pjirc/lang/ and named after the language code for the language they are written in. See pjirc/candy.html for how we add smilies and a background and stuff. See pjirc/theme.html for the theme we are using. ---| overlib This is some cross-browser javascript to display floaty descriptions of channels. See overlib/colours.js for our colour scheme. ---| jirc This is a crappy, non-free, single-channel java applet for IRC. The only reasons it is kept around is because cgiirc/pjirc doesn't seem to work on old macs with IE5 and MacOS 9, and for people who are used to and prefer (egads!!) the interface. See jirc/index.html for how we use this crummy software. ---| features Internationalised, multi-channel, has url parameters, eye candy, ssl support and interfaces with wikis (default config supports twiki). ---| directory structure & files apache.conf - stick that in your apache configs cache - stores the cached wiki pages and irc channels cgiirc - stuff we use for cgiirc config.php - some configuration options cron.php - use this to update your cache of the wiki cron.txt - stick in your crontab index.php - main logic interfacing with irc apps lang.php - the internationalisation interface wiki.php - the wiki connection interface *.php - some php that rips stuff off the wiki stylesheet.css - ooooh, prettyness robots.txt - to minimize the whole dating channel phenomenon lang - translations - php files with .html extensions images - background, banner, smilie images pjirc - stuff we use for pjirc jirc - stuff we use for jirc overlib - floaty pupup theme irc_channels - perl script to grab the list of channels from the server scripts.js - some javascript functions TODO - stuff to be done (also search for FIXME) README - this file, silly ---| url interface The most common usage will be: http://chat.indymedia.org/?chans=indymedia,ircd The COOKIE/POST/GET variables available are: nick - your nickname user - only applies to pjirc for now altnick - only applies to pjirc for now real - the irc real name chans (comma separated list of channels to list/join) extra (comma separated list of channels to list/join) chan_foo (on/off) - add the chan to the list, or join it software (cgiirc/pjirc/...) cgiirc (nonjs/ie/mozilla/konqueror/opera/opera7/...) lang (en/es/de/fr/ca/pt/...) form (on/off) - show the form or not candy (on/off) - add smilies/sounds etc detect (on/off) - combine with form=off to autodetect the right software cookie (on/off) - remember some form data in cookies secure (on/off) - use https/ircs when available ---| motto indychat -- bringing more lusers onto IRC since 2004!^W^W^W^W^W^W^W indychat -- helping IMCistas communicate since 2004! --------------------| /bye |----------------------------------------------