Yes, it's working :D
            o
            o
     //@@  o
    @@ ^^
   @@@ v @   _____
  /  \ /  | |\____\
 /  ( X ) | | |   |
<___=\      | |   |
    \======\ \|_"_|
                (____



Ola, hoje Vamos explicar como fazer um chat self-hosted e como funciona o processo inteiro.

Você deve estar se perguntando, por que criar um client self hosted, sendo que eu posso simplesmente ir em call com meus amigos no discord para falar sobre as coisas...
mensageiros hoje em dia são controlados por bigtechs que sabem exatamente oque você digita, ja parou para pensar o que fica escrito naquelas entrelinhas de politica de privacidade?
Existem serviços que resumem isso, como tosdr e sim isso fica pior quando você descobre sobre as politicas de privacidade de outros aplicativos.

Como o discord esta listado no tosdr como nivel D que é o pior nivel possivel do tosdr e os motivos dele estar la são:

- Em vez de perguntar diretamente, este Serviço assumirá o seu consentimento apenas a partir do seu uso.
- O serviço está disponível apenas em alguns países aprovados pelo seu governo (censura)
- O serviço pode Olhar suas mensagens privadas (sendo elas rascunhos ou qualquer outra coisa)

Outros motivos de você utilizar serviços Self-Hosted, é que nenhum service de mensagem ou de outros focos, não duram para sempre.
O serviço pode ser fechado por varios motivos, sendo eles por censura, servidores sendo fechados por perseguição, e tentativa de vigilancia entre outros.
por isso que eu sempre prefiro opitar por hospedar meus propios serviços, assim eu tenho minha segurança e irei confiar em mim mesmo, e no codigo que eu estou mexendo.

- Bom, mas como podemos fazer isso sem gastar nada? (ou quase nada)

temos 2 opções, caso você tenha um computador sobrando (com configurações minimas para rodar pelo menos um Linux) você pode utiliza-lo para fazer a hospedagem de serviços
ou caso você queira, pode utilizar seu propio computador usando algumas tecnologias como docker ou uma Virtual machine para hospeda-lo com mais segurança

Nesse caso estarei hospedando em um computador antigo meu, ele tem apenas 4gb de ram e um processador acabado, porem sera mais que suficiente para isso.
Ok, vamos la! para começar irei apresentar o chat que iremos hospedar, o voce.chat um projeto de chat que tem como objetivo
fazer um chat que se pareça como discord/rocketchat/Matrix, só que com um gerenciamento facil e simples, e sendo compativel com linux/windows/android e MacOS

Ele possue varias features no chat para segurança e privacidade, sendo elas:

- Images and large files transmission
- Burn after reading
- Voice / Video
- Webhook+Bot
- Personal AI Bot

Otimo né? e é muito simples instalar e hospedar em uma rede tor, irei mostrar como fazer isso agora:

Primeiramente verifique se você tem docker instalado e curl em seu servidor:
┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
|bezumiya@x00r:~$ sudo apt update -y
|bezumiya@x00r:~$ sudo apt install curl -y
|bezumiya@x00r:~$ curl -fsSL https://get.docker.com | bash
|bezumiya@x00r:~$ systemctl start docker
|bezumiya@x00r:~$ systemctl enable docker
|Synchronizing state of docker.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
|Executing: /usr/lib/systemd/systemd-sysv-install enable docker
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

Agora podemos baixar a imagem e roda-la, mas antes, tenha certeza que você desativou todos os sistemas de firewall se você tiver instalado algum.

┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
|bezumiya@x00r:~$ docker run -d --restart=always \
|  -p 3000:3000 \
|  --name vocechat-server \
|  privoce/vocechat-server:latest
|Unable to find image 'privoce/vocechat-server:latest' locally
|latest: Pulling from privoce/vocechat-server
|a46fbb00284b: Pull complete
|45ae272c1067: Pull complete
|5075c565ebfe: Pull complete
|56b713e9ea9e: Pull complete
|a4d69c489404: Pull complete
|ca3dc7211469: Pull complete
|1ea77b418ed7: Pull complete
|4f4fb700ef54: Pull complete
|Digest: sha256:b97b87746680fb382251f327181405fb5e3f73eeb122ad31ca334db5fa58f48d
|Status: Downloaded newer image for privoce/vocechat-server:latest
|06cd6b8c4a4c83deaae617ae20bbe248906b373c3ae872ce6e11075276235eb4
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

Ok agora podemos ir para o 127.0.0.1:3000 e começar a configurar por la.
┌──────────────────────────────────────────────────────────────────────────────────┐
 
└──────────────────────────────────────────────────────────────────────────────────┘

Agora vamos colocar um nome para o servidor, nesse caso coloquei "liberté"
┌──────────────────────────────────────────────────────────────────────────────────┐
 
└──────────────────────────────────────────────────────────────────────────────────┘

Agora vamos criar o nosso usuario com email/senha (não precisa ser um email valido)
┌──────────────────────────────────────────────────────────────────────────────────┐
 
└──────────────────────────────────────────────────────────────────────────────────┘

Agora vamos setar se o chat sera usado invite only, ou as incrições sera aberta para todos
Nesse caso coloquei invite only
┌──────────────────────────────────────────────────────────────────────────────────┐
 
└──────────────────────────────────────────────────────────────────────────────────┘

E eles vão criar um invite para você enviar para outras pessoas, porem não vai funcionar pois
esta no 127.0.0.1, então vamos arrumar isso logo logo.
┌──────────────────────────────────────────────────────────────────────────────────┐
 
└──────────────────────────────────────────────────────────────────────────────────┘

E Vuala!, vamos configurar para ele funcionar no tor!
┌──────────────────────────────────────────────────────────────────────────────────┐
 
└──────────────────────────────────────────────────────────────────────────────────┘

Aqui em overview, podemos mudar para o nosso dominio no tor
caso você não sabe como hospedar qualquer service no tor veja o tutorial anterior!
┌──────────────────────────────────────────────────────────────────────────────────┐
 
└──────────────────────────────────────────────────────────────────────────────────┘

E podemos dar Update e podemos verificar se o dominio esta funcionando!
┌──────────────────────────────────────────────────────────────────────────────────┐
 
└──────────────────────────────────────────────────────────────────────────────────┘

Mas antes vamos criar um invite para enviar para outras pessoas.
┌──────────────────────────────────────────────────────────────────────────────────┐
 
└──────────────────────────────────────────────────────────────────────────────────┘

E podemos ver que estamos conectados no chat utilizando o link do tor que hospedamos :)
┌──────────────────────────────────────────────────────────────────────────────────┐
 
└──────────────────────────────────────────────────────────────────────────────────┘

E esta la um chat 100% privado, seguro e hospedado por você mesmo!
┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
 
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘


┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
|Bom é isso, terminamos mais um tutorial de como hospedar um Chat 100% privado e seguro, utilizando poucos comandos e facil de gerenciar
|Caso Vocês tenham qualquer duvida existem a documentação completa do voce.chat no site deles: doc.voce.chat Bom é isso até a proxima!
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
[Inicio]