Em tempos de briga com as 'agências' governamentais e sua curiosidade sem fim o cidadão comum hoje pode contar com diversas possibilidades de evitar trafegar seus dados pelos servidores administrados por terceiros, ou melhor, terceiros que ajudam os governos.
Sim, porque é necessário parar com esta cegueira que muita gente desenvolve ao se prender a ideologias e achar que o problema são os EUA. O problema são sim os governos. E todos eles nos monitoram. Somente alguns idiotas é que ficam nesta idéia retardada de que algum governo no mundo quer ajudar alguém.
Mas, isto não é assunto para este post. Este post é mesmo para nos divertirmos colocando um Cryptocat on line para nos deliciarmos conversando com quem quisermos trafegando por um canal nosso.
Primeiro, o que é o Cryptocat ? Em teoria é um "chat seguro" que quer fornecer de forma fácil e acessível um serviço que seja capaz de "manter" sua privacidade on line.
Não que eu acredite piamente que este é um formato seguro, mas pelo menos quando você administra um servidor em teoria você tentará manter os serviços o maior tempo possível longe de olhos curiosos.
Há um vídeo muito legal que fala um pouco sobre o funcionamento do Cryptocat :
Feita a introdução do Cryptocat vamos a como colocar um servidor on line com esta belezinha.
Os passos que eu vou demonstrar são todos para rodar um Cryptocat em um servidor seu, assim, você precisa de um servidor on line.
Com o advento de provedores de VPS baratos ( como a Digital Ocean ) acredito que um servidor assim não é problema ( já que na Digital Ocean por exemplo, o preço deles começa em 5 dolares ).
O tutorial que eu vou mostrar abaixo foi criado em cima de uma máquina com o CentOS.
Em geral este tipo de serviço sempre gosto de colocar rodando no CentOS pelo planejamento que a distro tem de ficar um período de anos em operação.
Isto me fornece o tempo necessário para instalar e planejar em qual período eu irei tirar o servidor do ar :-)
Mas na referência vou colocar o artigo que usei como base para este aqui e você irá ver como rodar em um servidor usando o Ubuntu ( de tabela como rodar no Debian ).
A primeira coisa que você vai precisar implementar são os nomes de DNS.
No meu caso testei em outro domínio meu e crie as seguintes entradas chat.ataliba.net e conference.chat.ataliba.net .
Ambas as entradas de DNS devem apontar para o mesmo ip, ou seja, o ip do seu servidor que hospedará o Cryptocat.
Após criar as entradas de DNS, você vai precisar instalar os pacotes necessários para rodar o servidor.
Se você não tem o repositório EPEL instalado no seu servidor, ative-o.
O comando é difícil para caramba, veja :)
# rpm -ivh http://mirror.globo.com/epel/6/i386/epel-release-6-8.noarch.rpm
Instalado o repositório EPEL, agora é passar para a instalação dos pacotes necessários.
# yum install ejabberd nginx vim git -y
Pronto, agora é configurar o ejabberd. Lembrando que toda vez que ocorrer os domínios que eu configurei você deve modificar para os domínios que você configurou no seu DNS.
Pronto, agora vamos ao Nginx :
cd /etc/ssl/certs openssl req -nodes -x509 -newkey rsa:4096 -keyout key.pem -out cert.crt -days 356
Edite o arquivo ou crie um novo virtual host :
vim /etc/nginx/sites-enabled/default
E edite mais ou menos igual está aqui ( lembrando de substituir o chat.ataliba.net pelo seu domínio ) :
Salve e reinicie o Nginx .
/etc/init.d/nginx restart
crontab -e
1 1 * * * ejabberdctl delete-old-users 1
Agora finalmente vamos para o frontend web do Cryptocat . Mas uma observação, você já poderia utilizar o frontend do próprio cryptocat via : https://crypto.cat , mas para ficar mais legal ainda vamos instalar o nosso próprio frontend :-)
Agora, vamos pegar o código fonte :
cd /tmp git clone https://github.com/cryptocat/cryptocat.git
Agora vamos mandar o código para o lugar correto :
cp -r cryptocat/src/core /var/www/
Agora vamos editar a interface web para utilizar nosso próprio servidor :
cd /tmp git clone https://github.com/cryptocat/cryptocat.git
Copie os arquivos para o diretório :
cp -r cryptocat/src/core /var/www/
Edite o arquivo para usar seu próprio servidor :
cd /var/www vim js/cryptocat.js