gildasio

char nick[9] = "gildasio";

printf("https://gitlab.com/%s\n",nick);

printf("%s\x40protonmail\x2e\\\bch\n",nick);

puts("5195 4F0B 84A6 6155 4DDB BE08 0570 9A50 4810 CE93");

WeeChat - Um cliente IRC CLI

Jun 18, 2015 • linux,terminal,cli lindo!

OBS: Esse é um tipo de postagem que acho interessante de se fazer aqui. Será uma série de posts (mas nada periodicamente) que abordará ferramentas CLI.

Começando com um breve sumário, nesse artigo haverá:

  1. Registro de nick
  2. Registro de canal
  3. Instalação do WeeChat
  4. Sobre o WeeChat
  5. Usando o programa
    1. Conseguindo ajuda
    2. Configuração
    3. Comandos básicos
  6. Alternativas
  7. Observações

P.S.: Para esse artigo vou usar o provedor FreeNode para os registros e conexão, mas as coisas não mudam se quiser utilizar outro, como o BrasIRC.

Registro de nick

Como já foi dito, usei o FreeNode para testes (pois uso mais ele e assim, se tornou mais cômodo), mas os comandos são os mesmos. E a forma de o provedor trabalhar também.

Primeiramente, você precisará entrar no servidor para poder registrar. Eu até pensei em na ordem colocar esse passo depois da conexão, mas decidi pôr antes pois a conexão é bem simples. Se quiser ir rapidinho na parte Alternativas você poderá conectar pelo navegador, e realizar esses passos seguintes numa boa.

Após conectado no servidor, você precisará requisitar o registro. Uma coisa que se deve salientar: no FreeNode, um nick registrado que fique dez semanas sem usar poderá ser registrado por outra pessoa. Se o nick que você quer registrar já tem dono mas está um bom tempo sem uso, pode entrar em contato com o provedor que eles provavelmente liberarão rapidinho para você.

Para ter essa informação sobre determinado nick, use o seguinte comando:

/msg nickserv info nick_a_consultar

Visto se o nick que deseja está livre (ou poderá se tornar) vamos prosseguindo, adotando que o apelido desejado pode ser registrado logo. Pode ser que você logou no sistema com um nick que não deseja registrar, para mudar para o que quer, use o comando:

/nick nick_desejado

Depois disso, para registrar, basta usar o seguinte comando:

/msg nickserv register senha_desejada e-mail_para_registro

IMPORTANTE! Não deixe de colocar uma senha segura e um e-mail válido. O provedor vai enviar uma mensagem para você com um comando para validar o registro. Esse comando terá uma validade de 24 horas, e passado esse tempo, o nick que tentou registrar estará disponível novamente para qualquer pessoa.

Ok! Pode verificar o e-mail que lá terá uma mensagem com o comando que tem de usar para ativar realmente o registro!

Pronto… Tem uma determinada opção que é interessante de você usar. Quando registra o apelido, você tem de usar um e-mail válido, e esse endereço pode ficar público para qualquer um verificar (a partir do comando de informação visto acima). Você pode deixar ele escondido, com o comando:

/msg nickserver set hidemail on

Registro de canal

Ótimo! Registramos nosso nick, agora vejamos como registrar um canal. Assim, terá um ponto para conectar com a sua galera para conversarem numa boa.

Para registrar, assim como com o nick, o canal tem de estar livre para isso. O comando que verifica essa informação é o seguinte:

/msg chanserv info #canal_desejado

Retornará algumas informações sobre o canal, em caso de já registrado, em caso de livre, irá mostrar uma mensagem para você.

P.S.: Não tenho informações se equivale a mesma regra do nick, de que com um determinado tempo vocễ pode registrar em seu nome.

Feito isso, imaginemos que está disponível para o registro, vamos usar o comando:

/msg chanserv register #canal_desejado

Perfeito!! Nesse momento já temos o canal e o nick registrado!

Se você sair e entrar no servidor e em seu canal, notará que “perdeu” o privilégio de administrador. Para se tornar novamente o operador e ter as permissões, execute:

/msg chanserv op #canal_desejado

Se você quiser dar permissão de operador para mais alguma pessoa, execute o mesmo comando, mas com um último parâmetro, o nick dela:

/msg chanserv op #canal_desejado nick_para_operador

Instalação do WeeChat

Bom, a instalação é bem simples, visto que ele está nos repositórios das principais distribuições por ai. Portanto:

  • Debian: sudo apt-get install weechat -y
  • Arch: sudo pacman -S weechat
  • Fedora: sudo yum install weechat
  • Slackware: SlackBuilds

Se a distribuição que você usa não deriva de nenhuma dessas, verifique em seu gerenciador de pacotes que provavelmente irá achar. Se não encontrar, acesse a página do software referente a isso.

Após instalado, já podemos abrir o programa:

$ weechat

Sobre o WeeChat

Na página inicial do WeeChat ou nas páginas de documentação você verá isso, mas vou adiantando logo uma breve descriçã sobre o programa…

WeeChat é um ótimo cliente IRC para o console. Rápido, simples, limpo, extensível… Você dispõe de vários plugins para incrementar ainda mais as funcionalidades. Pode implementar mais features com C, Python, Perl, Ruby, Lua, Tcl, Scheme e JavaScript.

Ou seja, é demais! Além de que é um projeto bem ativo! Principalmente por ser free com a licença GPLv3, galera cai encima contribuindo!

Usando o programa

Essa parte será dividida em três, teoricamente. A primeira, será a respeito de como conseguir ajuda no WeeChat, a segunda, vou mostrar como usar e configurar mesmo, por fim, na terceira, mostrarei alguns comandos básicos e essenciais de se saber.

Conseguindo ajuda no WeeChat

Vejamos… O WeeChat conta com os manuais de documentação corretamente, portanto, já pode começar obtendo informações com os comandos:

$ man weechat
$ info weechat
$ weechat -h

Ou então no site do programa. Veja esse guia, por exemplo.

Dentro do programa ainda é possível utilizar o comando /help para obter ajuda. Após executar o /help verá algumas classificações e uma lista de comandos. Por exemplo, dentro da categoria IRC tem admin, topic e muitos outros. Digamos, então, que quero saber sobre o topic, basta executar:

/help topic

Certo! Já sabemos como conseguir ajuda, portanto, já temos a possibilidade de nos desembolar no programa. Agora, vamos à configuração…

Configuração

É interessante que rode o comando /help server para ver mais opções e se familiarizar já com algumas. Após lido o que foi exibido com o comanodo acima, vamos configurar.

Você pode listar os servidores que já tenha configurado, com os comandos:

/server list
/server listfull

O primeiro mostra apenas uma breve lista, enquanto o outro mostra uma bem mais completa e que irá nos ajudar mais para frente. Como para você provavelmente não apareça nada, você pode olhar novamente após configurarmos.

Com o comando /server é possível fazer várias coisas no âmbito dos servidores, como adicionar, renomear, remover… Executando um /help server você consegue entender bem quase todos os comandos, portanto, vou pular logo para a parte de configuração.

A sintaxe básica do comando é: /server add ‹server› ‹hostname›[/‹port›]

Então, precisamos ter as informações do servidor, como o hostname e a porta para conectarmos. Visite essa página do FreeNode e escolha o que quiser.

P.S.: Eu decidi escolher o servidor leguin.freenode.net pois tenho uma certa simpatia com a Suécia quando se trata de privacidade. A porta eu escolhi a 6697 pois ela só aceita conexão SSL, assim, incrementando mais no quezito segurança.

Feitas as escolhas, vamos lá!

/server add freenode leguin.freenode.net/6697

Pronto! Já temos configurado! Sério mesmo. Mas muito básico, claro. Se quiser conectar, já pode, basta usar /connect freenode.

Mas vamos continuar nossa configuração… Lembra que mais acima eu disse que o listfull iria nos ajudar? Pois bem… Vamos executar ele:

/server listfull freenode

Veja a quantidade de opções que tem! Cada uma dessas pode ser personalizada para uma melhor experiência. Para isso, só precisamos usar o comando da seguinte forma:

/set irc.server.freenode.opcao valor

E tem alguns que recomendo que defina. Vou fazer uma lista e ao lado uma breve descrição sobre cada opção:

  • ssl - indica se deve usar ou não o modo ssl. Bom deixar on
  • sasl_username - nick do seu usuário que definimos no registro
  • sasl_password - senha do seu usuário que definimos no registro
  • autoconect - define se ao iniciar o WeeChat já se deve conectar a esse servidor
  • username - nome do usuário no servidor
  • password - senha do usuário no servidor
  • realname - nome real do usuário
  • autojoin - indica os canais que já deve entrar ao conectar com o servidor (sintaxe: #canal1,#canal2,#canal3...)

P.S.: SASL (Simple Authentication and Security Layer), que mostrei ali acima se trata de uma forma de autenticação que já será feita automaticamente para poder acessar o provedor logado corretamente.

Comandos básicos

Como se trata de um cliente de IRC e ainda mais CLI, usar o mouse nele (diretamente) é impossível, portanto, o programa deve ser utilizado atravéz de comandos. Vejamos alguns…

  • /quit - fecha o programa
  • /exit - fecha o programa
  • /close - fecha o buffer atual, seja um canal ou uma conversa privada
  • /q nick - abre um novo buffer para conversa em privada com nick
  • /server jump - vai para o buffer principal do programa
  • /buffer - exibe a lista de buffers (pode ser lido como abas) abertos
  • /buffer 3 - vai até o buffer três, podendo ser uma conversa privada, um canal ou até um buffer de log de um servidor

Esses são os comandos mais básico a serem utilizados. Os demais que forem precisando vai se aprendendo com o tempo, até pelo motivo de que não iria aprender todos os comandos lendo dessa forma, somente praticando.

Alternativas

Como nem todos gostam de CLI e eu reconheço que sou um tanto quanto hipster em relação a isso, vou deixar algumas recomendações legais também…

Para web, utilizando o navegador:

  • WebChat Freenode - Uma interface web para se conectar aos servidores do provedor FreeNode;
  • KiwiIRC - Uma interface web que pode conectar com vários servidores, basta mudar na URL. Trocar o servidor da FreeNode que coloquei e pôr um que deseje em seu lugar;

Gráfico:

  • Pidgin - Já usei um tempo atrás, gostava muito. Ele aceita não só IRC, mas também GTalk e muitos outros;
  • Hexchat - Nunca utilizei esse mas quem conheço que usa fala bastante bem;

CLI:

  • IRSSI - Cheguei a usar um tempo atrás, mas, em minha opinião, o WeeChat deixa ele para trás quando se trata de algumas configurações simples;

Observações

São breves observações que quero deixar para o pessoal:

Ambiente de testes:

  • Arch Linux 4.0.4-2-ARCH
  • WeeChat v1.2
  • Rede FreeNode

Esse é um artigo que serve como pontapé ou rápida consulta para quem lê-lo. Para aprender a usar mais o WeeChat ou o IRC, documentação sobre é o que não falta. Boa parte em inglês, claro. Com o tempo vou tentando fazer mais artigos nesse estilo para contribuir da forma que puder.

Se tiver algo a contribuir, agradeço bastante! Compartilhar conhecimento é a melhor forma de obter mais :) Portanto, comente, compartilhe e toda essa zorra mais.

P.S.: Esse artigo pode sofrer atualizações sem aviso prévio, portanto, melhor assinar o blog :)

Gostou do post? Assina o feed e seja feliz!!