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

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

• 7 min read • Инструменты • Обновлено 24 Nov 2025
Croc — безопасный CLI‑обмен файлами
Croc — безопасный CLI‑обмен файлами

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

Что такое croc?

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

Ключевые концепции:

  • Реле‑сервер: croc устанавливает защищённый канал через реле, создавая двунаправленную (full‑duplex) связь между отправителем и получателем. Файлы фактически не хранятся длительно на сервере — сервер лишь координирует соединение и пересылает пакеты.
  • PAKE (Password Authenticated Key Exchange): метод, при котором обе стороны создают общий секрет по короткой кодовой фразе. Это обеспечивает end‑to‑end шифрование и защиту от атак с перехватом.
  • Поддержка прокси и возможность самохостинга реле‑сервера.

Кратко: croc — это средство для быстрого, зашифрованного и удобного обмена файлами через терминал, с минимальными требованиями к сетевой инфраструктуре.

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

Преимущества и типичные сценарии использования:

  • Простота: одна команда для отправки файла или текста; удобно для разработчиков и администраторов.
  • Быстрая передача: двунаправленная передача и оптимизации протокола улучшают скорость по сравнению с некоторыми посредниками.
  • Без настройки сети: нет необходимости настраивать NAT/port forwarding на маршрутизаторе.
  • Безопасность: PAKE обеспечивает E2E‑шифрование, пользователь подтверждает получение через код/фразу.
  • Надёжность: поддержка возобновления прерванных передач.
  • Гибкость: можно использовать Tor/HTTP‑прокси или развернуть собственный реле‑сервер.

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

Когда croc не подходит

  • Массовая синхронизация: если нужно постоянно синхронизировать большие объёмы между несколькими узлами, лучше использовать rsync, Syncthing или облачные сервисы.
  • Нулевой доверия: для строгих аудиторских сценариев с обязательным логированием и управлением доступом на уровне организации потребуются решения с централизованным контролем.
  • Ограниченные сетевые политики: в сетях с жёстким DPI или блокировкой нестандартных протоколов croc через реле может не пройти без дополнительной настройки прокси.

Альтернативы и сравнение

Коротко о популярных альтернативах:

  • scp / sftp: классика на базе SSH, хорошо для администрирования, требует SSH‑доступа и открытых портов на сервере.
  • rsync: эффективна для дельта‑передач и синхронизации директорий.
  • Syncthing: постоянная синхронизация peer‑to‑peer с фокусом на непрерывную синхронизацию.
  • magic‑wormhole: простой PAKE‑подобный инструмент для разовых передач; похож по идее, но с другим UX.
  • qrcp: передача через QR‑коды — удобно для мобильных устройств.

Выбор зависит от сценария: однократная безопасная передача — croc или magic‑wormhole; синхронизация — Syncthing/rsync; интеграция с серверами — scp/rsync.

Как установить croc на Linux

Сначала скачайте актуальный релиз для вашей системы с официального сайта или GitHub (ссылка на страницу релизов croc).

Установка для Debian/Ubuntu (DEB‑пакет):

sudo dpkg -i croc-*.deb

Установка на Arch Linux:

sudo pacman -S croc

Установка на FreeBSD:

pkg install croc

Автоматический скрипт установки (если нет пакета для вашей дистрибуции):

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

Совет: всегда проверяйте контрольную сумму или подпись релиза при установке из неизвестного источника. На целевом устройстве тоже нужно установить croc, иначе передача не состоится.

Быстрая шпаргалка команд

  • Отправить файл:
croc send /путь/к/файлу
  • Отправить каталог (рекурсивно):
croc send --recursive /путь/к/папке
  • Отправить текст или ссылку:
croc send --text "Привет, вот ссылка: https://example.com"
  • Использовать свой код/фразу:
croc send --code my‑custom‑code /путь/к/файлу
  • Принять файл:
croc mycode
  • Список доступных параметров и помощь:
croc --help

Отправка файлов через croc в терминале

Как отправлять файлы с Linux на другое устройство

  1. Откройте терминал на отправителе (Linux).
  2. Выполните команду отправки файла (пример):
croc send MyText.txt
  1. В терминале появится код/фраза — передайте её получателю (скопируйте по SSH/мессенджеру/голосом).
  2. На компьютере‑получателе выполните:
croc <код_или_фраза>
  1. Подтвердите приём, введя y, когда появится приглашение.

Если код слишком длинный для набора вручную, можно задать свою короткую кодовую фразу через –code.

Пример отправки текста:

croc send --text "hello"

После подтверждения на принимающей стороне текст отобразится в терминале.

Пользователь задаёт пользовательский код для croc

Как принимать файлы на Linux от другого устройства

  1. Попросите отправителя выполнить:
croc send /путь/к/файлу
  1. Получите код и введите его в своём терминале:
croc <код_или_фраза>
  1. Подтвердите приём ответом y.

Файл сохранится в текущей рабочей директории, если иное не указано.

Приём файла через croc в терминале Linux

Практическая методология: пошаговый чек-лист

  1. Подготовка:
    • Убедитесь, что croc установлен на обоих устройствах.
    • Откройте терминал и проверьте версию: croc --version.
  2. Отправка:
    • На отправителе выполните croc send <файл|папка|--text>.
    • Передайте код получателю безопасно.
  3. Приём:
    • На принимающем устройстве выполните croc <код>.
    • Подтвердите y и дождитесь конца передачи.
  4. После передачи:
    • Проверьте целостность файла (sha256sum/sha1sum по необходимости).
    • При необходимости удалите временные файлы.

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

  • Файл полностью скачан и целостность совпадает с контрольной суммой.
  • Шифрование установлено (PAKE успешно завершён).
  • Передача была завершена без ошибок или успешно возобновлена после паузы.

Безопасность и хостинг реле‑сервера

Рекомендации по безопасности:

  • PAKE даёт E2E‑шифрование, но кодовую фразу нужно передавать по защищённому каналу (например, мессенджер с E2E или лично).
  • Избегайте отправки кодов через публичные форумы.
  • Используйте длинные произвольные кодовые фразы для повышенной безопасности.

Прокси и Tor:

  • Croc поддерживает использование прокси/Tor для дополнительной приватности. Конфигурация прокси зависит от вашей среды; используйте системные переменные HTTP_PROXY/HTTPS_PROXY или соответствующие опции клиента при необходимости.

Самостоятельное хостинг реле‑сервера:

  • Для корпоративного использования или минимизации сторонних зависимостей можно развернуть собственный реле‑сервер (доступны инструкции и Docker‑образы в репозитории проекта).
  • Самостоятельный реле‑сервер даёт полный контроль, но требует обслуживания и обновлений безопасности.

Устранение проблем: пошаговый план (инцидент‑рукбук)

Симптом: Передача не начинается или зависает.

  1. Проверьте сетевое соединение на обоих узлах (ping, traceroute).
  2. Убедитесь, что коды совпадают и введены верно.
  3. Попробуйте использовать режим –relay <адрес> (если вы используете собственный реле‑сервер).
  4. Включите подробный вывод для диагностики: croc --verbose send ....
  5. Если передача прервана, попробуйте повторно запустить; croc поддерживает возобновление.
  6. Для сложных случаев — переключитесь на другой тип соединения или прокси (например, Tor).

Ошибка: «connection refused» или «timeout» — проверьте состояние реле‑сервера и сетевые политики компании.

Роли и чек-листы (кто что делает)

Администратор:

  • Развернуть и настроить собственный реле‑сервер при необходимости.
  • Обеспечить доступность и обновление сервера.
  • Настроить логирование и мониторинг.

Пользователь:

  • Установить croc, проверить версию.
  • Использовать кодовую фразу и проверять контрольные суммы файлов.

Разработчик/DevOps:

  • Интегрировать croc в скрипты деплоя при необходимости.
  • Автоматизировать проверку целостности.

Матрица совместимости и миграционные заметки

  • Linux: поддерживается большинством дистрибутивов через пакетные менеджеры или скрипт установки.
  • macOS: доступен как двоичный пакет и через Homebrew.
  • Windows: имеется исполняемый файл; можно использовать из PowerShell или CMD.
  • Мобильные ОС: прямой поддержки клиента для iOS/Android нет в официальном релизе; для мобильных устройств лучше использовать qrcp или аналогичные инструменты.

При миграции с scp/rsync учтите: croc удобен для разовых передач и прост в использовании, но не заменяет механизмы постоянной синхронизации и управления правами, которые дают серверные решения.

Примеры использования и сценарии

  • Быстрая передача логов с физического сервера на ноутбук без настройки SSH.
  • Отправка большого архива коллеге: croc send --recursive project_backup/.
  • Передача конфиденциальных файлов через Tor при работе в публичном Wi‑Fi.

Чек‑лист перед передачей

  • croc установлен на отправителе и получателе.
  • Передана кодовая фраза по защищённому каналу.
  • Проверена контрольная сумма после передачи.
  • Включён proxy/Tor, если требуется приватность.

Глоссарий (одна строка на термин)

  • PAKE: метод обмена ключами, где общий ключ выводится на основе короткой паролеподобной фразы, без раскрытия пароля участникам.
  • Реле‑сервер: промежуточный узел, который помогает установить канал между двумя клиентами.
  • E2E: end‑to‑end шифрование, когда только конечные узлы имеют ключи для расшифровки.

Краткое заключение

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

Summary:

  • Croc удобен для быстрых и зашифрованных передач между устройствами.
  • Использует реле‑сервер и PAKE для безопасности без порт‑форвардинга.
  • Поддерживает самохостинг реле и работу через прокси/Tor.
  • Не заменяет инструменты постоянной синхронизации для большого масштаба.

Notes: передавая код, используйте защищённый канал; при сомнениях разверните собственный реле‑сервер для контроля и аудита.

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

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

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро