.-.__.-.__.-.__.-._.-.
       (  why ain't XMPP more )
        "-"(popular as a message)"
            "-"( protocol  )""""
                '-..-"-..-'
                       O    
                ,_    o    
          ____   \"\___,-'7
  ____..-"_.-"|   )     (/ 
 |   |====    |   a_ /@  E
 |## |====    | =: T ::= )      __ 
 |## |====    |   \/\   <,     {__\
 |___|====____|    7"\_// \       \\ 
     _/____\_     /( (@)   \      ))
    '.,____,.'-.,( \_____ ) \    // 
     ._ _        | (((__ ~   ) _// 
       Y       = |      '-,_    / 
       | __,..--"'          "-,/_ 
┌────────────────────────────────────┐
│XMPP - O que é e como ultilizar     │
└────────────────────────────────────┘
[Menu]


Ola! hoje vou falar para vocês sobre o XMPP e como ultilizar ele para substituir mensageiros do dia a dia, desculpem pela sumida, tem coisas vindo por ai que é necessario um pouco de tempo :D 

[0x1] O que é O XMPP/Jabber?

o "Extensible Messaging and Presence Protocol" ou XMPP é um protocolo de comunicação de mensagem em tempo real baseado em XML, ele é originalmente usado para mensagem instantânea mais é usado também para outras coisas
como comunicação de áudio e vídeo, ele foi criado em 1999 pelo Jabber open-source community, por isso a muitas pessoas que conhecem XMPP por Jabber por exemplo, e sim ele é totalmente Open-Source, e já foi passado por várias
mudanças envolvendo segurança, o XMPP ele é Federado, o que significa que ele pode se comunicar com outros domínios (federações) e que você pode criar sua própria federação para se comunicar com outras
fazendo ele ser descentralizado e ótimo para pessoas que querem uma privacidade a + quando for trocar mensagem.

Obviamente, ele não é o melhor em questão de segurança. Há coisas que poderiam ser feitas por padrão, mas geralmente você vai precisar de uma ajudinha do seu cliente XMPP para ter mais segurança na sua troca de mensagens.
E falando em clientes, quais são os melhores para pessoas que estão aprendendo sobre o XMPP? Bom, vamos falar disso agora mesmo.

[0x2] Clients XMPP

Alguns clientes XMPP são bem básicos; alguns ainda funcionam à base de terminais (TUI), e outros são todos coloridinhos e cheios de funções para ajudar o usuário iniciante no assunto, e geralmente são open-source :3.
O que eu usei como início no XMPP foi o Dino, um cliente bem simples que já mostra algumas federações para criar conta e é totalmente de código aberto, e que possui criptografia OMEMO para troca de mensagens. Eu acho ele bom porque tem uma temática muito "discord" de ser, além de ter chamada de vídeo e texto totalmente funcional e prática.
Outro que eu usei e ainda uso é o Pidgin. É outro que eu achei intuitivo, bem prático, mas talvez você precise olhar um pouco para entender como funcionam suas modalidades, como envio de mensagem e confiança de contatos novos. Além disso, para criptografia, você vai ter que usar um plugin para OTR, que é meio "meh", mas funciona. Eu ainda uso e não vejo muitos motivos para trocar por outro cliente no Windows.
No Linux, eu recomendo o Profanity. É um cliente TUI para Linux e até que ele é um ótimo cliente. Suporta OMEMO/PGP/OTR, mas fazer ele rodar no Windows requer alguns truques
e eu não achei tão prático. Então, eu utilizo o Pidgin no Windows; ele é bom, inclusive se você é fã de IRC e gosta de mandar mensagem via terminal, isso é incrível para testar. Além disso, nestes meses de uso, não tive nenhum problema envolvendo a criptografia dele.
E para Android (sim, existe cliente XMPP para Android), temos o Conversations, que é um cliente para Android, open-source, com criptografia OMEMO/PGP e funciona muito bem para celular antigo, como o meu que não tem o melhor celular do mundo xD.

[0x3] Como usar?

Bom, cada cliente tem seus modos de uso, e eu vou te mostrar como usar o mais prático e simples... o Dino, com imagens e textos referentes a cada coisa.
Para baixar, podemos ir no site oficial do Dino e baixar ou pela Microsoft (:/) se você estiver no Windows. Após baixado, a sua respectiva versão, dependendo se você está no Linux ou Windows, vai aparecer uma tela tipo essa:
┌────────────────────────────────────────────────────────────────────────────┐
 
└────────────────────────────────────────────────────────────────────────────┘
Bom, clicando em "set-up account", podemos ver que ele vai pedir um JID e você deve estar se perguntando, o que seria isso? JID é JabberID, é basicamente o seu identificador para mandar e receber mensagem. Ele é composto da seguinte forma:

bezumiya@pwned.life

O seu nome de usuário composto pelo "@" e seu domínio do XMPP. Como um exemplo acima, é como se fosse um endereço de "E-mail", resumidamente.
Bom, se você já tem um JID em algum canto, ótimo! Você pode fazer login normalmente. Mas caso não tenha, você pode criar uma conta em algum provedor de XMPP. Alguns que eu gosto são:

- gnu.gr
- disroot.org 
- pwned.life 
- exploit.im
- thesecure.biz
- xmpp.ru/jp/cz/is

Eu não vou recomendar os que o Dino recomenda, pois nunca usei e não sei muito bem sobre esses domínios.
Como exemplo, vou criar um no gnu.gr indo em https://gnu.gr:5281/register e apenas criando a conta :D. Assim, podemos logar na nossa conta usando o Dino.
Para logar no Dino e enviar uma mensagem, apenas precisamos clicar no "+" e seguir e digitar o JID da pessoa com quem vamos conversar. No caso, vai ser minha própria conta, a bezumiya@pwned.life, para testes.

┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
 
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

yayy temos alguma comunicação no outro lado :D isso é otimo
nessa outra conta estou usando o pidgin para mostrar que o xmpp funciona para qualquer client, mais algumas funções podem não funcionar como o OTR não funciona nativamente no DINO e quando um client tenta usar o OTR
aparece essa mensagem no client.

┌────────────────────────────────────────────────────────────────────────────────────────┐
 
└────────────────────────────────────────────────────────────────────────────────────────┘

[0x4] Dicas extras.

Bom acho que você aprendeu um pouco sobre o uso do XMPP (eu espero) bom acho que para finalizar esse texto nada mais justo que algumas dicas sendo a primeira, sempre use tor ou alguma vpn quando for criar alguma conta em algum provedor
pois a maioria faz o log do seu ip quando você cria a conta, de preferencia usa todo tempo, pois caso você for usar só para mandar msg não vai ter um Lag muito forte em consideração se você não usar para chamada de voz e de video
recomendo fortemente usar servidores que visão privacidade como disroot.org ou exploit.im e outros

esse """artigo""" foi feito meio que no meio tempo que eu estou fazendo outro artigo, então desculpe a demora, isso esta sendo mais um sinal de vida do que qualquer coisa : D 
espero que isso ajude alguem de alguma forma.