Перенос файлов и папок между компьютерами с помощью 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 – безопасно и анонимно делитесь файлами любого размера