IRC proxy with transparent character set conversion


1. Purpose

In an ideal world, everyone would use UTF-8 for text transmission. UTF-8 supports nearly all characters of all languages, including the French accented characters, the cyrillic alphabets, the Arabian writing and even the thousands of ideographs from Chinese.

However, in the world we live in, people use different encodings. Finnish people use ISO-8859-1, ISO-8859-15 or Windows-1252; Japanese people use ISO-2022-JP, SHIFT-JIS or EUC-JP; Polish people use ISO-8859-2, and so on. People using different encodings will see other people's text as an unreadable mess of code.

This proxy is a solution for IRC users who want to be able to talk with everyone despite of their character set differences.

The primary audience of this program are the European IRC users who occassionally talk on Japanese channels.

With the proxy, all you need is an IRC client that understands and speaks fluently UTF-8.
The proxy supports all the ISO-8859 family character sets, ISO-2022-JP, SHIFT-JIS Japanese encodings and the UTF-8 unicode encoding, and will transparently use them with the "in Rome, do like the Romans do" principle.

2. Installation (unix systems)

To install iconvircproxy, follow the following instructions:
  1. Download it:
    wget http://bisqwit.iki.fi/src/arch/iconvircproxy-1.6.4.1.tar.bz2
  2. Extract it:
    tar xvfj iconvircproxy-1.6.4.1.tar.bz2
  3. Compile it:
    cd iconvircproxy-1.6.4.1
    ./configure
    make
You may now delete all files from the working directory except ircproxy.cfg and iconvircproxy.

To configure iconvircproxy, edit the ircproxy.cfg file and adjust the settings as you see fit. The default settings are ok for most IRCNet users.

Run iconvircproxy:

./iconvircproxy

After iconvircproxy has been started, connect your IRC client to the computer the proxy is running at. In most IRC clients, this command will do it:

/server your.host.name 6622

Replace the number 6622 with the port you specified in the listen_port setting in the configuration file.

3. Installation (windows systems)

To install iconvircproxy, follow the following instructions:
  1. Download it:
    wget http://bisqwit.iki.fi/src/arch/iconvircproxy-1.5.0-win32.zip
  2. Extract it:
    unzip iconvircproxy-1.5.0-win32.zip
To configure iconvircproxy, edit the ircproxy.cfg file and adjust the settings as you see fit. The default settings are ok for most IRCNet users.

Run iconvircproxy:

iconvircproxy

After iconvircproxy has been started, connect your IRC client to the computer the proxy is running at. In most IRC clients, this command will do it:

/server localhost:6622

If you are running the program in some other machine than the same where the irc client is ran, replace localhost with the address of the host. Replace the number 6622 with the port you specified in the listen_port setting in the configuration file.

Note that your IRC client / terminal must be fluent in UTF-8.

4. Recommended IRC clients

For a list of IRC clients supporting UTF-8, see http://freedesktop.org/Software/IrcClients.

Also, IrcII will also soon support UTF-8.

5. Troubleshooting

Q: I get a "too many user connections" message.
A: This message comes from your IRC server. You can try to find a less restrictive IRC server. The server might also be full, try again later.

Q: Everything else works fine, but Japanese characters show as squares.
A: Do you have a Japanese font (such as MS Gothic or Watanabe) installed? If this text shows as squares: わたなべ, you don't. Does your terminal program (the window where the text appears in) support the Japanese symbols? Most terminal programs (and mIRC) only support one 256-character font even when they're interpreting UTF-8.
X-Chat does not have this problem. For Linux users, gnome-terminal is a good UTF-8 -compatible terminal with no XIM/font problems. For Windows, a good UTF-8 compatible ssh client is still to be found. PuTTY doesn't qualify. If you use "screen", you must attach the screen with the -U option.

Q: Japanese text displays fine, but how can I type it?
A: You need an input method editor such as kinput2. Assuming you have it installed, you need to start your terminal with a command line such as this: XMODIFIERS=@im=kinput2 LANGUAGE=C LC_ALL=ja_JP.UTF-8 gnome-terminal

Q: "Could not connect to host."
A: Check your firewall settings.
Disclaimer: I have tested the Windows version only under Wine, where it seems to work fine.

6. Copying

iconvircproxy has been written by Joel Yliluoma, a.k.a. Bisqwit,
and is distributed under the terms of the General Public License (GPL).

This means that you are free to use for whatever purpose you want to as long as you wish, free to analyze the source code, free to modify it to suit your needs, free to create derived works of it, free to sell it if you want to, but there is no warranty and if you distribute it, you are not allowed to restrict these freedoms.

If you modify the source code or create derived works of it, you are encouraged to share your creations with the original author: zJoelQ YliA0zluomsa <biesqwiat@ikJewi.fi>

7. Requirements

GNU make and C++ compiler is required to recompile the source code.
For running the program, there are no external requirements.
GCC version 3.3 or greater is required.

8. Runtime configuration

(NEW in version 1.6.0)

To reconfigure iconvircproxy without disconnecting from the server, just do /msg iconvircproxy RELOAD. You can also inspect the running configuration by doing /msg iconvircproxy HELP.
The messages will be intercepted before sending to the server.

9. Downloading

Downloading help

  • Do not download everything - you only need one file (newest version for your platform)!
  • Do not use download accelerators or you will be banned from this server before your download is complete!

Date (Y-md-Hi) acc        Size Name                
2011-1009-1023 r--      164568 iconvircproxy-1.6.4.1.tar.bz2
2011-0728-1053 r--      164489 iconvircproxy-1.6.4.tar.bz2
2009-0606-1843 r--      163413 iconvircproxy-1.6.3.1.tar.bz2
2008-0103-1515 r--      160608 iconvircproxy-1.6.3.tar.bz2
2008-0103-1515 r--        6544 patch-iconvircproxy-1.6.2-1.6.3.bz2
2008-0103-1515 r--        6391 patch-iconvircproxy-1.6.2-1.6.3.gz
2007-0511-1751 r--      158302 iconvircproxy-1.6.2.tar.bz2
2007-0511-1751 r--        2050 patch-iconvircproxy-1.6.1-1.6.2.bz2
2007-0511-1751 r--        1841 patch-iconvircproxy-1.6.1-1.6.2.gz
2007-0221-2031 r--      158041 iconvircproxy-1.6.1.tar.bz2
2007-0221-2031 r--        2677 patch-iconvircproxy-1.6.0-1.6.1.bz2
2007-0221-2031 r--        2474 patch-iconvircproxy-1.6.0-1.6.1.gz
2006-0309-1242 r--      158596 iconvircproxy-1.6.0.tar.bz2
2006-0309-1242 r--        6994 patch-iconvircproxy-1.5.1-1.6.0.bz2
2006-0309-1242 r--        6917 patch-iconvircproxy-1.5.1-1.6.0.gz
2006-0201-0937 r--      156941 iconvircproxy-1.5.1.tar.bz2
2006-0201-0937 r--        2032 patch-iconvircproxy-1.5.0-1.5.1.bz2
2006-0201-0937 r--        1807 patch-iconvircproxy-1.5.0-1.5.1.gz
2005-1218-1546 r--      109930 iconvircproxy-1.5.0-win32.zip
2005-1218-1546 r--      157542 iconvircproxy-1.5.0.tar.bz2
2005-1218-1546 r--       47601 patch-iconvircproxy-1.4.2-1.5.0.bz2
2005-1218-1546 r--       52847 patch-iconvircproxy-1.4.2-1.5.0.gz
2004-1228-0957 r--      105949 iconvircproxy-1.4.2-win32.zip
2004-1228-0957 r--      154935 iconvircproxy-1.4.2.tar.bz2
2004-1228-0957 r--        3948 patch-iconvircproxy-1.4.1-1.4.2.bz2
2004-1225-0156 r--      104854 iconvircproxy-1.4.1-win32.zip
2004-1225-0215 r--      154454 iconvircproxy-1.4.1.tar.bz2
2004-1225-0215 r--        9739 patch-iconvircproxy-1.4.0-1.4.1.bz2
2004-0930-1659 r--      152458 iconvircproxy-1.4.0.tar.bz2
2004-0930-1659 r--       68757 patch-iconvircproxy-1.3.0-1.4.0.bz2
2004-0923-1317 r--      135912 iconvircproxy-1.3.0.tar.bz2
2004-0923-1317 r--       13045 patch-iconvircproxy-1.2.0-1.3.0.bz2
2004-0922-2045 r--      124560 iconvircproxy-1.2.0.tar.bz2
2004-0916-1005 r--      123750 iconvircproxy-1.1.1.tar.bz2
2004-0913-1429 r--      123135 iconvircproxy-1.1.0.tar.bz2
2004-0913-1419 r--      123314 iconvircproxy-1.0.0.tar.bz2
Back to the source directory index at Bisqwit's homepage