domingo, janeiro 27, 2008

Irssi + Screen + SSH = IRC em todo o lado

O Irssi é um cliente de IRC open source que corre em modo de texto e consequentemente bastante leve no sistema. Como tal tem sido muito utilizado para ficar a correr 24h por dia numa máquina e acessível exteriormente por SSH.

Como é possível aceder exteriormente ao irssi que temos a correr naquele momento na máquina? Utilizando o comando Screen. O Screen quando chamado com um programa como argumento faz com que esse programa possa ser passado na íntegra para uma sessão remota. Quando digo na íntegra quero dizer que o que fizermos e escrevermos remotamente, está a ser escrito na máquina que corre o programa e pode mesmo ser visto em tempo real.

Mas isto apenas é possível se tiverem instalado um servidor SSH e fizerem port-forwarding da porta no router. Brevemente também irei falar sobre configurar de modo seguro o SSH server.

Passando à prática, o que precisamos então é de ter o screen instalado (já vem por omissão no Ubuntu Gutsy 7.10), precisamos também do irssi e do servidor SSH a correr (como já referi, sobre este falarei noutro post).

Depois de tudo instalado fazemos na linha de comandos:

screen irssi


O programa abre e a partir de agora passa a ser possível aceder à sua utilização remotamente, para isso basta fazermos SSH à máquina e depois assim que aparecer a shell, escrever:

screen -x


E agora sim, estão a ver o irssi tal e qual como ele está a correr no vosso servidor, podendo utilizá-lo. Isto tem várias utilidades e uma delas é poderem utilizar o IRC no trabalho ou na faculdade caso o protocolo seja bloqueado :)

Precisam de correr irssi de forma anónima (como já foi falado para o x-chat no post sobre o tor)? O irssi não suporta proxies SOCKS, mas o tor tem uma ferramenta que resolve o problema:

screen torify irssi


O torify é um simples wrapper que faz com que as comunicações do irssi passem pelo proxy anónimo do tor.

Have "phun"!