Mateus Müller

O carinha do Linux

16 out. 2018

Syncthing – Compartilhando arquivos com seus dispositivos

Então, você quer compartilhar arquivos e diretórios com todos os dispositivos da sua rede, mas eles tem sistemas operacionais totalmente diferentes? Seus problemas acabaram com o Syncthing! Hoje, eu vou te mostrar como instalar e utilizar, para que você possa estar compartilhando arquivos com seus dispositivos.

O Syncthing é uma ferramenta totalmente open-source, mantida pela empresa Kastelo. Seu objetivo é compartilhar diretórios e arquivos dentro de uma rede, de uma forma segura e descentralizada, visando substituir os serviços de Cloud Computing. Desta forma, você é quem decide onde eles irão estar e como serão transmitidos.

Algumas vantagens do Syncthing:

  • Totalmente open-source;
  • Multi-plataforma (Windows, Linux, MacOS, FreeBSD, Solaris);
  • Aplicativo mobile para dispositivo Android;
  • Também há aplicação Web caso não queira instalar;
  • Funciona tanto pela linha de comando, quanto usando o GTK;
  • Tudo será centralizado na sua máquina, nunca compartilhado em outro lugar;
  • Dados encriptados usando TLS;
  • Autenticação usando certificados entre os nós da sua rede;
  • Ademais, é uma ferramenta fora do padrão normal de desenvolvimento. Pensando que, ela é uma ferramenta gratuita, mas consegue nos prover até mesmo um aplicativo mobile e com todas essas features é sensacional!

    Além disso, cabe salientar que, durante o desenvolvimento deste artigo, não farei nenhum processo no celular, visto que não utilizo Android. Todavia, você pode fazer o download aqui. O processo será basicamente o mesmo, criar uma confiabilidade entre os dispositivos e colocar para compartilhar.

    Vamos ver como instalar?

    Como instalar o Syncthing no Linux?

    Debian e derivados:

  • $ sudo apt install syncthing syncthing-gtk -y
  • Arch e derivados:

  • $ sudo pacman -S syncthing syncthing-gtk
  • Fedora e derivados:

  • $ sudo yum install syncthing syncthing-gtk -y
  • Lembrando que, possivelmente, sua distribuição também tem o pacote do Syncthing disponível. Apenas utilize o seu gerenciador de pacotes para instalar. Caso contrário, você poderá encontrar todas as versões do Syncthing aqui.

    Hora de colocar em prática! 🙂

    Como criar uma pasta compartilhada utilizando Syncthing?

    Neste caso, estarei utilizando dois equipamentos: um Ubuntu e outro Fedora. Vou criar um diretório no Ubuntu e iniciar o compartilhamento com o Fedora. Vamos lá!

    Primeiro, o que devemos fazer é iniciar o Syncthing pela linha de comando:

  • $ syncthing
  • Posteriormente, você verá diversas mensagem no terminal mostrando a inicialização. Também, será aberto uma página no navegador com seu endereço de loopback e a porta 8384. Esta, é a interface Web para gerenciá-lo.

    Entretanto, faremos pela versão GTK.

    OBS: É interessante relembrar que a versão GTK só irá funcionar se iniciarmos o processo do Syncthing primeiro.

    Então, assim que abrir o software, clique na engrenagem no canto superior direito -> Adicionar pasta compartilhada. Preencha as informações conforme o que você quer personalizar.

    Syncthing - Compartilhando arquivos com seus dispositivos
    Syncthing -- Compartilhando arquivos com seus dispositivos

    Neste caso, coloquei:

  • O nome do compartilhamento de Casa;
  • O ID será gerado automaticamente;
  • O caminho para o compartilhamento será /home/mateus/casa.
  • A cada 10s será verificado por alterações;
  • Monitorar todos os arquivos por mudanças;
  • Desmarquei “Pasta apenas de envio” e “Receive Only Folder”, pois quero que todos possam escrever e ler nele;
  • Agora, crie alguns arquivos aleatórios e pastas dentro do diretório que você vai compartilhar (no meu caso, /home/mateus/casa).

    Syncthing - Compartilhando arquivos com seus dispositivos
    Syncthing -- Compartilhando arquivos com seus dispositivos

    Como criar uma _trust _entre dois equipamentos com Syncthing?

    Neste momento, precisamos criar a “confiança” entre os nossos dispositivos. Vamos para o Fedora buscar algumas informações para importar no Ubuntu.

    Em seguida, abra o Syncthing no Fedora, clique na engrenagem no canto superior direito -> Exibir ID. Anote este código gigantesco.

    Syncthing - Compartilhando arquivos com seus dispositivos
    Syncthing -- Compartilhando arquivos com seus dispositivos

    Agora, no Ubuntu novamente, clique na engrenagem no canto superior direito -> Adicionar dispositivo. Cole o ID do Fedora neste campo e marque a pasta que criamos para compartilhar com ele.

    Syncthing - Compartilhando arquivos com seus dispositivos
    Syncthing -- Compartilhando arquivos com seus dispositivos

    Note que, haverá um delay de mais ou menos 30s e um pop-up será mostrado no Fedora, avisando que nosso Ubuntu que se conectar a ele.

    Syncthing - Compartilhando arquivos com seus dispositivos
    Syncthing -- Compartilhando arquivos com seus dispositivos

    Clique em Accept device.

    Então, o ID do Ubuntu vai aparecer pro Fedora.

    Syncthing - Compartilhando arquivos com seus dispositivos
    Syncthing -- Compartilhando arquivos com seus dispositivos

    Depois de Salvar, os dois dispositivos vão começar a sincronizar. Inclusive, se você olhar no terminal, da para ver a trust sendo realizada.

    [XV7EL] 22:41:27 INFO: Established secure connection to Z36VBGY-SCZ5FWL-4SINDVC-XCO6X5W-ECV56N2-ZLSSWQE-7BMHVAY at 192.168.25.29:37614-192.168.25.44:22000 (tcp-client) TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
    

    Além do mais, preste atenção ao Cipher Suite mostrado acima, fazendo a conexão ser criptografada. Posteriormente, assim que os dois dispositivos forem sincronizados, ambos aparecerão em verde forte.

    Como forçar sincronização de pastas com Syncthing?

    Note que, caso não tenha sido compartilhado o diretório (como é meu caso), devemos forçar isso depois de estabelecida a trust entre eles. Vá no Ubuntu, botão direito em cima da pasta -> Editar -> Compartilhar com dispositivos -> Marca seu dispositivo.

    Syncthing - Compartilhando arquivos com seus dispositivos
    Syncthing -- Compartilhando arquivos com seus dispositivos

    Certamente, um pop-up vai aparecer no Fedora falando do compartilhamento das pastas.

    Syncthing - Compartilhando arquivos com seus dispositivos
    Syncthing -- Compartilhando arquivos com seus dispositivos

    Depois, clique em Accept folder e preencha as informações conforme a sua necessidade. Deixei o tempo de 10s e procurando por mudanças. É interessante que, depois de configurar no Fedora, você vá e clique em Editar e coloque para compartilhar a mesma pasta com o Ubuntu. Provavelmente a trust será perdida e iniciada novamente e tudo será sincronizado.

    Resultado no Fedora (sincronizado os dados):

    Syncthing - Compartilhando arquivos com seus dispositivos
    Syncthing -- Compartilhando arquivos com seus dispositivos

    Enfim, em ambos os equipamentos, o status deve ser esse:

    Syncthing - Compartilhando arquivos com seus dispositivos
    Syncthing -- Compartilhando arquivos com seus dispositivos

    Por fim, só ir compartilhando com todos os dispositivos que você quiser. Eu sei, é um pouco trabalhoso, mas vale a pena pela privacidade e segurança dos nossos dados.

    Espero que tenha gostado desta dica!

    Não esqueça de nos seguir no Instagram para receber os últimos conteúdos!

    Participe dos nossos grupos no Telegram e Facebook! 🙂

    Veja também:

    Se tiver alguma dúvida ou sugestão de conteúdo, por favor, comente!

    Comentários Disqus