Tabela de conteúdos

O que é IRC

IRC é um sistema de bate papo criado em 1988, de modo inteiramente texto, que permite discussões em “salas” de bate-papo e conversas com pessoas específicas.

É uma comunicação do tipo descentralizada, isso significa que não tem nenhum órgão central ou controlador do IRC, qualquer servidor pode hospedar o seu.

Isso se resume em LIBERDADE de comunicação.

Conectar no servidor

A maioria dos Clientes gráficos vai ter um local para informar o servidor, a segurança da conexão e a porta.

Servidor: irc.slackjeff.com.br

Segurança: TLS/SSL

Porta: 6697

Pelo TOR (endereço .onion)

Oferece mais anonimato. Porém requer etapas adicionais.

É necessário instalar o TOR SERVICE e rodar o serviço, normalmente pela porta 9050 (instalação padrão). Em seguida, pode-se escolher duas opções:

- Configurar seu Cliente de IRC para conectar via proxy na porta 9050 do localhost (127.0.0.1), OU

- Abrir seu cliente utilizando um software proseado, como o torify ou o torsocks.

No servidor deve ser informado:

Servidor: slackj2il6nspqhw25xxjkzblgelnrf3vxe3b7ctbzie7xpzlvxs3gad.onion

Segurança: TLS/SSL

Porta: 6697

Vale lembrar que endereços .onion tem um domínio diferente daquele registrado na clearnet (slackjeff.com.br), logo, dependendo do Cliente, a conexão pode ser bloqueada devido a divergências no nome do domínio registrado no certificado com o nome do domínio do endereço .onion.

Para evitar esse problema, o Cliente deve ignorar a validação do certificado, ou aceitar o fingerprint do certificado utilizado. Essa configuração precisa ser realizada manualmente.

Exemplo de Conexão via TOR, utilizando o Cliente HexChat

https://www.youtube.com/watch?v=BUm4GjOZMtg

Exemplo de Conexão via TOR, utilizando o Cliente WeeChat

/server add slackjeffonion slackj2il6nspqhw25xxjkzblgelnrf3vxe3b7ctbzie7xpzlvxs3gad.onion/6697 -ssl

/proxy add tor socks5 127.0.0.1 9050

/set irc.server.slackjeffonion.proxy "tor"

/set irc.server.slackjeffonion.ssl_verify off

(Se ocorrer o erro "command not found" no comando acima, troque ssl_verify por tls_verify)

/set irc.server.slackjeffonion.tls_verify off

/connect slackjeffonion

O material em video também pode ser assistido por aqui: https://videos.slackjeff.com.br:9443/w/au85syX8EgrGF1UEniCRpu

Exemplo de Conexão via TOR, utilizado o Cliente IRSSI:(em construção)

Operações com o próprio Nick

Escolha um Nick

A maior parte dos Clientes IRC, já tem um campo para você informar o NICK que deseja usar. É uma forma de te identificar para todos. Você pode utilizar seu nome real ou não, fica a seu inteiro critério.

Caso não tenha, você deverá digitar no campo de mensagem:

/nick SeuNick

Registre seu Nick

Caso você queira que ninguém mais use o nick que você escolheu, você deve registrar esse nick com uma senha, que apenas você terá acesso.

Para registrar seu nick, digite:

/msg NickServ register SuaSenha SeuEmail

Autentique seu Nick (via Nickserv - método antigo, desaconselhável)

Uma vez tendo o nick registrado, você precisará informar para o servidor que você é realmente quem registrou aquele nick, senão o servidor automaticamente vai mudar mudar seu nick.

Para autenticar/identificar seu nick, digite:

/msg NickServ identify SeuNick SuaSenha

Autentique seu Nick (via SASL - método mais seguro)

O SASL está bem documentada no https://datatracker.ietf.org/doc/html/rfc4422. O SASL estabelece mecanismos de comunicação entre o cliente e o servidor.

A autenticação SASL ocorre antes da conexão com o servidor ser totalmente estabelecida, ou seja, antes do usuário ficar online para toda a rede.

Utilizando Usuário e Senha

Esse método também é conhecido como SASL PLAIN. Nele é informado o nome do usuário e a senha do Nick.

Em clientes de IRC gráficos (como hexchat), já existe uma opção chamada “Autenticação SASL”, onde basta informar seu Nick e Senha.

Em cliente via terminal, como o Weechat/IRSSI, é necessário performar alguns comandos para que a autenticação ocorra.

No WeeChat:

/set irc.server.slackjeff.sasl_mechanism plain
/set irc.server.slackjeff.sasl_username SeuNick
/set irc.server.slackjeff.sasl_password SuaSenha
/save

No IRSSI:

/network add -sasl_username SeuNick -sasl_password SuaSenha -sasl_mechanism PLAIN slackjeff

Na ZNC:

/msg *sasl Mechanism PLAIN
/msg *sasl RequireAuth yes
/msg *sasl Set SeuNick SuaSenha

Utilizando Certificado

SE preferir se autenticar via certificado SASL, em substituição a sua senha: Para adicionar seu certificado no servidor:

/msg NickServ cert add <fingerprint>

Onde <fingerprint> é o fingerprint do seu certificado em SHA256. Para tirar o fingerprint do seu certificado para inputar no servidor IRC, digite no terminal:

$ openssl x509 -noout -fingerprint -sha256 -inform pem -in <certificado.crt>

Associar uma URL ao seu Nick

Se quiser associar uma URL ao seu Nick, podendo seu um site, blog ou página pessoal:

/msg NickServ SET URL endereco.da.url

Altere sua Senha e Email

/msg NickServ set password SUANOVASENHA
/msg NickServ set email SEUEMAIL

Esqueceu a senha?

Caso você tenha cadastrado um e-mail válido ao registrar seu nick, você poderá resetar a senha a partir desse e-mail, mas deve ser o e-mail que você informou no Nick. Qualquer outro e-mail não irá funcionar.

Digite:

/msg NickServ resetpass SeuNick SeuEmail

Você receberá um email com um código de confirmação. Depois digite:

/msg NickServ CONFIRM SeuNick CODIGO

Feito, você já poderá alterar sua senha, com:

/msg NickServ set password SeuNovaSenha

Apagando o registro do seu nick

Se por um motivo você quiser apagar seu nick, liberando ele para que outros usuários possam usar, digite:

/msg NickServ drop SeuNick

Agrupando vários Nicks

Muitas vezes uma pessoa quer usar vários nicks, mas deseja agrupá-los numa única conta, para não precisar se identificar a todo momento quando trocar de nick.

Para fazer o agrupamento com outro nick, digite:

/msg NickServ GROUP Nick_a_ser_agrupado SenhaDoNick_a_ser_agrupado

Para retirar um Nick do agrupamento:

/msg NickServ UNGROUP Nick_a_ser_desagrupado

Marcando como Ausente

Para indicar para todos que está ausente do servidor (apesar de online), digite:

/away Motivo da Ausência

Para retornar ao status de “online”, digite:

/back

Definir mensagem de Boas Vindas

É possível definir uma mensagem de boas-vindas quando você entra em um canal, desde que esse canal esteja configurado e habilitado para enviar mensagem de boas-vindas. Para definir mensagem de boas-vindas:

/msg NickServ set GREET SuaMensagemDeBoasVindas

Esconder Informações do Seu Nick

É possível esconder informações de seu nick para que outros não possam vê-las utilizando o NickServ Info.

É possível esconder o e-mail, usermask e a última mensagem de saída do IRC.

Para esconder estas informações:

/msg NickServ set HIDE EMAIL ON

/msg NickServ set HIDE USERMASK ON

/msg NickServ set HIDE QUIT ON

Para voltar a exibir estas informações, basta trocar o ON pelo OFF.

Join automático em Canais

Caso seu cliente de IRC não tenha join automático em canais que você estava, crie uma lista de canais automáticos, e assim que você se logar, entrará automaticamente nestes canais:

/msg NickServ AJOIN ADD SEUNICK #canal

Operações com outros Nicks

Converse em Particular com outro Nick

Para conversar em particular com alguém, sem que outros possam ver o que estão conversando, digite:

/msg NickDoUsuario SuaMensagem

Utilize criptografia OTR (em construção)

Obter Informações de um Nick

Para obter informações básicas de um usuário atualmente conectado, como todos os canais que ele está e há quanto tempo está conectado, digite:

/whois NickDoUsuario

Para obter informações básicas de um usuário que esteve conectado, mas não está mais, digite:

/whowas NickDoUsuario

Para obter informações básicas de um usuário Registrado, como canais criados por ele, e data/hora de registro, digite:

/msg NickServ info NickDoUsuario

Ignorar

Permite ignorar mensagens (públicas ou privadas) de outros usuários.

Essa opção é exclusiva do cliente utilizado. Então para saber a sintaxe do comando para seu cliente, digite:

/help ignore

Ping (CTCP)

Para testar o tempo de resposta de outro nick com o seu, a fim de avaliar possíveis problemas com conexão, Será retornado o tempo em milissegundos desse retorno:

/CTCP Nick ping

Obter informações do Cliente e Sistema Operacional (CTCP)

Para obter informações do Cliente utilizado pelo Nick, incluindo Sistema Operacional, digite:

/CTCP Nick version

Operações com Canal

Crie seu Canal

Caso queira criar seu próprio canal, para discutir assuntos do seu interesse com seus amigos, primeiramente entre no seu canal, conforme foi descrito aqui.

E em seguida, digite:

/msg ChanServ register #NomeDoSeuCanal

Escolha um Tópico para o canal

Escolha um tópico para seu canal. Os usuários enxergarão este tópico quando executarem o comando para listar os canais no servidor.

Para criar ou alterar o tópico do seu canal, digite:

/topic Digite o Topico que quiser para seu Canal

Modifique listas de acesso do seu Canal

Por padrão, apenas o fundador do canal ou Super-Admin podem adicionar usuários nas listas AOP/HOP/VOP. Porém o fundador do canal pode modificar a lista de acesso e reduzir o “level” mínimo dos usuários que podem ter acesso para adicionar outros usuários na lista de acesso permanente do canal.

Por padrão, a modificação desta lista de acesso para poder incluir outras pessoas é permitida apenas para level = 10 (Super-Admin). Essa permissão pode ser alterada pelo dono do canal outro level menor que 10.

Para alterar as permissões de modificação da lista:

/msg ChanServ levels #NomeDoCanal SET ACCESS_CHANGE <level>

Confira os possíveis <levels>.

Em seguida, adicione as pessoas que terão privilégio para adicionar outras no canal, que deverá ser um level no mínimo igual ao level definido no ACCESS_CHANGE acima:

/msg ChanServ access #NomeDoCanal add Nick <level>

Obtenha informações sobre um canal

Para obter informações sobre um canal, como o dia em que ele foi registrado e o dono do canal, digite:

/msg ChanServ info #NomeDoCanal

Apague seu Canal

Para apagar um canal já registrado em seu nome, digite:

/msg ChanServ drop #seucanal

Conceder Privilégio Temporário

Se você tiver algum privilégio no canal, você pode dar no mínimo um privilégio igual ao seu para outros usuários.

Os privilégios são temporários, ou seja, quando o usuário que recebeu o privilégio sair do canal, este será perdido.

Dentro do canal, para dar um privilégio temporário no canal, digite:

/mode +<letra> NickDoUsuario

Confira as <letras> possíveis.

Conceder Privilégio Permanente

Sendo Fundador do Canal

Para dar privilégios permanente (automático ao entrar no canal) para outros Nicks, por regra, precisa ser o fundador do canal ou super-admin.

Em privilégios permanentes, quando o usuário sair e entrar novamente no canal, os privilégios permanentes serão aplicados.

Para dar privilégio permanente a um usuário do canal, digite os comandos abaixo, seguido pela <sigla>:

/msg ChanServ <sigla> #NomeDoCanal ADD NickDoUsuario

Para remover algum privilégio permanente, troque o ADD pelo DEL:

/msg ChanServ <sigla> #NomeDoCanal DEL NickDoUsuario

Para verificar os privilégios permanentes:

/msg ChanServ <sigla> #NomeDoCanal list

Não sendo Fundador do Canal

Existem exceções, que permitem que o dono do canal conceda privilégio para outros usuários, para que estes possam conceder privilégios permanentes, documentado aqui na modificação de lista de acesso: modifique_listas_de_acesso_do_seu_canal

Feito isso, para adicionar privilégios para outros usuários, digite:

/msg ChanServ ACCESS #NomeDoCanal ADD NickDoUsuario <LEVEL>

Lembrando que o <LEVEL> adicionado a um usuário deve ser um level inferior ao seu.

Modos Temporários de Canal

Modos de um canal são configurações de um canal, que regulam como este canal irá se comportar com os usuários. Apenas Operadores do canal poderão alterar os modos de canais.

Modos Temporários de Canal tem vigência enquanto permanecer pelo menos um usuário no canal, Quando todos os usuários sairem do canal, os modos se perdem.

Confira as letras para os modos de canais permitidos.

Para setar um modo de canal temporário, digite:

/MODE #NomeDoCanal +<letra>

Remover modos de Canal

Para remover os modos de canal, basta utilizar o sinal de - para o modo que ser retirar, utilizando as mesmas letras.

Modos Permanentes no Canal

Modos Permanentes de Canal tem vigência mesmo quando o canal estiver vazio. Ou seja, quando todos os usuários sairem do canal, os modos permanecerão ativos.

Para setar todos os modos de canal como permanentes, digite:

/MODE #NomeDoCanal +P

Travar Modos no Canal

Por padrão, os modos de canais podem ser definidos por todos os operadores do canal. Quando for desejável que apenas o dono do canal possa definir os modos (e não outros operadores), é necessário travar os modos do canal, recurso conhecido como “mode lock”, ou apenas “mlock”.

Sempre que a trava dos modos for adicionada, aquele modo também passa a ser permanente, substituindo o Modo Permanente no Canal.

Confira as letras para os modos de canais permitidos.

Para travar o modo, digite:

/msg Chanserv mode #NomeDoCanal LOCK ADD +<modo>

Para remover a trava de um modo, digite:

/msg Chanserv mode #NomeDoCanal LOCK DEL +<modo>

Para limpar todas as travas de um canal, digite:

/msg Chanserv mode #NomeDoCanal CLEAR

Kicks de Canal

Utilizado para retirar um usuário que esteja sendo inconveniente do canal. Lembrando que este usuário pode retornar se ele quiser. Para que um usuário saia e não volte mais, é necessário utilizar Bans de Canal.

Para poder realizar o kick, é necessário ter pelo menos privilégios de Half-OP (+h) no canal. E não é possível kickar alguém que tenha privilégio maior que você.

É possível kickar um usuário ou até no máximo 4 usuários de uma única vez.

/kick #NomeDoCanal Nick

ou para Kickar diversos nicks:

/kick #NomeDoCanal Nick1,Nick2,Nick3,Nick4

Bans de Canal

São formas de retirar alguém do canal que esteja sendo inconveniente e impedir que ele retorne ao canal. Apenas operadores de canal tem privilégio para banir alguém.

Bans simples

Um ban simples pode ser realizado pelo nickname, pelo username ou pelo hostname do usuário, lembrando que o hostname é o hostname cloaked. Pode ser utilizado o placeholder * para se referir a todos.

A sintaxe do comando é:

/mode #NomeDoCanal +b Nick!User@Host

Utilizando o placeholder *, podemos banir todos os nicknames que utilizem certo User e Host:

/mode #NomeDoCanal +b *!User@Host

ou também banir todos os usernames que utilizem certo Nick e Host

/mode #NomeDoCanal +b Nick!*@Host

ou ainda banir certo User e Nick, independente do hostname:

/mode #NomeDoCanal +b Nick!User@*

E até combinar diversas dessas opções, como por exemplo permitir que um Nick, independente do username e do hostname que ele conecte deja banido:

/mode #NomeDoCanal +b Nick!*@*

Bans Avançados

Em construção. Será atualizado aos poucos.

Em todos os bans avançados, é permitido a utilização do placeholder * para Nick, User e Host.

Bans por tempo

Permite que um ban do tipo simples tenha efeito apenas durante um certo período (em minutos), depois desse período o ban é automaticamente cancelado.

/mode #NomeDoCanal +b ~time:N:Nick!User@Host

N é o tempo em minutos em que o ban terá efeito.

Bans por uma determinada ação

São bans que não kickam nem expulsam a pessoa do canal, mas são bans que restringem o usuário de diversas formas.

Ação: Mutar

Esse ban, mantém o usuário no canal, o usuário consegue saber tudo o que se passa no canal, mas não conseguirá falar e interagir no canal.

/mode #NomeDoCanal +b ~quiet:Nick!User@Host
Ação: Trocar de Nick

Esse ban, mantém o usuário no canal e todas as interações do mesmo, mas ele não conseguirá trocar de nick. Usado para aqueles usuários que costumam trocar de nick muitas vezes, poluindo o canal com flood.

/mode #NomeDoCanal +b ~nickchange:Nick!User@Host
Ação: Encaminhar

Esse ban, encaminha o usuário para outro canal (geralmente um canal de #ajuda) quando ele tentar entrar no canal que está “banido”.

/mode #NomeDoCanal +b ~forward:#CanalEncaminhado:Nick!User@Host

Remover Bans

Basta executar o mesmo comando utilizado para banir, com o sinal -b.

/mode #NomeDoCanal -b Nick!*@*

Operações com o vHost (HostServ)

Atualmente o vhost (host ou IP) é protegido por 3 chaves criptográficas, a fim de quem ninguém tenha acesso a seu host ou IP.

Assim, quem der um /whois em seu nick, obterá um resultado parecido com este: NICK@B8F323.AB7E3426.EA2453FD.IP

No entanto, é possível solicitar ao Server um vhost personalizado, como NICK@host.personalizado

Para isso, digite:

/msg HostServ request seu.vhost.personalizado

O vhost precisa ser aprovado pelo Slackjeff. Após aprovação, sempre ao se identificar, o vhost será atribuído automaticamente.

Para desabilitar o vhost personalizado, digite:

/msg HostServ OFF

Para habilitar novamente, digite:

/msg HostServ ON

Operações com a IRCBox (MemoServ)

É uma caixa de correio do IRC, onde pode ser enviado/recebido mensagens, mesmo que a pessoa esteja Offline.

Enviar Mensagem

Utilizado para enviar mensagem para algum nick (online ou offline). Mas deve ser utilizado o Nick real da pessoa identificado no services, e não o nick que a pessoa está usando no momento.

Para saber o nick real de uma pessoa (identificado pelo Services), dê um /whois nick , e aparecerá como retorno algo parecido com: “NickAtual is logged in as NickReal”. Deve ser ser enviado o memo para o NickReal.

/msg MemoServ send Nick Sua Mensagem

Para cancelar o envio da ultima mensagem:

/msg MemoServ cancel Nick

Para conferir se sua última mensagem foi lida pela pessoa, digite:

/msg MemoServ check Nick

Listar Mensagens do IRCBox

/msg MemoServ list

Será retornado a lista de mensagens armazenadas na IrcBox.

Ler Mensagens do IRCBox

/msg MemoServ read NUM

Onde NUM é o número da mensagem da lista.

Apagar Mensagens do IRCBox

Para apagar alguma mensagem da lista do IRCBox, digite:

/msg MemoServ del NUM

Para apagar todas as mensagens da IRCBox, digite:

/msg MemoServ del ALL

INDICE

VOP / HOP / AOP / SOP /QOP

São SIGLAS dos modos em canais para Voice / Meio-Operador, Operador, Super-Admin e Fundador, respectivamente.

Também podem ser representados por letras, símbolos e numericamente em levels.

Usuário Regular

VOP

HOP

AOP

SOP

QOP

Modos de Canal

Modos que determinam o funcionamento de um canal e as características dele.

+c

Proibido enviar textos coloridos no canal.

+C

Proibido CTCP no canal.

+f

Ativa proteção contra flood no canal, não de um nick específico, mas do canal inteiro, como forma de evitar muitos joins no canal simultaneamente, vários nicks falando ao mesmo tempo tumultuando o canal, muitas trocas de nick.

Para proteção de flood contra nicks específicos, verificar seção do BotServ.

Funcionalidade avançada. Documentação completa: https://www.unrealircd.org/docs/Anti-flood_features#Channel_mode_f

+H <LINHAS>:<ULTIMOS MINUTOS>

Habilita Histórico no Canal, para consulta posterior. O Histórico mantém as últimas X linhas dos últimos Y minutos.

+i

Canal apenas para convidados. Apenas pessoas que convidarem outras através de /invite poderão entrar no canal.

+k SENHA

O Canal com este modo é protegido por senha. Os usuários não conseguirão entrar no canal se não souberem a senha, menos os operadores de canal, que tem entrada liberada sem necessidade de informar a senha.

As pessoas que possuirem a senha poderão entrar no canal, por meio de:

/join #canal SENHA.

+K

Desabilita o comando /knock, que permite solicitações em canais +i (invite).

+L

Cria link para outro canal, quando um número X de pessoas for atingido no canal.

+l NUM

Cria um limite de número de pessoas no canal. Após atingir esse limite, não poderá entrar mais ninguém no canal. Ou se o canal estiver definido como +L, será redirecionado para outro canal.

+m

Canal moderado, significando que apenas nicks com privilégio VOICE (+v) ou maior poderão falar no canal.

+M

Outro tipo de canal moderado, significando que apenas nicks registrados ou nicks com privilégio VOICE (+v) ou maior poderão falar no canal

+N

Não é permitido troca de nicks no canal.

+n

Sem mensagens externas, ou seja, apenas poderão falar quem estiver dentro do canal.

+Q

Desabilita kicks manuais, deixando todos os kicks por conta do BotServ.

+R

Apenas usuários registrados podem entrar no canal.

+s

Canal secreto (invisível), ele não aparecerá na lista de canais /list e /whois.

+S

Remove as cores de texto enviado no canal e as converte para texto simples, sem cor.

+T

Não será permitido /notice no canal.

+t

Restringe para que apenas Nicks com privilégio de Meio-Operador para cima possam alterar o tópico do canal, caso contrário, qualquer um poderá fazê-lo.

+V

Desabilita o /invite.

Modos de Nick

Modos que determinam o que está ativado para um determinado Nick. Estes modos apenas poderão ser ativados/desativados pelo próprio Nick, não poderá ser ativado/desativado para Nicks que não lhe pertencem.

+p

Esconde os canais onde você está quando algum usuário der /whois em você.

+R

Você apenas pode receber mensagens particulares de nicks registrados.

+T

Bloqueia recebimento de CTCP (ping, version, dcc)

+x (habilitado por padrão)

Esconde seu IP, te fornecendo no lugar um cloak (3 hashs SHA1 embaralhadas) no lugar do IP