El IRC de hoy día: ¡Torifiquemos Weechat!

Hace unos años, un tertuliano de una sala de XMPP se echó unas carcajadas cuando comenté algo sobre un canal de IRC. Decía que el IRC había pasado de moda. Que eso ya no lo usaba nadie, espetaba de manera jocosa. Ese algo que (yo) comentaba era de la poca gente que había en el canal IRC de Manjaro en español. Era gracioso porque, a veces, cuando dabas un repaso por los canales del IRC, podía leerse a alguien demandando resolver dudas técnicas y ante el silencio de ultratumba de las cuentas fantasmas, aún así online, siempre soltaba alguna onomatopeya como un: «cri cri cri cri» o algún comentario como: «silba el viento, pasa una bola del oeste rodante». Véase estepicursor. Así que la «gracia» que solté en el xmpp pues fue: «¡Aquí hay menos gente que en el canal IRC en español de Manjaro!». En una noche en la que la sala de xmpp, que solía estar bastante concurrida, estaba cabizbaja.

Lo curioso es que escribiendo este tutorial, recordé esta anécdota. Y concluí que el IRC no está ni mucho menos pasado de moda, sino que el uso que se le da es más concreto que antes. Mientras las tecnologías «avanzan», la estratificación es mayor y, por tanto, la especialización también. Por lo que el IRC en los entornos hacker y de distribuciones GNU/linux aún sigue vigente. Esta conclusión viene de la mano de un gran descubrimiento que viene a destronar en mi PC a mi anterior cliente IRC, Irssi del que ya se habló anteriormente. Irssi

Weechat es un cliente IRC para consola, muy parecido a Irssi, extensible con plugins y scripts. Un ejemplo de su potencia es que permite incorporar otr para chats privados o conectarse a la red Tor a Freenode configurándolo en el archivo apropiado. Y esto último es de lo que os vengo a hablar. ¡Dejemos de rajar ya y vayamos a torificar!

Weechat a través de TOR y SSL

1) Primero, hemos de abrir un terminal generar un certificado:

$ openssl req -x509 -new -newkey rsa:8192 -sha256 -days 365 -nodes -out nickname.pem -keyout nickname.pem

2) Obtener el sha1sum del certificado auto-firmado:

 $ openssl x509 -in nickname.pem -outform der | sha1sum -b | cut -d' ' -f1

3) Entrar en weechat y registrar tu nick en Freenode. O en su defecto, crearte una cuenta si no la tienes.

4) Agrega el sha1sum de tu certificado a tu cuenta de freenode:

/msg NickServ CERT ADD $fingerprint_sha1sum

5) Comprobar si tu fingerprint se subió a tu cuenta:

/msg NickServ CERT LIST

6) Agregar certificado auto-firmada en weechat:

$ mkdir ~/.weechat/certs
$ mv nickname.pem ~/.weechat/certs

7) Agregar el perfil:

/server add freenode-tor freenodeok2gncmy.onion/6697

Agregar tor:

/proxy add tor socks5 127.0.0.1 9050

8) Editamos el archivo de configuración y cambiamos y/o añadimos los parámetros de las variables que se han generado en el archivo irc.conf.

$ nano ~/.weechat/irc.conf

freenode-tor.proxy = "tor"
freenode-tor.ssl = on
freenode-tor.ssl_verify = off
freenode-tor.ssl_cert = "%h/certs/nichname.pem"
freenode-tor.sasl_mechanism = external
freenode-tor.sasl_username = "nickname"
freenode-tor.sasl_password = "password"
freenode-tor.nicks = "nickname,nickname_,nickname__,nickname___,nickname____"
freenode-tor.nicks_alternate = on
freenode-tor.username = "YOURUSERNAME"
freenode-tor.autojoin = "#parabola,#freenode"

Hay que desactivar la verificación ssl ya que el onion no es válido con el certificado de freenode. Gracias Zyggis por avisar ;)

Si quieres que se conecte automáticamente en este servidor cambiar también:

freenode-tor.autoconnect = on

10) Conectarte a Freenode con Tor:

/connect freenode-tor

Si todo va bien podremos pasar de la tendencia modista tan arraigada en nuestras costumbres liberales y chatear anónimamente con la gente de tu distro favorita escuchando la sinfonía nº3 ‘Eroica’ de Beethoven que también está pasada de moda ¿no? Pero que nos vuelve locas. Sin acritud.

Nota: Los comandos del buffer de Weechat se parecen muchísimo a los de Irssi. Podéis consultar los artículos de Archlinux y Parabola. O mismo en los manuales de Weechat y Freenode.

Nota2: El 800% de este post se lo debo a Emulatorman, hacker de Parabola y bonico der to.

Compartir

6 Comentarios

  1. Bien explicado y sencillo para que lo pueda entender/hacer todo el mundo, espero que sea el primero de muchos xDD
    +1

    1. Gracias por comentar Puppet en mi primer artículo y que no hayan pasado demasiados estepicursores. Vaya palabro chungo! xD

  2. Mariqueerta: ¡genial el artículo! Al fin alguien lo explicó bien y en castellano. ¡Gracias! Sólo me gustaría añadir unas líneas:

    Quienes ya tenemos una cuenta en el servidor de freenode, cuando nos conectamos desde la deepweb usando el vínculo .onion, por defecto, nuestro cliente de irc (weechat en este caso) intentará comparar el CN con la dirección .onion y, por supuesto, jamás coincidirán, pues el host desde donde generamos el certificado y el host de freenode son diferentes y por lo tanto, obtendremos un error en el certificado que impedirá conectarnos.

    Es obvio que tampoco es conveniente conectarnos usando tor al mismo tiempo que la dirección de internet normal (chat.freenode.net).

    La solución entonces para conectarnos a través de la dirección .onion es deshabilitar la verificación del certificado. Esto se hace modificando la siguiente línea en .weechat/irc.conf para que quede así:

    freenode-tor.ssl.verify = off

    ¡Espero que el aporte sea de ayuda! Saludos

  3. hola que gran aporte mariqueerta!!! ahora estoy teniendo un inconveniente en el paso 6. dentro de weechat cuando escribo la primera linea de código recibo el siguiente error

    irc: this buffer is not a channel!

    intenté ejecutando el código fuera de weechat y pareció funcionar pero no me puedo conectar a freenode-tor

Deja una respuesta a Eduardo Inda Cancelar respuesta

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax