====== Quassel IRC ====== Esse é um cliente de IRC com suporte em múltiplas plataformas (linux, windows e macos), baseado no [[https://www.qt.io/|framework Qt]]. Mais informações sobre ele podem ser encontradas na [[https://bugs.quassel-irc.org/projects/quassel-irc/wiki|wiki official]] desse aplicativo. Aqui veremos alguns usos básicos da versão monolítica, isto é, um cliente que permite a conexão a partir de um único computador. Existe também a versão ''core'' que permite permanecer conectado a servidores IRC e receber mensagens inclusive se você estiver "desconectado" de seu cliente. ===== Instalação ===== Sempre prefira usar o pacote de sua própria distribuição linux, em sistema baseados em debian o nome do pacote é simplesmente ''quassel'' e para sistemas baseados em archlinux o pacote se chama ''quassel-monolithic''. Todas as versões que o projeto disponibiliza para download podem ser encontradas [[https://quassel-irc.org/downloads|aqui]]. ===== Conectando-se a um servidor ===== Essa versão irá disponibilizar a conexão ao [[https://libera.chat/|Libera.chat]] caso você siga o assistente que se inica automaticamente ao abrir o aplicativo pela primeira vez, se preferir clique em próximo em todas as etapas e já inicia conectado a esse servidor. Senão, cancele esse assistente e vamos às nossas configurações. Mais adiante voltarei ao servidor do Libera.chat para que possamos usar o mesmo pela rede Tor. Usando como exemplo o servidor IRC do Slackjeff, como mostrado no tópico de [[howto:comandosirc-unreal-completo|comandos do IRC]]. Precisamos seguir os seguintes passos: - Entre no menu ''__A__rquivo → __R__edes → Configurar __r__edes''; - clique no primeiro botão Adicionar; - entre com as informações de servidor, ''irc.slackjeff.com.br''; - marque ou deixe marcada a caixa ''Use encypted conection''; - a porta estará preenchida com o número ''6697''; - confirme essa configuração; - de volta a caixa ''Configurar Redes'' verifique se a ''Identidade padrão'' está selecionada, caso contrário clique no botão ao lado para configurar uma nova identidade, nesse ponto apenas preencha seu nick e nome conforme você queira que as demais pessoas no IRC vejam tais informações; - confirme clicando em ''Ok''. Pronto, agora você já tem acesso a pelo meno um servidor no IRC, sugiro explorar os tópicos de comandos nesta mesma wiki. ===== Conectando-se a um servidor, via tor ===== Após a configuração acima é possível acessar a mesma janela de configurações ''Configurar Redes'' e adicionar mais servidores no subgrupo ''Detalhes da rede''. Vamos adicionar um servidor que se encontra na rede tor, portanto para que possa ser usado o serviço tor deve estar habilitado em seu sistema operacional. Caso esteja usando um sistema baseado em debian basta instalar o pacote ''tor'' que automaticamente esse serviço será habilitado e se inicirá, após instalação verifique se o serviço está funcionando com o comando ''systemctl status tor'', você precisará de privilégios de superusuário para isso. Veja também aqui na wiki [[redes:tor|mais a respeito]] da instalação desse serviço e do navegador Tor Lembrando que para ter para o acesso via tor seu nick deve estar registrado no servidor, para isso a conexão via método acima é necessária para proceder com o registro do nick, veja seção **Operações com o próprio Nick** no tópico [[howto:comandosirc-unreal-completo|O que é IRC]] desta mesma wiki. Feito isso vamos às configurações, no Quassel entre em ''Configurar redes'' novamente: - Clique no segundo botão Adicionar; - entre com o endereço do servidor, ''slackj2il6nspqhw25xxjkzblgelnrf3vxe3b7ctbzie7xpzlvxs3gad.onion''; - a porta deixe na ''6697''; - deixe marcada a caixa ''use encrypted connection''; - não marque a caixa ''verify connection security''; - clique na guia ''Avançado'' e marque a caixa ''Usar proxy''; - selecione o tipo de proxy como ''SOCKS 5'' entre com o servidor ''localhost'' e a porta ''9050''; - Confirme a configuração clicando em ''Ok''. O passo de configuração de proxy se refere ao servidor tor que ligamos anteriormente, a porta ''9050'' é a porta usada por padrão nesse tipo de serviço. Agora vamos configurar a autenticação nesse servidor. ==== Autenticação SASL com senha (PLAIN) ==== Sugiro ler também o tópico [[howto:comandosirc-unreal-completo|O que é IRC]], na seção a respeito desse tipo de autenticação. De volta a janela ''Configurar redes'' vamos clicar na guia ''Autoidentificar'' e marcar a caixa ''Usar autenticação SASL'' e preencha seu o nick registrado e sua senha nos campos ''Conta'' e ''Senha'' respectivamente. ==== Autenticação SASL com certificado (EXTERNAL) ==== Antes de usar esse método, precisamos ter os arquivos ''.pem'' de chave e certificado SSL em nosso computador, caso não tenha deve proceder com a criação dos mesmos (veja seção bônus abaixo). O ''fingerprint'' do certificado também deve estar adicionado do servidor IRC, veja a seção **Utilizando Certificado** no tópico [[howto:comandosirc-unreal-completo|O que é IRC]]. Não temos explicitamente a opção de ''SASL EXTERNAL'' no Quassel, porém ele tem o suporte para ela conforme adicionamos mais informações à nossa identidade. As informações podem ser incluídas via configuração da identidade, acessada via menu ''__C__onfigurações → __C__onfigurar Quassel'', lá acessamos no menu esquerdo a opção ''Identidades''. Dentro das configurações de identidades podemos escolher a guia ''Avançado'' e selecionar os arquivos de Chave SSL e Certificado SSL clicando nos botões correspondentes. Pronto, não precisamos mais da autenticação com senha, o próprio Quassel impede a edição desses campos como no passo acima caso o certificado esteja configurado na identidade, basta marcarmos a caixa de ''Usar autenticação SASL'' como na subseção anterior. ==== Bônus, criação de chave e certificado SSL ==== Supondo que ainda não temos a chave e o certificado adicionados a nossa identida do Quassel, podemos criá-los usando o ''openssl'', se não tiver instalado nos sistemas baseados em debian o pacote tem o menso nome como referido anteriormente. Para criação da chave que assinará o certificado usamos no terminal openssl genrsa 2048 > ca-key.pem agora temos o arquivo ''ca-key.pem'' que pode ser usado como a chave no Quassel e para o certificado, usamos openssl req -new -x509 -nodes -days 365000 -key ca-key.pem -out ca-cert.pem Agora temos também o arquiv ''ca-cert.pem'' que é nosso certificado assinado. Para obter o fingerprint que será adicionado no //nickserv// do IRC copiaremos na área de transferência a saída do comando openssl x509 -in ca-cert.pem -noout -fingerprint -sha512 | awk -F= '{gsub(":",""); print tolower ($2)}' Divirta-se conversando no IRC com o anonimato que a rede tor proporciona.