Turn Your Raspberry Pi into a IRC Server with Ircd-Hybrid

Ircd-Hybrid is a free, lightweight, stable, and high-performance IRC server for small, private networks or public networks then can be used for Raspberry Pi as IRC Server.

The function of IRC is for group communication in discussion forums, called channels, but also allows one-to-one communication via private message as well as chat and data transfer , including file sharing

Install Ircd-Hybrid

In order for the Raspberry Pi to act as Internet relay chat server you need to install packages on the Raspberry. You are going to need the following packages:
  • Ircd-Hybrid ircd-hybrid is a powerful Internet Relay Chat daemon frequently used on the popular EFnet IRC Network.
To install the Ircd-Hybrid packages run following command:
sudo apt-get update
sudo apt-get install ircd-hybrid
If there are no error at installation you can continue to next step.

Configure Ircd-Hybrid

To configure the Ircd-Hybrid, you need edit the config at /etc/ircd-hybrid folder with root permissions.
sudo su
cd /etc/ircd-hybrid
nano ircd.conf
After you've on nano edit's interface you can edit the Ircd-Hybrid configuration.

The Configuration

The configuration is summarized to important only some configuration is not showed.

[Server Info]

Name of your IRC Server 
name = "raspberrypi.irc";
Description of your IRC Server
description = "Free speech IRC Server based on Debian (Raspberry Pi)";
Network name and Description on your IRC Server
network_name = "raspberry";
network_desc = "IRC Server live on Raspberry Pi (Eco-Energy)";
Max Client that can connect to your IRC Server
max_clients = 128;

[Admin]

Admin information for your IRC Server
name = "Bambang Eko";
description = "Main Server Administrator";
email = "<bambang@gmail.com>";

[Operator]

Operator name credentials for login into your IRC Server
name = "root";
*@* means that allow all username and IP to login as operator for the IRC Server
user = "*@*";
Operator password credentials for login into your IRC Server (use mkpasswd to replace the password configuration)
password = "nVJLrbSq2I.5w";
#password = "$1$9PTzrFkW$yh3ablZ5DnHeU9yjhj..U/";

[Listen]

IRC Server listen and port number configuration
host = "0.0.0.0";
port = 6665 .. 6669;

IRC Message of the day (MOTD)

You can change the MOTD for Ircd-Hybrid IRC Server, To configure you need to edit the config at /etc/ircd-hybrid/ircd.motd files with root permissions
sudo su
cd /etc/ircd-hybrid
nano ircd.motd

Restart Ircd-Hybrid

To apply the changes you need to restart the Ircd-Hybird server, You can do so by following :
sudo /etc/init.d/ircd-hybrid restart

Testing

To test if Ircd-Hybrid working properly on client - In Windows
  1. Download IRC Client Ex : Pidgin , mIRC , HexChat and X-Chat
  2. In networks section - select add
  3. In server tab - Edit newserver/6667 to 192.168.x.x/6667 (IRC IP Address and Port)
  4. Select autojoin channel tab *if you want join irc channel automaticaly (Optional)
  5. Enter password if your irc server is protected with password
  6. Select close and connect
At instructions above , I'm testing with HexChat IRC Client - In Linux
  1. Download IRC Client (e.g. Pidgin, Smuxi IRC, Quasel IRC, and XChat)
  2. Choose add
  3. In login options - select protocol
  4. Select IRC and type username (Nickname)
  5. Type server with your IRC Server IP
  6. Type password *If your server is protected with passsword
  7. Type local alias (Nickname)
  8. Click close
  9. Select Buddies - Join a Chat - Room List
  10. Select your IRC room channel
  11. Then click join
At instructions above , I'm testing with Pidgin IRC Client - In Android
  1. Download IRC Client Ex : AndChat , AndroIRC , Simple IRC  or WhatsChat IRC
  2. Select Add - Fill name , address , port (optional).
  3. Type your nickname in Nick 1 , Nick 2 , Nick 3 , Username and Real Name
  4. In Other Details - Type Autojoin list (Optional)
  5. Press save
  6. Then select connect
At instructions above , I'm testing with AndChat IRC Client

How to Be Server OP (Operator)

  1. Use IRC Client which support OP Mode ex : Hex-Chat , mIRC or X-Chat
  2. Connect to your IRC via IRC Client
  3. In server room , type /oper <opname> <oppassword> *Without <>
  4. Now you are OP on your IRC Server.

Troubleshooting

- If client can't connect your IRC Server
  • Disable firewall or add IRC client to the firewall exception.
  • Read log from IRC server to troubleshoot the problem.
- If client get random disconnect from IRC Server
  • In client's firewall try enable : Maintain inactive TCP services.
  • In client's firewall try disable : TCP inspection and verification.

References

  1. Ircd-Hybrid - Freecode
  2. Wikipedia (IRC)
  3. Images - Source: mapsof.net / CC BY-SA 1.0

Comments