Гид по технологиям

Croc — безопасная и быстрая передача файлов между Linux и любыми устройствами

7 min read Linux Обновлено 09 Jan 2026
Croc — передача файлов между Linux и другими устройствами
Croc — передача файлов между Linux и другими устройствами

Утилита croc для передачи файлов на Linux

Что такое croc?

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

Ключевые принципы работы:

  • Релейный сервер создаёт полно‑дуплексный канал между отправителем и получателем; файлы не сохраняются для публичного доступа, а передаются напрямую через туннель.
  • Для установления защищённого соединения используется PAKE (Password Authenticated Key Exchange) — метод обмена ключами по паролю, дающий сквозное шифрование.
  • Благодаря реле и PAKE не требуется пробрасывать порты в домашнем или офисном роутере.

Важно: croc — CLI-инструмент; он ориентирован на людей, комфортно использующих терминал.

Зачем использовать croc?

Преимущества и сценарии, где croc полезен:

  • Быстрая настройка: не нужно VPN, NAT‑проброс или настройки роутера.
  • Безопасность: PAKE и генерируемые секреты уменьшают риск MITM при корректном использовании.
  • Надёжность: поддержка возобновления при обрыве соединения уменьшает потерю прогресса при передаче больших файлов.
  • Гибкость: можно использовать прокси (например, Tor) или развернуть свой релейный сервер.
  • Кроссплатформенность: работает между Linux, macOS, Windows и мобильными платформами (через соответствующие сборки).

Когда croc не самый удобный выбор:

  • Для синхронизации больших наборов файлов с постоянными изменениями лучше подходят rsync или Unison.
  • Для интеграции в автоматические CI/CD пайплайны удобнее инструменты с API (S3, SCP при SSH‑ключах).

Установка croc на Linux

Croc доступен для большинства дистрибутивов. Ниже — рекомендованные варианты установки.

Скачайте последнюю сборку с официального сайта или GitHub проекта.

Скачать: Croc

DEB для Ubuntu/Debian — откройте терминал, перейдите в каталог с файлом и выполните:

sudo dpkg -i croc-*.deb

Для Arch Linux:

sudo pacman -S croc

Для FreeBSD:

pkg install croc

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

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

Подсказка: после установки выполните croc –help, чтобы посмотреть доступные опции и версии.

Как использовать croc для передачи файлов

Croc работает по принципу «отправитель выдаёт код, получатель вводит код».

Ниже — подробные инструкции для отправки и приёма.

Передача файлов из Linux на другое устройство

  1. Откройте терминал на отправителе (Linux).
  2. Выполните команду:
croc send file_name

Пример:

croc send MyText.txt

Передача файлов через croc

  1. В терминале появится код (фраза), например alpha1. На принимающем устройстве в терминале введите:
croc alpha1
  1. Подтвердите приём, введя y, когда появится запрос.

Как работает безопасность: когда код совпадает, устанавливается PAKE и генерируется секрет для сквозного шифрования передачи.

Короткий код можно заменить на свой, удобный для ввода:

croc send --code your_code_phrase file_name

Пример отправки текста (полезно для передачи ссылок или заметок):

croc send --text "hello"

На принимающем устройстве введите код и подтвердите y, чтобы увидеть сообщение.

Примечание: croc поддерживает передачу папок; если вы отправляете папку, указывайте путь к директории. В зависимости от версии croc поведение по умолчанию может архивировать директорию перед передачей или передавать содержимое рекурсивно — проверьте croc –help для вашей сборки.

Приём файлов на Linux с другого устройства

  1. На отправляющем устройстве выполните:
croc send file_name
  1. На Linux‑приёмнике в терминале введите код, который выдал отправитель:
croc code_phrase
  1. Подтвердите y для загрузки.

Приём файлов через croc

Частые сценарии и практические советы

  • Быстрая передача с локальной сети: croc автоматически выберет наилучший путь; проброс портов не обязателен.
  • Передача через публичный интернет: используйте более короткие, легко вводимые коды только в доверенной среде. Для публичных передач предпочтительнее автоматически сгенерированные сложные фразы.
  • Использование прокси/Tor: croc поддерживает работу через системные прокси; при необходимости настроьте переменные окружения http_proxy/https_proxy или используйте torify/socat.
  • Возобновление передачи: если соединение оборвалось, повторите команду отправки — в большинстве случаев croc продолжит передачу с места остановки.

Important: всегда сверяйте код с собеседником до подтверждения, чтобы избежать случайной пересылки данных не тому адресу.

Плейбук: быстрый SOP для одноразовой передачи

Шаги для обычного одноразового обмена файлами:

  1. На отправителе: откройте терминал и выполните croc send file_name.
  2. Отправьте полученный код голосом, мессенджером или устно получателю (не публикуйте код в открытом чате).
  3. На принимающем устройстве: выполните croc code_phrase и подтвердите y.
  4. Проверьте контрольную сумму (при передаче важных данных). Для этого на отправителе и принимающем можно сравнить sha256sum file_name.

Пример проверки контрольной суммы:

sha256sum MyText.txt

Если хеши совпадают — файл корректен.

Критерии приёмки

Файл считается успешно переданным, когда:

  • На принимающем устройстве отображается сообщение об успешной передаче;
  • Контрольная сумма отправленного и полученного файлов совпадает (рекомендуется для важных данных);
  • Передача завершилась без ошибок и без незавершённых частей.

Чек‑листы по ролям

Отправитель:

  • Убедиться, что croc установлен и работает (croc –version).
  • Подготовить файл/папку, при необходимости сжать или зашифровать.
  • Запустить croc send и передать код получателю безопасным каналом.
  • Дождаться подтверждения и окончания передачи.

Получатель:

  • Убедиться, что croc установлен.
  • Ввести код, полученный от отправителя.
  • Подтвердить приём y.
  • Проверить целостность файла sha256sum.

Администратор (при self-host relay):

  • Настроить переадресацию портов и SSL, если релeй доступен извне.
  • Ограничивать доступ по IP/ACL при необходимости.
  • Периодически проверять логи и обновления безопасности.

Техническая мини‑методология развёртывания собственной релейной инфраструктуры

Если вы хотите минимизировать зависимость от общих публичных релeй-сервисов, рассмотрите self-host релeя:

  1. Проверьте репозиторий croc на GitHub для инструкций по развёртыванию релейного сервера.
  2. Разверните релейный сервис в изолированной среде (виртуальная машина или контейнер).
  3. Закройте ненужные порты, используйте TLS и настройки firewall.
  4. При возможности активируйте аутентификацию и мониторинг логов.

Примечание: подробные команды для Docker и конфигурации зависят от конкретной реализации релея и доступны в официальной документации проекта.

Отказоустойчивость и запуск восстановления при ошибках

Типичные проблемы и шаги решения:

  • Соединение прерывается: подождите, затем повторно выполните команду отправки; croc обычно позволяет возобновить передачу.
  • Код не работает: сгенерируйте новый код и повторите операцию; убедитесь, что оба участника используют одну версию croc и один релейный сервер.
  • Ошибки прокси/сети: проверьте настройки http(s)_proxy и доступ к релейному хосту; попробуйте использовать альтернативную сеть (мобильный хотспот) для локализации проблемы.

Сравнение с альтернативными инструментами

  • scp/rsync: подходят для постоянных подключений по SSH и синхронизации; требуют доступного SSH‑сервера.
  • qrcp: удобен для передачи между мобильными устройствами и ПК через QR‑коды; больше подходит для кратковременных GUI‑сценариев.
  • magic-wormhole: похож по идее на croc (одноразовый код), ориентирован на безопасные одноразовые передачи через центральный сервер.

Выбор зависит от требований: если нужен быстрый, одноразовый, защищённый обмен без настройки серверов — croc отлично подойдёт. Для резервных копий и синхронизации больших наборов данных лучше пользоваться rsync/ssh.

Рекомендации по безопасности и конфиденциальности

  • Никогда не публикуйте код передачи в открытых каналах.
  • При передаче чувствительных данных предпочтительнее заранее зашифровать файл локально (gpg, age) перед отправкой.
  • Рассмотрите развёртывание собственного релейного сервера, чтобы минимизировать внешние точки сбора метаданных.
  • При использовании общедоступных релеев учтите, что операторы релея могут иметь метаданные о соединениях; для строгой приватности разверните собственный релей.
  • Для корпоративного использования оформите правила хранения и удаления логов, чтобы соответствовать требованиям соответствия и приватности.

Note: PAKE защищает содержимое передачи, но метаданные (кто с кем соединялся, время передачи) зависят от выбранной инфраструктуры релея.

Тесты и критерии приёмки (короткий набор тест‑кейсов)

  1. Малый файл (≤1 МБ): отправитель выполняет croc send small.txt; получатель получает файл, контрольная сумма совпадает.
  2. Большой файл (>1 ГБ): отправитель прерывает соединение на середине; повторный запуск возобновляет передачу и завершает её.
  3. Передача текста: croc send –text “URL”; получатель вводит код и видит текст.
  4. Передача через прокси: проверить работу при установленных http_proxy/https_proxy.

Короткий словарь терминов

  • PAKE — защищённый обмен ключами по паролю.
  • Релейный сервер — сервер, который перенаправляет трафик между двумя клиентами.
  • Full‑duplex — двунаправленная передача данных одновременно в обе стороны.

Итог

Croc — удобный инструмент для одноразовой и защищённой передачи файлов через терминал. Он особенно полезен, когда хочется передать файл быстро без настройки серверов и проброса портов, при этом сохранить высокий уровень шифрования. Для регулярной синхронизации больших наборов данных стоит рассмотреть специализированные решения.

Короткая памятка:

  • Установите croc, выполните croc –version.
  • На отправителе: croc send file_name или croc send –code mycode file_name.
  • На приёмнике: croc code_phrase и подтвердите y.

Дополнительные материалы и альтернативы: qrcp, rsync, scp. Для подробной документации и последних релизов смотрите репозиторий проекта на GitHub.

Контактные заметки

Если вы управляете инфраструктурой и планируете массово внедрять croc в организации, рекомендую протестировать self-host релeй в изолированной среде и согласовать политику хранения логов и контроль доступа.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство