*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:
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.
Você também pode gostar: QRCP: transferência de arquivos entre desktop e dispositivos móveis em relação à Wi-Fi, digitalizando um código QR
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:
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.
Usando o Croc para enviar um arquivo ou pasta é tão simples quanto:
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:
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:
croc send --text "Some text"
Para ainda mais, como usar pipes, etc. consulte o uso do Croc do seu repositório GitHub.
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.).
Você também pode gostar: Como criptografar arquivos de armazenamento em nuvem com rclone
Esse post foi traduzido do site LinuxUprising.com pela rtland.team.
Confira a versão original desse post em inglês:
croc Is A Tool For Resumable, Encrypted File And Folder Transfers Between Computers (Command Line)