Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Main features  





2 Use of CGI:IRC  





3 Abuse of CGI:IRC  





4 Server side  





5 See also  





6 References  





7 External links  














CGI:IRC






العربية
Français
Norsk bokmål
Русский
 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


CGI:IRC
Developer(s)David Leadbeater
Initial releaseSeptember 9, 2000 (2000-09-09)
Stable release0.5.12 (June 6, 2017; 7 years ago (2017-06-06)) [±]
Repositorysourceforge.net/projects/cgiirc/
Written inPerl
TypeIRC client
LicenseGNU General Public License
Websitecgiirc.org

CGI:IRC is a CGI program written in Perl that allows access to IRC via a web browser.[1] 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.[2]

CGI:IRC will work in most browsers, including text based browsers such as Links. To make full use of most of the available features, a newer version is essential; older browsers will work, but CGI:IRC will use a single windowed interface instead and the names list will not update as quickly.

Main features[edit]

With a modern browser (with JavaScript and DHTML enabled),[2] CGI:IRC will present a tabbed interface similar to GUI IRC clients. Tab completion and keyboard shortcuts are available, for example ALT+window-number jumps to a particular window.

Some common IRC client features are unavailable, such as scripting, DCC chat, and file transfers, due to the webserver-based nature of CGI:IRC.[2]

Use of CGI:IRC[edit]

CGI:IRC is used by many IRC networks to provide a way for users to chat on their network from within their web browser. When used in this way, most of the functions are disabled for security reasons, i.e. the user is unable to connect to a different server, sometimes the channels that the user may join are restricted. Due to the nature of CGI:IRC, users are unable to use DCC.[1]

What was a seemingly inconsequential implementation of the IRC protocol is increasingly being seen as a means to evade bans in IRC chat rooms. Several IRC servers have, as a consequence, developed an intolerance for CGI connections. Compounding this development is the fact that there does not exist a means to effectively distinguish between a CGI connection and a real IRC connection.

Some IRC servers may display the true hostname of the connecting client, most will only show the hostname of the CGI:IRC proxy. However, this does not offer much in the way of privacy, since the IP address of the user is hex encoded and included in the ident and/or real name. A simple perl script to decode the IP is included with CGI:IRC. Depending on how CGI:IRC is configured, it may also return the users true IP address (in addition to the HTTP headers) in response to a CTCP USERINFO request.

Abuse of CGI:IRC[edit]

Just like other open proxies, open installations of CGI:IRC, which do not restrict the server used, can also be abused. Usually CGI:IRC is abused to create many clones, which are used to flood an IRC network or a particular user. In response, many networks have started to ban CGI:IRC clients except those which originate from their own CGI:IRC proxy (if they have one).

Server side[edit]

CGI:IRC runs on a webserver such as Apache configured to run Perl, and uses Unix domain sockets. It uses a special HTTP streaming connection while communicating with the user's web browser; this reduces network usage because the user's webpage is not continually being redrawn.[2] Early versions of some web browsers such as Apple Safari had problems with streaming connections.[2]

CGI:IRC can be configured to allow access to any server and channel, or restricted to single instances. One limitation of CGI:IRC with respect to some IRC servers is "Because CGI:IRC acts as a client, connections from it appear to be coming from the web server's address. This allows it to get past firewalls, but if several clients are connecting from the same address, some IRC servers will refuse to accept additional connections beyond a certain limit."[2]

See also[edit]

References[edit]

  1. ^ a b Piccard, Paul; Brian Baskin; George Spillman; Marcus Sachs (May 1, 2005). "Common IRC Clients by OS". Securing IM and P2P Applications for the Enterprise (1st ed.). Syngress. p. 431. ISBN 1-59749-017-2.
  • ^ a b c d e f Leadbeater, David (2004-07-27). "Other Ways to Connect to IRC : Hack 91: Use IRC from a Web Page without Java". In Mutton, Paul (ed.). IRC Hacks: 100 Industrial-Strength Tips & Tools (1st ed.). Sebastopol, CA: O'Reilly Media. pp. 342–344. ISBN 0-596-00687-X.
  • External links[edit]


    Retrieved from "https://en.wikipedia.org/w/index.php?title=CGI:IRC&oldid=1227514559"

    Categories: 
    IRC clients
    Free IRC clients
    Cross-platform free software
    Free software programmed in Perl
    Hidden categories: 
    Articles with short description
    Short description matches Wikidata
    Articles needing additional references from November 2010
    All articles needing additional references
    Official website different in Wikidata and Wikipedia
     



    This page was last edited on 6 June 2024, at 05:52 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki