CGI:IRC
Web based IRC Client
Introduction
CGI:IRC is a Perl/CGI program that lets you access IRC from a web browser, it is designed to be flexible and has many uses such as an IRC gateway for an IRC network, a chat-room for a website or to access IRC when stuck behind a restrictive firewall.
See the features page for more information on the features or try the demo.
CGI:IRC 0.5.12
There's a new release out, with a security fix:
  • CVE-2017-8920: XSS in 'R' parameter. Thanks to Niklaus Schiess for discovering this.
Date: 6 June 2017 Author: dgl
CGI:IRC 0.5.11
There's a new release out, including various browser bug fixes.
  • Key handling fixes for WebKit, removed outline for Chrome.
  • Made it more obvious when the stream is disconnected.
  • Optional support for smilies (see cgiirc.config.full and docs/smilies.conf.example)
Date: 24 September 2013 Author: dgl
CGI:IRC works on the iPhone!
As you can see to the right CGI:IRC works fine on the iPhone (although I can't try it, being in the UK). The only issue is typing hides the other text, I don't think there is a way around this as it's how the iPhone's interface works.
Date: 1 July 2007 Author: dgl
0.5.9 released
Just some bugfixes: fix /help, problems on Mozilla suite and server balancing. (details).
Date: 6 June 2006 Author: dgl
0.5.8 released
Lots of changes in this one, many more translations, lots of bug fixes (UTF8, identd and more). There was a buffer overflow in client.c, so please upgrade if you're using it! (CVE details).
Date: 30 April 2006 Author: dgl
0.5.7 released
This release fixes yet more UTF-8 bugs (and now works on Perl 5.6 again!), there is also a perform config option. (cvs log).
Date: 19 June 2005 Author: dgl
0.5.6 released
This release fixes more UTF-8 bugs and adds a /charset command to make it easier to change character sets (see the FAQ for details), the list of non-supported browsers was also updated (cvs log).
Date: 10 February 2005 Author: dgl
0.5.5 released
This is mostly a bug fix release including fixes for Firefox, proper UTF-8 support (including conversion using Encode). The main feature additions are for support for the config file in /etc and multiple ipaccess files (cvs log). CGI:IRC now has a wiki, the bug tracking has also moved to it.
Date: 8 January 2005 Author: dgl
0.5.3 released
This is pretty much the same as 0.5.3pre2 with the addition of support for Opera 7 using the new interface and new output options which allow you to do things like disable joins/quits and show whois in active window which was one of the more requested features.. (see cgiirc.config.full for more information).
Date: 29 October 2003 Author: dgl
New pre-release
There is a pre-release of 0.5.3 on the releases page, there aren't any major features just quite a few bug fixes (including the Mozilla ) key problem, +/! channels for IRCnet and proper error messages when there's a problem connecting to the IRC server). The ipaccess file has also been extended to allow hostnames (see the example file for more information) and there is support for making a sound when a user joins or sends you a message (enabled via the options window) but it only works on IE at the moment. Hopefully if there are no problems I can release 0.5.3 soon..
Date: 27 October 2003 Author: dgl
0.5.2 released
With all the talk of a new redesigned version I thought it was time to release the current CVS code as stable, it hasn't been changed much for several months and I have been using it pretty frequently. The most visible change is the new icons, they aren't anything to do with me though so I must say thank you to Johnny for making them. The only new feature is a way for pastes to actually paste the text rather than a single line (in Internet Explorer only) and there is also the usual assortment of bug fixes, including fixes for sending the encoded IP address, problems with clients not disconnecting, URLs with www. in them not hilighting properly and one of the most asked about ones - Internet Explorer on Mac is now usable again. Unless there are any serious bugs or the redesign takes much longer than expected this will probably be the last release of 0.5.x.
Date: 18 January 2003 Author: dgl
CGI:IRC Redesign

I have been muttering about a redesign of CGI:IRC for a long time, and finally I'm getting near to having working code (not finished but working). The major change of the redesign is that the main program is not seperate for each user, there is one perl proccess that does everything. This means that it runs as a daemon proccess and therefore it needs to be running all the time, this means on the server CGI:IRC (if I can still call it that) will be more complex to install. It will mean it won't be easy to install without a shell account (but most web hosting providers aren't happy with people using CGI:IRC anyway, due to the massive resource usages). The resource usage will hopefully go from about 3-4MB per user with the CGI based CGI:IRC to a few hundred KB per user (with the possibility to be reduced even further). It will also possibily enable a refresh based chat rather than the current 'streaming' technique that is used to allow people stuck behind broken web proxies or stuck with nasty browsers (like Opera) to use it, obviously streaming will still be the default.

Obviously the old CGI:IRC will still exist if people prefer to use that, but I can see most serious users of CGI:IRC benefiting from this, apart from the case of when it is infrequenty used with few users, it might be possible to have a little wrapper that will run it only when it's needed though.

Basically, could you (as the users) let me know what you think about this? :)

Date: 17 January 2003 Author: dgl
0.5.1 Released!
Style selection to allow for easier creation of custom looks (by editing formats/default and interfaces/style-default.css). Support for KDE Konqueror version 3+. Trusted web proxies can be specified so we can always display the client's real hostname (they are specified in the file trusted-proxy, when using the host spoofing option or setting encoded_ip = 3 in the config file they will be used). Many bug fixes, such as fixes for the Alt Gr problem, queries appearing in status and lots of other things.
Date: 15 November 2002 Author: dgl
It's still here!
Sorry things have been kind of slow lately, I've decided that although I'm not totally happy with what's in CVS, I'm going to release it as I think it beats 0.5 quite nicely. The memory usage of CGI:IRC because it runs as a Perl CGI is begining to become quite a problem, I'm thinking of redesigning it towards a more server based system, at the moment I just have ideas, but soon there should be some sort of code. When sourceforge has come back from the dead 0.5.1 should be released (it might be tomorrow now), if you're impatient just get the current CVS as it's the same thing.
Date: 15 November 2002 Author: dgl
Update
Slowly the next version of CGI:IRC is coming together, the main new feature is selection of styles but there's a lot of other stuff I want to get finished before releasing it. I've been running my own public gateway for awhile which is a nice way to test the new versions on unsuspecting people ;) (It's here if you want to use it).
Date: 18 August 2002 Author: dgl
Apache 2 and Konqueror
In the bad side of news Apache 2 doesn't work properly with CGI:IRC, I'd be interested to hear if anyone knows how to make it work (it's a problem with the stream - the output is buffered). The demo is broken at the moment due to this. The good news is KDE konqueror 3 works quite nicely with the mozilla interface with a few changes - this is in the CVS version.
Update: There is an apache bug report about streams not working on apache 2 here thanks to zapp for the URL (and yes - the demo is now sort of working again).
Date: 19 June 2002 Author: dgl
Host changing patch
Several people have asked about the host changing bot, well I didn't really like the host changing bot and needed to practice my C coding so I made a patch to bahamut to actually work at the ircd level. This is against blitzed-bahamut but it should apply to bahamut 1.4.34 as well. CGI:IRC needs a patch as well, to send the real IP address and real hostname as the server password. bahamut-cgiirchost.diff and cgiirc-realhost-password.diff. (You need to set the option realhost_as_password in the CGI:IRC config file and also add an I:line with the password of CGIIRC matching the host your CGI:IRC is running from).
This requires patching the ircd, so please don't ask me for help if you can't patch the ircd.
Date: 19 May 2002 Author: dgl
0.5 Released
Here it is, the long awaited release with tabs and all the other niceties. You can download it from the download page. All the docs have been updated and obviously there is a nice new website ;-).
Executive Change Summary:
- Total rewrite with many of the old problems removed
- New interfaces with tabs for channels
- Userlist causes less load on the system
- Connection to IPv6 servers
Date: 12 May 2002 Author: dgl
IPv6 now working
I've finally got IPv6 working properly in 0.5, it has been tested with bahamut+inet6, now all that needs doing is documenting each option (but it's very hard to not change little things while i'm doing this ;-) ).
Date: 9 May 2002 Author: dgl
Nearing release of 0.5
0.5 is nearly ready for release, just a few bugs to fix, admin interface and documentation to be written. Please try out the current CVS version and treat it as a beta, report bugs, features I said I would include and haven't and anything else. The main thing lacking is docs, which I hope to have written soon and also a new nice website will be coming in time for the new release. 0.5 Demo.

Let me add what needs testing, IPv6 support has hardly been tested it would be nice if people could report back on success/failure with it (it needs Socket6 at the moment..), the workaround for opera needs testing as well, different IRC servers also need testing (basic support for 005 numeric is in this version) and in general it just needs testing on as many different OS/Server/Perl/Web Browser combinations as possible. So get it from CVS and report back :)
Date: 2 May 2002 Author: dgl
Update on new version
The new version is slowly progressing, there is a demo of it at dgl.otherwize.co.uk/test/irc.cgi.
Date: 14 April 2002 Author: dgl
New version
Work on the new version is progessing well, multiple tabbed interfaces are working on Internet Explorer and Mozilla although the TODO list is still getting longer.. The web based forums have been removed in favour of a mailing list and soon the CVS of the new version will be available.
Date: 9 March 2002 Author: dgl
Update
Well, i got bored, work on a totally new version has started - hopefully a nearly full rewrite. The aim main is to clean the code up as much as possible and make a nicer interface, although other niceties such as IPv6 support are planned. If you have any good ideas then now is a good a time as any to say :).
Date: 22 Feb 2002 Author: dgl