JBouncer IRC Proxy
A Java IRC Proxy (or Bouncer)
Originally by Paul James Mutton
Renewed by Matthew Scharley
Java IRC Proxy
JBouncer is a Java implementation of a simple IRC proxy (sometimes known as an IRC bouncer). It can run on Windows, Unix, Linux, etc.
What is an IRC Proxy?
An IRC proxy is a program that connects to any number of IRC servers. You can then use an IRC client to connect to the proxy and use those servers. When you disconnect your client, the proxy stays connected to the IRC server.
Multiple Clients per Session
Each IRC server connection made by JBouncer is called a "session". You can use your IRC client to log into JBouncer and create new sessions or connect to existing sessions. You can connect to an existing session more than once at a time! Unlike some other proxies, all connections to JBouncer are made using the same port number, making it easier to manage.
You can set up multiple accounts so your friends can also use the JBouncer IRC proxy. Each user can log in with their own account and only access sessions that they started. For convenience, all connections to the proxy are made to the same port.
Setting up the JBouncer IRC Proxy
You need to edit accounts.ini with a text editor so you can specify a login and password for JBouncer. You can also change the port number for the proxy in config.ini if you wish.
Running the JBouncer IRC Proxy
You can run JBouncer by executing run.bat on Windows, or ./run.sh on Unix, Linux, Mac OS X, etc.
Logging in to the JBouncer IRC Proxy
Start up your favourite IRC client and connect to the IRC proxy. In this example, we shall be running JBouncer on the samer machine with the default settings, so we can just connect to localhost:
You will see JBouncer welcome you to the IRC proxy and prompt for your login and password:
* Connecting to localhost (6667) - Welcome to JBouncer: http://www.jibble.org/jbouncer/ This is an IRC proxy/bouncer. Unauthorized users must disconnect immediately. This bouncer has been up since Sun Feb 29 12:56:34 GMT 2004 - -jbouncer- To connect, enter your password by typing /msg root login password
If you have not changed the configuration, the login and password will both be "test". Send the following message to JBouncer:
/msg root test test
You will now be logged in.
Creating a New Session
As this is the first time you have connected, JBouncer will prompt you to create a new session:
-jbouncer- Create a new IRC server connection by typing /msg root create name server [port] [password]
The "name" field is mandatory and is simply a friendly name to let you refer to the session at a later date without having to specify the full server details again. The "server" field is the name of the server. The other two fields are optional. Create a new connection for your favourite IRC server, for example:
/msg root create freenode irc.freenode.net
Your IRC client will now appear to connect to the server.
Disconnecting from a Session
If you want, you can now disconnect your IRC client:
This will disconnect you from the JBouncer, but JBouncer will still be connected to the IRC server. If a session gets disconnected from the IRC server, it will keep trying to reconnect automatically.
Resuming a Session
Now connect to JBouncer and log in again. Because there is now a session already running, it will give you the option of connecting to it:
-jbouncer- Attach to one of the following servers by typing /msg root connect name - -jbouncer- freenode: Jibbler on irc.freenode.net:6667 (0 clients) - -jbouncer- Create a new IRC server connection by typing /msg root create name server [port] [password]
To reconnect to your freenode session, just type:
/msg root connect freenode
You will now be reconnected to the freenode IRC network and JBouncer will force your client to join all channels used by that session.
Making Multiple Connections
If you want to create another connection to this session, just start up another IRC client and connect to JBouncer. This time, you will be told that there is already 1 client connected to the session:
-jbouncer- freenode: DeadEd2 on irc.freenode.net:6667 (1 clients)
If you go ahead and connect to this session anyway, you will end up with two clients connected to the same session. You can connect any number of clients you want.
If you do not want to keep the new session you have created, you can log in to JBouncer and type:
/msg root remove freenode
JBouncer can log all channel and private messages. Each time you resume a session, it will also send some previous messages to your client so you can see what happened before you connected. These settings can be configured in config.ini.
The O'Reilly book IRC Hacks shows you how to set up some other types of IRC bouncers if you're after something different.