Admin Libre - Administración de sistemas y redes

catgirl es un cliente minimalista de IRC
Por admin el 21 de Octubre de 2022

catgirl es un cliente de IRC de terminal. Es una excelente alternativa a irssi para quienes el minimalismo y la seguridad sea lo más importante, ya que además de tener menos código aprovecha las características de seguridad de FreeBSD y OpenBSD usando sandboxing para limitar el daño en caso de que se intente explotar algún agujero de seguridad.

Además, tiene un modo restringido (restricted) que desactiva algunas funcionalidades y hace su funcionamiento más seguro. En OpenBSD aprovecha las mitigaciones de seguridad pledge(2) y unveil(2) que ofrece este sistema operativo.

Como prestación minimalista, catgirl no implementa:

  • Configuración dinámica: toda la configuración se realiza al invocar el programa o en su archivo de configuración.
  • Multi-red: si quieres conectarte a varias redes tendrás que usar un multiplexor de terminal como tmux(1) o screen.
  • Reconexión: catgirl termina cuando se pierde la conexión al servidor en lugar de intentar reconectar automáticamente.
  • CTCP: catgirl no usa CTCP ya que lo considera un protocolo inútil que se presta al abuso.
  • Cobertura de protocolos: Sólo se incorporan las funcionalidades de IRCv3 que mejoren la experiencia de usuario.
  • IRC en texto claro: catgirl tan sólo conecta con servidores que usan TLS ya que los certificados son fáciles de obtener.

Comparte los atajos de teclado más comunes de irssi:

  • ESC-x va a la pestaña x
  • CTRL-p o CTRL-n va a la pestaña anterior o siguiente, respectivamente

Además permite navegar entre pestañas con el atajo ALT-x, siendo x el número de la pestaña.

Configuración

Si no se desea teclear las opciones en la línea de comandos se puede crear un archivo de configuración para cada red que se vaya a usar. Como ejemplo, esta sería una configuración con el modo restringido para mayor seguridad y con los colores de los nicks desactivados:

~/.config/catgirl/example
nick = mi_nick
real = mi_nombre
host = irc.example.com
user = mi_user
join = #canal
hash = 0,0
restrict
timestamp

Para arrancar con esta configuración ejecutaría $ catgirl example.

Ignorar mensajes JOINS, PARTS, QUITS, NICKS

Este ajuste se realiza por cada canal con la combinación de teclas C-+ (Alt +) o C-- (Alt -). Para que esto funcione en cwm(1) he necesitado añadir esto a mi archivo ~/.Xdefaults:

xterm*eightBitInput: false
xterm*eightBitControl: false

Servidores con certificado autofirmado

Para conectar con servidores con certificado autofirmado primero se guarda el certificado:

$ catgirl -o -h irc.example.com > ~/.config/catgirl/irc.example.com.pem

Y se añade esta linea al archivo de configuración correspondiente (en este caso ~/.config/catgirl/irc.example.com):

trust = irc.example.com.pem

Más información

Destacado