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.
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
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.
/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
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
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
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
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.
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
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>
Se quiser associar uma URL ao seu Nick, podendo seu um site, blog ou página pessoal:
/msg NickServ SET URL endereco.da.url
/msg NickServ set password SUANOVASENHA
/msg NickServ set email SEUEMAIL
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
Se por um motivo você quiser apagar seu nick, liberando ele para que outros usuários possam usar, digite:
/msg NickServ drop SeuNick
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
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
É 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
É 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.
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
Para conversar em particular com alguém, sem que outros possam ver o que estão conversando, digite:
/msg NickDoUsuario SuaMensagem
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
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
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
Para obter informações do Cliente utilizado pelo Nick, incluindo Sistema Operacional, digite:
/CTCP Nick version
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 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
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>
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
Para apagar um canal já registrado em seu nome, digite:
/msg ChanServ drop #seucanal
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.
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
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 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>
Para remover os modos de canal, basta utilizar o sinal de - para o modo que ser retirar, utilizando as mesmas letras.
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
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
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
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.
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!*@*
Em construção. Será atualizado aos poucos.
Em todos os bans avançados, é permitido a utilização do placeholder * para Nick, User e Host.
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.
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.
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
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
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
Basta executar o mesmo comando utilizado para banir, com o sinal -b.
/mode #NomeDoCanal -b Nick!*@*
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
É uma caixa de correio do IRC, onde pode ser enviado/recebido mensagens, mesmo que a pessoa esteja Offline.
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
/msg MemoServ list
Será retornado a lista de mensagens armazenadas na IrcBox.
/msg MemoServ read NUM
Onde NUM é o número da mensagem da lista.
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
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 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 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