IRC (Internet Relay Chat) es un protocolo de comunicación en tiempo real basado en texto, permite que dos o más personas puedan interactuar en forma de "chat". Se diferencia de la mensajería instantánea en que los usuarios no necesitan establecer una relación (agregar como contacto), de tal forma que todos los usuarios que se encuentran en un canal (sala de chat) pueden comunicarse entre sí, aunque no hayan tenido ningún contacto anterior. Las conversaciones se desarrollan en los llamados canales de IRC, designados por nombres que habitualmente comienzan con el carácter # o & (este último sólo es utilizado en canales locales del servidor). Los usuarios del IRC utilizan una aplicación cliente para conectarse con un servidor, en el que funciona una aplicación IRCd (IRC daemon o servidor de IRC) que gestiona los canales y las conversaciones murales.

Es un sistema de charlas ampliamente utilizado por personas de todo el mundo. Por ejemplo, es muy utilizado por casi todas las comunidades de software libre, por desarrolladores como medio de brainstorming, por comunidades underground, etc. Hace algunos años era utilizado incluso como medio para compartir archivos y material con copyright. Aunque, su uso con fines sociales en línea y herramienta para interactuar y relacionarse, ha sido reemplazado o desplazado por las redes sociales.

Pero el protocolo IRC sigue siendo una gran herramienta para implementar salas de chat. Por ejemplo es posible desarrollar un cliente JavaScript para implementar una sala de chat en un sitio Web, que por debajo interactúe con un servidor IRC. Por ello, en este artículo explico cómo instalar y configurar mínimamente un servidor IRC en Debian.



En Debian, el paquete irdc-hybrid implementa un servidor de IRC. Para instalarlo, simplemente ejecutar:

# apt-get install ircd-hybrid

La configuración del servidor se encuentra en el archivo /etc/ircd-hybrid/ircd.conf:

# nano /etc/ircd-hybrid/ircd.conf

Supongamos que necesitamos que el servidor IRC acepte conexiones de clientes en la dirección IP 10.10.10.15, en el puerto 6666.

Entonces, buscar la sección "listen" y configurar las siguientes variables:

host = "10.10.10.15";
port = 6666;

Luego reiniciar el servidor:

# service ircd-hybrid restart

Ya tenemos nuestro servidor IRC funcionando y listo para aceptar conexiones:

emi@debian:~$ netstat -nl | grep 6666
tcp        0      0 10.10.10.15:6666       0.0.0.0:*               LISTEN

Ahora es posible verificar el funcionamiento utilizando cualquier cliente, por ejemplo irssi. Para instalarlo en sistemas basados en Debian, ejecutar:

# apt-get install irssi

PAra iniciar una conexión basta con especificar el servidor, puerto y nick (nombre de usuario):

emi@debian:~$ irssi -c 10.10.10.15 -p 6666 -n emi

Si la conexión es exitosa, es posible ingresar a cualquier canal (si no existe es creado automáticamente) ejecutando el siguiente comando IRC:

/join #linuxito
11:29 -!- emi [~emi@10.10.10.15] has joined #linuxito
11:29 -!- ServerMode/#linuxito [+nt] by debian
11:29 [Users #linuxito]
11:29 [@emi] 
11:29 -!- Irssi: #linuxito: Total of 1 nicks [1 ops, 0 halfops, 0 voices, 0 
          normal]
11:29 -!- Channel #linuxito created Wed Jan 21 11:29:00 2015
11:29 -!- Irssi: Join to #linuxito was synced in 0 secs
11:29 <@emi> hola mundo!
11:29  * emi se siente feliz :D








 [11:29] [@emi(+i)] [2:10/#linuxito(+nt)]                                     
[#linuxito]

Para cerrar el cliente, ejecutar:

/quit

Los comandos IRC más comunes son:

  • /join #[canal] para ingresar a un canal.
  • /leave #[canal] para salir de un canal.
  • /msg [nick] [mensaje] para enviar un mensaje privado.
  • /me [acción] para realizar una acción (generalmente se utiliza para enviar un mensaje en tercera persona).
  • /nick [nuevo nick] para cambiar el nickname.
  • /quit [mensaje] para cerrar la conexión con el servidor dejando un mensaje de despedida.

Referencias

#irchelp - An IRC Tutorial

IRCD-Hybrid - High Performance Internet Relay Chat

Irssi - The client of the future


Tal vez pueda interesarte


Compartí este artículo