- 2 mins

As a Developer (and especially for FOSS contributing) I need to be always on communication tools like IRC, but I had two problems: First: I can’t connect from multiple devices at the same time with same nickname (which identify me), Second and more important: missing discussions while not connected (especially for the channels without log). That’s why I decided to use IRC bouncers to resolve this.

There are multiple bouncers providers (free and limited/paid). I’ve tested a couple of them but they did not satisfy me (limited servers, servers drops, security concerns..etc).

To overcome this I decided to install a bouncer by my own, so I used ZNC, a really good bouncer with multiple modules who do exactly the job.

ZNC Bouncer

At the beginning, I used Openshift (here is quickstart), but again I wasn’t fully satisfied (requires an ongoing ssh connection, the service stops after a while of not been connected..etc).

Finally I decided to use a VPS, so I used Amazon Web Service to do this ! First, I setup an EC2 Instance (Ubuntu) with an Elastic IP (free tier with a billing alarm), Next, I connected using SSH then I setup the ZNC Bouncer.
The last thing to take care of was the security group of the EC2 instance from the management console , so I added the ZNC port as TCP inbound port and the IRC servers default port 6697 as TCP outbound port.

After all this, the bouncer was ready and now I am able to connect to as many IRC servers as I want without losing my session, and get connected with multiple devices and I can edit specific configs (like increasing the log buffer) for every channel or server from the web interface (http://<elastic_IP>:<znc_port>) or from the line command on the IRC client.

To access the control panel from my domain, I’ve added a subdomain that points to the IP address of my EC2 server from my domain control pannel. I’ve checked if this with the command: $ host <sub.domain.tld>
Now to access the control panel I simply go to https://<sub.domain.tld>:<znc_port>.

By default /whois shows the default AWS’s hostname. To change this I’ve requested a reverse DNS record. I got a respond from amazon next day saying that my request has been configured. I’ve checked this with the command: $ host <elastic_IP>
I reconnected the ZNC to the IRC server: /msg *status connect
And now /whois show my new hostname correctly !


comments powered by Disqus
rss facebook twitter github youtube mail spotify instagram linkedin google pinterest medium vimeo gitlab docker