Поиск по сайту:

Перенос файлов и папок между компьютерами с помощью Croc

Существует множество способов переноса файлов между двумя и более компьютерами. Вы можете использовать серверные инструменты для обмена файлами, одноранговые приложения для обмена файлами, USB-накопители, внешние жесткие диски, SCP, NFS, FTP, HTTP, платформы облачного хранения и многое другое. Мы уже рассмотрели несколько инструментов для обмена файлами. Сегодня мы поговорим об еще одной утилите для передачи файлов под названием Croc.

Что такое Крок?

Croc — это утилита командной строки для обмена файлами, которая позволяет легко, быстро и безопасно передавать файлы и папки между компьютерами.

Передача данных с помощью «Крока» происходит быстрее, поскольку он действует как сервер-ретранслятор между системами. Он создает полнодуплексный уровень связи в реальном времени между двумя компьютерами, поэтому задачи «загрузки» и «выгрузки» между этими компьютерами выполняются одновременно.

«Крок» обеспечивает сквозное шифрование с использованием библиотеки Обмен ключами с проверкой пароля (PAKE). Для тех, кому интересно: библиотека PAKE позволяет двум людям генерировать надежный секретный ключ, используя слабый ключ, который заранее известен обоим. Этот секретный ключ затем используется для дальнейшего шифрования. Поскольку ключ известен только отправителю и получателю, никто другой не сможет узнать секретный ключ, даже если он знает исходный пароль.

«Крок» может переносить несколько файлов одновременно между компьютерами. Если передача данных по какой-либо причине прерывается, копирование файла может возобновиться с того места, где он был оставлен в прошлый раз.

Поскольку «Крок» использует ретрансляцию, вам не нужен ни центральный сервер, ни проброс портов. Это кроссплатформенное приложение, поэтому вы можете передавать данные между платформами Linux, Mac и Windows.

Вкратце, «Крок» делает следующее:

  • передает данные между двумя компьютерами с помощью ретранслятора,
  • обеспечивает сквозное шифрование с использованием библиотеки PAKE,
  • переносит несколько файлов за один раз,
  • Возобновляет прерванное копирование файлов,
  • Переадресация портов центрального сервера не требуется,
  • ipv6-first с резервным IPv4,
  • требует нулевых зависимостей,
  • кроссплатформенный,
  • бесплатный и с открытым исходным кодом.

«Крок» написан на языке программирования GO и доступен бесплатно по лицензии MIT.

Установить Крок на Linux

«Крок» можно установить в любые дистрибутивы Linux и Unix, поддерживающие Bash, с помощью следующей команды:

curl https://getcroc.schollz.com | bash

Эта команда установит Croc в папку /usr/local/bin/.

Если вы не хотите вставлять что-либо непосредственно в свой SHELL, вы можете загрузить предварительно скомпилированные двоичные файлы со страницы релизов и установить их с помощью менеджера пакетов вашего дистрибутива.

Например, я установил deb-файл Croc в свою систему Ubuntu, используя следующие команды:

sudo apt install gdebi
sudo gdebi croc_8.3.2_Linux-64bit.deb

Croc доступен в [Сообществе], поэтому вы можете установить его в Arch Linux и его вариантах с помощью pacman, как показано ниже:

sudo pacman -S croc

В NixOS запустите:

nix-env -i croc

Croc также доступен в виде привязки.

snap install croc

Вы также можете собрать Croc из исходного кода, если у вас установлен Go в вашей системе Linux.

GO111MODULE=on go get -v github.com/schollz/croc/v8

Перенос файлов и папок между компьютерами с помощью Croc

Убедитесь, что вы установили Croc на все системы.

Чтобы перенести файл/папку с помощью Croc, просто запустите:

croc send <file-or-folder-path>

Пример :

croc send file.txt

Croc сгенерирует случайную кодовую фразу, как показано ниже.

Sending 'file.txt' (116 B)
Code is: slow-tomato-almond
On the other computer run

croc slow-tomato-almond

Здесь кодовая фраза: медленный томат-миндаль. Кодовая фраза используется для заключения соглашения о ключах, проверяемых паролем (PAKE), которое генерирует секретный ключ, который отправитель и получатель могут использовать для сквозного шифрования.

Чтобы получить указанный выше файл на другой компьютер, получатель должен ввести последнюю строку в приведенном выше выводе:

croc slow-tomato-almond

Нажмите «y» и нажмите Enter, чтобы получить файл.

Accept 'file.txt' (116 B)? (y/n) y

Receiving (<-192.168.225.37:9009)
file.txt 100% |████████████████████| (116/116 B, 32.966 kB/s) [0s:0s] ✔️

Пример вывода:

Перенос файлов и папок между компьютерами с помощью Croc

Установить собственную кодовую фразу

Как я уже упоминал, «Крок» будет генерировать случайный код каждый раз, когда вы отправляете файл или папку. Вы также можете отправлять файлы/папки с выбранным вами кодом, используя опцию --code.

croc send --code download-this file.txt

Здесь "download-this" — это кодовая фраза.

Пример вывода:

Sending 'file.txt' (116 B)
Code is: download-this
On the other computer run

croc download-this

Получатель может получить файл с помощью следующей команды:

croc download-this

Отправляйте файлы и папки с помощью специального кода с помощью Croc.

Послать текст

Точно так же, как файлы и папки, мы также можем делиться текстом. Это может быть полезно, если вы хотите поделиться сообщением или URL-адресом.

Чтобы отправить текст с помощью Croc, запустите:

croc send --text "Welcome to OSTechNix"

Пример вывода:

Sending 'text' (20 B)
Code is: natural-roof-clock
On the other computer run

croc natural-roof-clock

Sending (->[fe80::a00:27ff:fe10:7cc1%wlp9s0]:39916)

Получатель получит текст с помощью следующей команды:

croc natural-roof-clock
Accept 'text' (20 B)? (y/n) y

Receiving (<-[fe80::d710:cf4:bb49:8b20%enp0s8]:9009)
Welcome to OSTechNix

Отправить текст с помощью крокодила

Используйте трубы

Вы можете передать вывод файла в croc, как показано ниже.

cat file.txt | croc send

Пример вывода:

Sending 'stdin' (116 B)
Code is: dexter-cowboy-soprano
On the other computer run

croc dexter-cowboy-soprano

Croc автоматически будет использовать данные стандартного ввода, отправит файл и назначит ему имя, например «croc-stdin-728899651».

На принимающей стороне пользователь может получить файл с помощью любой из следующих команд:

croc dexter-cowboy-soprano

Или используйте:

croc --yes dexter-cowboy-soprano > out

Здесь --yes не будет запрашивать подтверждение и автоматически согласится на все запросы.

Установить выходную папку

По умолчанию «Крок» загрузит данные в текущую рабочую директорию. Вы можете использовать другое место загрузки, используя флаг --out.

croc send file.txt

Пример вывода:

Sending 'file.txt' (116 B)
Code is: program-public-mystery
On the other computer run

croc program-public-mystery

На принимающей стороне запустите:

croc --out ~/Downloads

Введите кодовую фразу при появлении запроса.

Получать помощь

Для получения помощи запустите:

croc --help
NAME:
   croc - easily and securely transfer stuff from one computer to another

USAGE:
   Send a file:
      croc send file.txt

   Send a file with a custom code:
      croc send --code secret-passphrase file.txt

VERSION:
   v8.3.2-7d155ad

COMMANDS:
   send     send a file (see options with croc send -h)
   relay    start your own relay (optional)
   help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --remember      save these settings to reuse next time (default: false)
   --debug         toggle debug mode (default: false)
   --yes           automatically agree to all prompts (default: false)
   --stdout        redirect file to stdout (default: false)
   --no-compress   disable compression (default: false)
   --ask           make sure sender and recipient are prompted (default: false)
   --relay value   address of the relay (default: "142.93.177.120:9009") [$CROC_RELAY]
   --relay6 value  ipv6 address of the relay (default: "[2604:a880:800:c1::14c:1]:9009") [$CROC_RELAY6]
   --out value     specify an output folder to receive the file (default: ".")
   --pass value    password for the relay (default: "pass123") [$CROC_PASS]
   --help, -h      show help (default: false)
   --version, -v   print the version (default: false)

Ресурсы:

  • Сайт Крок
  • Репозиторий Croc на GitHub

Связанное чтение:

  • Обмен файлами между настольными компьютерами Linux с помощью Warpinator
  • Как безопасно обмениваться файлами через Интернет с помощью Firefox Send
  • Как безопасно обмениваться файлами из командной строки с помощью ffsend в Linux
  • PSiTransfer — простое решение для самостоятельного размещения файлов с открытым исходным кодом
  • Как настроить базовый файловый сервер с помощью simpleHTTPserver
  • Простой и быстрый способ поделиться файлами через Интернет из командной строки
  • OnionShare – безопасно и анонимно делитесь файлами любого размера

Статьи по данной тематике