Blog Linux Avante

Croc é uma ferramenta para transferências de arquivos e pastas recuperáveis e criptografadas entre computadores (linha de comando)

4 de março de 2021

Linha de comando de transferência de arquivo criptografado por croc

*Croc é uma ferramenta de linha de comando de código aberto para transferências de arquivos seguros entre computadores. Ele usa transações peer-to-peer assistidas por retransmissão e criptografia de ponta a ponta por troca de chave autenticada por senha. O programa está escrito em Go e está disponível para Microsoft Windows, MacOS, Linux e BSD.**

A ideia por trás do croc é ser capaz de transferir arquivos e pastas entre computadores multiplataforma com segurança, rapidez e facilidade. Com suporte para transferências recuperáveis e peer-to-peer. Como um recurso extra, o CROC também é capaz de transferir com segurança um pequeno texto ou URL diretamente.

A transferência de dados é feita usando um retransmissor, usando soquetes TCP brutos ou WebSockets. Quando o remetente e o receptor estão na mesma LAN, o Croc usa um retransmissor local, caso contrário, é usado um retransmissor público. Graças a isso, o CROC pode enviar arquivos entre computadores na mesma LAN, ou pela Internet, sem ter o encaminhamento de porta ativado.

Os dados que passam pelo retransmissor são criptografados usando uma chave de sessão PAKE. Para isso, o Croc usa frases de código, uma combinação de três palavras aleatórias. Por padrão, uma frase de código só pode ser usada uma vez entre duas partes, portanto, um invasor teria uma chance de menos de 1 em 4 bilhões para adivinhar a frase de código corretamente para roubar os dados.

Características do croc:

  • Permite que quaisquer dois computadores transfiram dados (usando um retransmissor)
  • Fornece criptografia de ponta a ponta (usando pake)
  • *Permite transferências de arquivos e pastas entre sistemas (Windows, Linux, Mac e BSD)**
  • Permite várias transferências de arquivos
  • Permite retomar transferências que são interrompidas
  • Servidor local ou encaminhamento de porta não é necessário
  • IPv6 - primeiro com fallback IPv4
  • Pode usar um proxy, como tor

O desenvolvedor menciona que o Croc é a única ferramenta de transferência de arquivos de linha de comando que tem todos os recursos mencionados acima.

O CROC também suporta o seu próprio retransmissor (croc relay; você pode facilmente auto-hospedar um retransmissor usando o Docker), definindo uma frase de código personalizada (não-croc) (croc send --code), concordando automaticamente com todos os prompts (--yes) , e existem várias outras opções como forçar o uso de conexões locais (--local), especificar o endereço de retransmissão (--relay/--relay6), usar um proxy Socks 5 (--socks5), etc. Você pode salvar algumas dessas opções para usos futuros ( O retransmissor personalizado, portas e frase de código) usando a opção --remember. Veja o croc --help, bem como croc send --help para detalhes.

Preocupado que esta seja uma ferramenta de linha de comando, e que é difícil de usar por um usuário inexperiente no Microsoft Windows? Não é. Um usuário do Windows pode simplesmente baixar o binário para Windows, extraí-lo, clicar duas vezes no executável croc.exe, e uma janela de console aparecerá, solicitando ao usuário que insira o código de recebimento:

croc windows

Outra ferramenta parecida em funcionalidade com o Croc é Magic Wormhole. Esta é uma ferramenta de linha de comando feita em python3 para enviar arquivos e pastas entre computadores. As diferenças são que Magic Wormhole é escrito em Python, por isso requer a instalação de suas dependências (Croc é escrita em Go, para que você possa usar o binário sem ter que instalar quaisquer dependências), e Magic Wormhole não suporta várias transferências de arquivos, retomar transferência, IPv6, transferência local sem retransmissor público, enviar pastas sem zipar, e não é tão fácil de instalá-lo no Windows.

Uso de Croc.

Usando o Croc para enviar um arquivo ou pasta é tão simples quanto:

Comandos para usar no terminal

croc send file-or-folder

Por exemplo:

$ croc croc_8.6.8_Linux-64bit.deb

Did you mean to send 'croc_8.6.8_Linux-64bit.deb'? (y/n) y
Sending 'croc_8.6.8_Linux-64bit.deb' (2.1 MB)
Code is: life-brother-chicken

On the other computer runcroc life-brother-chicken

Como você pode ver na saída do comando, ao enviar um arquivo, croc mostrar um código na forma de uma frase fácil de lembrar. As instruções para receber o arquivo também são mostradas aqui - para obter o arquivo, o receptor precisa executar o comando croc seguido pelo código do arquivo/pasta:

Comandos para usar no terminal

croc code-phrase

Exemplo:

$ croc life-brother-chicken

Accept 'croc_8.6.8_Linux-64bit.deb' (2.1 MB)? (y/n) y

Receiving (<-192.168.70.106:36472)
croc_8.6.8_Linux-64bit.deb 100% || (2.1/2.1 MB, 2.153 MB/s)

Quando o receptor executa o comando croc para obter o arquivo, o remetente verá uma mensagem dizendo algo assim:

Sending (->192.168.70.106:36480)

Quando a transferência de arquivos é concluída, o croc termina, para que o arquivo não possa mais ser baixado novamente. Se você quiser cancelar a transferência de arquivos antes de concluir (ou antes mesmo começar), pressione Ctrl + c.

Você também pode usar o CROC para enviar com segurança um texto curto ou URL entre computadores, usando:

Comandos para usar no terminal

croc send --text "Some text"

Para ainda mais, como usar pipes, etc. consulte o uso do Croc do seu repositório GitHub.

Baixe o croc

Baixar CROC

Existem binários do croc disponíveis para o Microsoft Windows, MacOS, FreeBSD e Linux.

No Linux, você só encontrará binários em deb (para Debian/Ubuntu/Linux Mint/Pop!_OS/etc.), bem como binários genéricos que você pode instalar em qualquer distribuição do Linux, copiando-o em algum lugar em seu caminho (por exemplo /usr/local/bin).

Consulte as instruções oficiais de instalação do croc. Para obter uma lista completa de maneiras de instalar esta ferramenta de linha de comando (um script genérico para instalá-lo em qualquer distribuição do Linux, a ferramenta está disponível nos repositórios do Arch Linux, instale-o usando o Homebrew, Chocolatey, etc.).

Confira a versão original desse post em inglês
Propaganda
Blog Comments powered by Disqus.