Con ZNC no te pierdas ninguna conversación de tus canales IRC favoritos

ZNC es un “IRC bouncer” con el que estarás siempre presente en tus canales IRC, y no te perderás ninguna conversación.

Los canales IRC siguen siendo una buena opción para participar, preguntar o encontrarte con muchas comunidades. Este medio es comúnmente utilizado por muchos proyectos de software libre en los que debatir, ponerse en contacto, comunicarse y ayudarse en determinadas tareas.

Si has utilizado alguna vez algún canal de IRC, verás que algunos usuarios están permanentemente conectados al canal, sea la hora que sea. ¿Quiere eso decir que están permanentemente sentados delante de su equipo? La respuesta es: no. Aunque sí están “leyendo” todo lo que ocurre.

Muchos usuarios que utilizan IRC, lo que hacen es conectarse a un “IRC Bouncer” o reboteador de IRC. Esto no es más que un software instalado en un servidor que “lee y almacena” por nosotros aquello que pasa en los canales a los que nos conectamos.

Esos usuarios se conectan a sus servidores un software les envía aquello que ha pasado durante su ausencia. Veamos cómo instalar ese software para conectarnos nosotros a nuestro servidor y no perdernos nunca ninguna conversación o llamadas de otros usuarios.

Para ello necesitaremos un servidor donde instalar el software que queremos. Tal como vimos en una entrada anterior, utilizo un Servidor Privado Virtual (o VPS por sus siglas en inglés) en Clouding.io. Veremos cómo instalar y configurar el software en un servidor con CentOS como sistema operativos (será similar en otros sistemas operativos que utilicemos en nuestro servidor)

El software que utilizaremos para instalar en nuestro servidor será ZNC. El proceso constará de 2 partes:

  • En una primera parte tendremos que instalar en nuestro servidor ZNC y configurarlo
  • En una segunda parte deberemos configurar nuestro cliente IRC con el que nos conectamos, para que se conecte a nuestro servidor.

Primero veamos un esquema de qué hace ZNC. Como vemos en el dibujo ZNC es un servidor intermedio, al que nos conectamos y que almacena todo aquello que pasa durante nuestra ausencia de los canales IRC.

Instalación y configuración de ZNC

Me conecto a mi servidor en Clouding.io servidor mediante SSH (tal como vimos en otro artículo). Si tienes una Raspberry Pi en tu casa también puede servir.

Mi servidor está corriento CentOS, por tanto primero deberemos instalar el repositorio EPEL, y desde ahí instalar ZNC. Mediante:

wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
rpm -Uvh epel-release-7*.rpm
yum install znc

Nos conectaremos mediante el puerto 6697 de nuestro servidor para conectarnos mediante tráfico cifrado SSL. Quizás debamos primero abrir este puerto en nuestro servidor. Para ello, bien desde el panel de configuración de Clouding.io o con estos comandos (con privilegios de super usuario):

firewall-cmd --add-port=6697/tcp
firewall-cmd --runtime-to-permanent

Ya con nuestro usuario normal, deberemos crear un nuevo archivo de configuración para nuestro usuario de ZNC, para ello escribimos el siguiente comando:

znc -c

Y nos irá irá realizando una serie de preguntas para ir configurando las distintas opciones de ZNC. Algunas de esas opciones podremos cambiarlas después desde la interfaz web de ZNC.

What port would you like ZNC to listen on? (1025 to 65535): 6697  #Escogemos este puerto
Would you like ZNC to listen using SSL? (yes/no) [no]: yes  #Para que no viaje en texto plano
Would you like to create a new pem file now? (yes/no) [yes]: yes #Para nuestro certificado SSL
Would you like ZNC to listen using ipv6? (yes/no) [yes]: yes #Por qué no...
Listen Host (Blank for all ips):
Load global module ? (yes/no) [no]: yes
Load global module ? (yes/no) [no]: yes

Username (AlphaNumeric): Victorhck
Enter Password: ************
Confirm Password: ************
Would you like this user to be an admin? (yes/no) [yes]: yes
Nick [FirstUser]: Victorhck
Alt Nick [IRCNickname_]: Victorhck_
Ident [IRCNickname]:
Real Name [Got ZNC?]:
Bind Host (optional):
Number of lines to buffer per channel [50]: 50  #Número de líneas que guardará mientras no estamos en el canal
Would you like to clear channel buffers after replay? (yes/no) [yes]: yes
Default channel modes [+stn]:

Load module ? (yes/no) [no]: yes
Load module ? (yes/no) [no]: yes
Load module ? (yes/no) [no]: yes

Would you like to set up a network? (yes/no) [no]: yes  #Decimos que sí para crear nuestra red en freenode
Load module ? (yes/no) [no]: yes

Load module ? (yes/no) [no]: no
Load module ? (yes/no) [no]: yes
Load module ? (yes/no) [no]: yes
Load module ? (yes/no) [no]: yes
Load module ? (yes/no) [no]: yes

IRC server (host only): irc.freenode.net
[irc.freenode.net] Port (1 to 65535) [6667]: 6697
[irc.freenode.net] Password (probably empty):
Does this server use SSL? (yes/no) [no]: no
Would you like to add another server for this IRC network? (yes/no) [no]: no

Would you like to add a channel for ZNC to automatically join? (yes/no) [yes]: yes

Channel name: #opensuse-es
Would you like to add another channel? (yes/no) [no]: no
Would you like to set up another network? (yes/no) [no]: no
Would you like to set up another user? (yes/no) [no]: no

Launch ZNC now? (yes/no) [yes]: yes

Al finalizar de entrar todas nuestras opciones, se lanzará ZNC en nuestro servidor. Ya tenemos en marcha el servicio. Ahora podemos acceder a la interfaz web de znc en nuestro servidor mediante el navegador web en la siguiente dirección:

  • http(s)://<dirección:IP:servidor>:<puerto>

Si escogimos SSL el navegador nos dará una advertencia ya que el certificado no está “firmado”. Pero omitiendo esa advertencia y creando una excepción (confiamos en nuestro servidor) el navegador accede a la interfaz web de nuestro servicio ZNC en nuestro servidor.

Introducimos el nombre y contraseña creados, y entramos en la interfaz de ZNC, aquí ya todo es más intuitivo y sencillo. Podremos modificar algunas de las opciones creadas con anterioridad, crear más usuarios, añadir más canales a los que queremos estar conectados, etc…

Configuración del cliente de IRC para conectarse a ZNC

Ahora deberemos decirle a nuestro cliente IRC que queremos que se conecte a nuestro servidor en donde ya de manera predeterminada se conectará a los canales deseados, y cuando cerremos el cliente y nos volvamos a conectar nos mostrará un registro de lo que ha sucedido en nuestra ausencia.

En mi caso utilizo Plasma, así que utilizo el cliente de KDE para IRC que es Konversation.

En Archivo →Lista de servidores, deberemos crear una nueva red y configurarla. En ese menú también deberemos marcar la opción de “Mostrar en el arranque de la aplicación”

Le damos un nombre a la red. En servidores, le ponemos la dirección IP de nuestro servidor, y en lista de canales podemos especificar uno, o no. Se conectará a los que hayamos establecido en ZNC.

Conclusión

La verdad es que no ha sido muy difícil poner en marcha el servicio en el VPS de Clouding.io. Yo lo tengo corriendo bajo CentOS, pero tanto en Debian como en Ubuntu se realizará de manera similar, variando la manera de instalar los paquetes, y ciertas diferencias.

Yo que soy un habitual de algunos canales de IRC este primer proyecto en los VPS de Clouding.io ha sido una buena primera toma de contacto con esto de trabajar con servidores de manera remota. Muy interesante la experiencia.

Si entráis en algún canal IRC de los que visito, nos leeremos, aunque quizás no este delante del PC en ese momento y sea ZNC quien haga el trabajo por mí! 🙂

Enlaces de interés

——————————————————————————–

7 pensamientos en “Con ZNC no te pierdas ninguna conversación de tus canales IRC favoritos

  1. Hola ya lo tengo funcionando y anda perfecto. El problema que tengo es que cuendo cierro el cliente, osea el programa de chat no es como dice el titulo, no puedo ver lo que paso cuando no estoy. Cuando me vuelvo a conectar con el cliente aparece como si lo hago sin el znc. Que configuracion tengo que tocar para cuando me conecte me aparezca todo lo que paso cuando no estoy?

    • Hola!
      Lo instalaste en un VPS o una RaspberryPi o similar?
      Tienes que configurar tu cliente de IRC para que se conecte a tu servidor ZNC en vez de (por ejemplo) a Freenode.
      Cuando cierres tu cliente IRC, en tu servidor se seguirán guardando las conversaciones de los canales que visitas, y cuando vuelvas a entrar se mostrarán los logs archivados.

      Saludos y ya medirás si te funciona…

Me gustaría saber tu opinión. Deja un comentario (Puedes usar MarkDown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s