Dcp (Dat Copy) - простой и безопасный способ передачи файлов между системами Linux

dcp копирует файлы между хостами в сети, используя одноранговую (точка-точка) сеть Dat.

dcp можно рассматривать как альтернативу таким инструментам, как scp, что устраняет необходимость настраивать SSH-доступ между хостами.

dcp позволяет передавать файлы между двумя удаленными узлами, не беспокоясь о специфике того, как указанные узлы достигают друг друга, и независимо от того, находятся ли узлы за NAT.

dcp требует нулевой конфигурации и является безопасным и быстрым программным обеспечением. Стоит учесть что, это не готовое к использованию программное обеспечение и вы его используете на свой страх и риск.

Dat является протоколом peer-to-peer. Управляемый сообществом проект, обеспечивающий работу сетей следующего поколения.

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

Любые данные, передаваемые по сети, шифруются с использованием открытого ключа архива, что означает, что доступ к данным ограничен теми, кто имеет доступ к указанному ключу.

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

  • Отправка файлы нескольким людям - просто отправьте сгенерированный открытый ключ через чат, и они смогут получить файлы на своем компьютере.
  • Синхронизацмя файлы между двумя физическими компьютерами в локальной сети без необходимости настройки доступа по SSH.
  • Легкая отправка файлов другу без необходимости создавать архив и загружать его в облако.
  • Копирование файлов на удаленный сервер, когда есть доступ к оболочке, но нет к SSH, например, в модуле kubernetes.
  • Обмен файлами между Linux/macOS и Windows, которая хорошо известна не очень хорошей поддержкой SSH.

Пакет dcp был написан на языке программирования JavaScript, поэтому нам необходимо установить NodeJS в качестве предварительного условия для установки dcp. Используйте следующую команду для установки NodeJS в Linux.

Для установки NodeJS & npm:

В Fedora

$ sudo dnf install nodejs npm

В Debian/Ubuntu и их производных

$ sudo apt install nodejs npm

В Arch Linux

$ sudo pacman -S nodejs npm

В RHEL/CentOS

$ sudo yum install epel-release 
$ sudo yum install nodejs npm

В openSUSE Leap

$ sudo zypper nodejs6

После того, как вы установили NodeJS, используйте следующую команду npm для установки dcp.

npm - менеджер пакетов для языка программирования JavaScript. Это менеджер пакетов по умолчанию для среды выполнения JavaScript Node.js.

# npm i -g dat-cp

Совет: Если возникнут проблемы при установке, сделайте следующие операции:

# npm install -g npm@latest 
# npm cache verify 
# npm i

Введите файлы или папки, которые необходимо передать на удаленный сервер, после команды dcp, при этом не нужно указывать имя компьютера назначения.

# dcp [Имя передаваемого файла]

Чтобы рекурсивно скопировать каталоги.

# dcp [Имя передаваемой папки] -r

После запуска команды dcp, будет создан архив данных для данного файла или папки. Как только это будет сделано, сгенерируется открытый ключ внизу страницы.

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

# dcp [Public Key]

В следующем примере попробуем передать один файл.

Получение файла.

Если вы хотите отправить более одного файла, используйте следующий формат:

# dcp file1 file2 file3

Рекурсивное копирование каталогов:

Получение каталога

dcp не дает загружать файлы или папки повторно. Это означает, что после того, как вы загрузили файлы или папки, время действия ссылки сразу истекает.

Для более подробной информации об опциях dcp используйте страницы man или команду:

# dcp --help

Источник