Tu próximo servidor casero (y barato) basado en un Raspberry PI: Parte 1
Tu próximo servidor casero (y barato) basado en un Raspberry PI: Parte 2

En esta tercera parte de “las cosas que podés hacer en tu Raspberry PI” voy a focalizarme en la magia del clásico Chat.

Utilizo IRC para chatear hace ya mas de de una década y no puedo abandonarlo. Si bien las redes sociales arrasaron con gran parte de IRC, BBS, foros y demás, tengo mi grupo de amigos allí con los que suelo hablar a diario, además de algunos otros channels donde puedo conseguir información o ayuda sobre algo en lo que esté trabajando.

A mi forma de ver, el mejor cliente de IRC para Linux, en consola, es sin dudas irssi. Es liviano, fácilmente personalizable a través de un archivo de configuración, se pueden escribir plugins en Perl para darle funcionalidades extra y corre en consola, todo lo que está bien.

Instalación

La instalación es de lo más sencillo, irssi está en los repositorios de casi cualquier distribución Linux, solo resta hacer un

sudo pacman -S irssi

Para instalarlo en nuestro Raspberry PI con ArchLinux.

Configuración

Ésta es la parte mas divertida, dejarlo bonito para que funcione automáticamente y el usuario tenga solo que ponerse a chatear. Con esto me refiero a que conecte automáticamente al servidor de IRC (En mi caso utilizo dos, uno de ellos es freenode), y que joinee automáticamente a los canales. Además, me interesa que irssi se identifique con mi usuario también. El archivo de configuración se encuentra en

˜/.irssi/config

Una vez instalado, ya tendremos una configuración de ejemplo con la que podemos guiarnos. En mi caso la parte de servers solo tiene un servidor privado que tenemos con amigos y freenode, la configuración de freenode la tengo así:

servers = (
  {
    address = "irc.freenode.net";
    chatnet = "freenode";
    port = "6697";
    use_ssl = "yes";
    ssl_verify = "yes";
    autoconnect = "yes";
  }
);

Utilizo un chatnet name para poder joinear a los canales luego, ssl habilitado, con verificación y autoconnect. de esta manera cada vez que inicio irssi ya se conecta automáticamente a freenode.

Avanzando en la configuración, veremos el setup de los chatnets:

chatnets = {
  freenode = {
    type = "IRC";
    autosendcmd = "/msg nickserv identify tu-password; wait 10000;";
  };
};

Aquí le damos a irssi el setup de cada chatnet, en mi caso para freenode le especifico que es un IRC, y que envíe el comando de identificación al servidor y que haga una espera de 10 segundos antes de continuar. Ésto es importante para aquellos canales que tienen +R habilitado, donde no podemos ser “guest” e ingresar, sino que debemos estar registrados.

channels = (
  { name = "#sysarmy"; chatnet = "freenode"; autojoin = "Yes"; },
  { name = "#ekoparty"; chatnet = "freenode"; autojoin = "Yes"; },
  { name = "#ansible"; chatnet = "freenode"; autojoin = "Yes"; },
  { name = "#reddit-argentina"; chatnet = "freenode"; autojoin = "Yes"; },
  { name = "#reddit-homelab"; chatnet = "freenode"; autojoin = "Yes"; },
  { name = "##DevOps"; chatnet = "freenode"; autojoin = "Yes"; },
);

Siguiendo en la configuración, ahora restan los canales. Esos son algunos de los canales que mas frecuento, del chatnet freenode y con autojoin, así irssi sabe que además de conectarse a freenode, tiene que ingresar a esos canales.

La última sección que tocaremos en este artículo es el setup de nuestro usuario:

settings = {
  core = {
    real_name = "Nico";
    user_name = "Mi-username";
    nick = "Mi-nickname";
    log_timestamp = "%H:%M:%S ";
    awaylog_file = "~/irclogs/away.log";
  };
};

Dentro de core vamos a configurar nuestro nombre, usuario y nick, así como también el formato de los logs, y donde pondremos los logs cuando estemos away. Las últimas dos cosas son a elección y pueden quitarse si no deseamos tener logs en away.

Utilización

Al ser Irssi un cliente de IRC de consola, todos los comandos son desde ya, por teclado sin interacción del mouse.

Algunos comandos de IRC son:

  • /nick <tu-nuevo-nick> configura un nick nuevo
  • /join #canal ingresa a un nuevo canal del servidor al que estemos conectados
  • /part #canal abandonamos el canal en cuestión
  • /msg otro-usuario envía un mensaje privado a un usuario del servidor
  • /away nos ponemos como ausentes. También podemos agregar un mensaje luego de away, por ejemplo /away almorzando.
  • /exit cierra la conexión con el servidor
  • /channel muestra información del canal y sus usuarios
  • /numeroventana nos mueve a la ventana en cuestión. /2 nos lleva a la ventana numero 2.

Los comandos como nick y join será raro que los utilicemos porque habiendo configurado nuestro Irssi, ya va a tener todo listo, tanto nick como canales a los que queremos ingresar.

Registro de nick

Es importante en algunas redes, registrarse con un nick y un email. De esta manera no vamos a ser kickeados de canales que requieren autenticación. Para registrar un nick en freenode, primero debemos elegir un nick:

/nick mi-nick-favorito

Y luego ejecutar:

/msg nickserv REGISTER tu-password [email protected]

Nos llegará un email de confirmación para validar nuestro usuario. Y de ahí en más podemos utilizar

/msg nickserv identify tu-password

la identificación es algo que no van a hacer muy a menudo, ya que está cubierto en la configuración de Irssi mas arriba, por lo tanto con colocar su password en el archivo de configuración está bien.

Imagen de portada: Aaron Brady

4 Comentarios

Dejar respuesta

Please enter your comment!
Please enter your name here