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

Thank you for reading this post, don't forget to subscribe!

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

Он рабо­та­ет через команд­ную стро­ку и сов­ме­стим со все­ми основ­ны­ми ком­пью­тер­ны­ми плат­фор­ма­ми: Linux, macOS и Windows.

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

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

В резуль­та­те он рабо­та­ет намно­го быст­рее и не тре­бу­ет про­бро­са пор­тов для пере­да­чи файлов.

Кро­ме того, в croc исполь­зу­ет­ся метод крип­то­гра­фии PAKE (Password Authenticated Key Exchange) для обес­пе­че­ния без­опас­но­сти пере­да­ва­е­мых дан­ных, чего обыч­но не встре­тишь в дру­гих ути­ли­тах пере­да­чи файлов.

Преимущества использования croc

Ниже пере­чис­ле­ны неко­то­рые осо­бен­но­сти croc, кото­рые отли­ча­ют его от дру­гих кросс-плат­фор­мен­ных инстру­мен­тов обме­на файлами:

  • Croc исполь­зу­ет ретранс­ля­ци­он­ный сер­вер для пере­да­чи дан­ных, кото­рый рабо­та­ет путем созда­ния пол­но­дуп­лекс­но­го ком­му­ни­ка­ци­он­но­го слоя, поз­во­ля­ю­ще­го одно­вре­мен­но загру­жать и ска­чи­вать содер­жи­мое на обо­их ком­пью­те­рах, что, в свою оче­редь, повы­ша­ет ско­рость пере­да­чи данных.
  • В раз­ви­тие преды­ду­ще­го пунк­та, еще одним допол­ни­тель­ным пре­иму­ще­ством исполь­зо­ва­ния сер­ве­ра ретранс­ля­ции явля­ет­ся то, что вам не нуж­но настра­и­вать пере­на­прав­ле­ние пор­тов в сети для пере­да­чи дан­ных с помо­щью Croc по локаль­ной сети или через Интернет.
  • Croc исполь­зу­ет PAKE, кото­рый обес­пе­чи­ва­ет сквоз­ное шиф­ро­ва­ние для без­опас­ной пере­да­чи дан­ных по сети.
  • В тех слу­ча­ях, когда пере­да­ча дан­ных пре­ры­ва­ет­ся на сере­дине пути – воз­мож­но, из-за пло­хо­го соеди­не­ния, – про­грам­ма поз­во­ля­ет воз­об­но­вить пере­да­чу, что­бы не повто­рять про­цесс заново.
  • Croc поз­во­ля­ет исполь­зо­вать прок­си-сер­вер, напри­мер Tor, для допол­ни­тель­но­го уров­ня без­опас­но­сти ваше­го ком­пью­те­ра во вре­мя пере­да­чи файлов.
  • Вы так­же може­те само­сто­я­тель­но раз­ме­стить сер­вер ретранс­ля­ции, исполь­зуя Docker или дру­гие подоб­ные сервисы.

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

Croc рабо­та­ет на всех основ­ных дис­три­бу­ти­вах Linux, и вы може­те уста­но­вить его на свой ком­пью­тер, выпол­нив сле­ду­ю­щие шаги.

Во-пер­вых, загру­зи­те послед­нюю вер­сию croc для вашей систе­мы по ссыл­ке ниже.

https://github.com/schollz/croc

https://github.com/schollz/croc/releases/tag/v9.4.2

Что­бы уста­но­вить пакет DEB на Ubuntu/Debian, сна­ча­ла запу­сти­те терминал.

Затем перей­ди­те в ката­лог, в кото­рый вы загру­зи­ли файл, и вве­ди­те сле­ду­ю­щую команду:

sudo dpkg -i croc-*.deb

Кро­ме того, если вы рабо­та­е­те на Arch Linux, вы може­те уста­но­вить croc, выпол­нив команду:

sudo pacman -S croc

Ана­ло­гич­но, что­бы уста­но­вить его на FreeBSD, используйте:

pkg install croc

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

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

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

Перей­ди­те на GitHub, что­бы най­ти инструк­ции по уста­нов­ке croc на ваше устройство.

Как использовать croc для обмена файлами

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

Поэто­му, в зави­си­мо­сти от ваше­го слу­чая исполь­зо­ва­ния, сле­дуй­те при­ве­ден­ным ниже инструк­ци­ям для пере­да­чи фай­лов с/на ваш ком­пью­тер Linux.

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

В слу­чае, когда вы хоти­те пере­дать фай­лы с ваше­го Linux ком­пью­те­ра на другой(под управ­ле­ни­ем дру­гой опе­ра­ци­он­ной систе­мы), сле­дуй­те при­ве­ден­ным ниже шагам, что­бы выпол­нить опе­ра­цию отправ­ки с croc.

Посколь­ку вся опе­ра­ция в croc про­ис­хо­дит через команд­ную стро­ку, убе­ди­тесь, что он открыт на обо­их компьютерах.

Затем на устрой­стве отправ­ки, кото­рым в дан­ном слу­чае явля­ет­ся ком­пью­тер под управ­ле­ни­ем Linux, вве­ди­те в тер­ми­на­ле сле­ду­ю­щую коман­ду и нажми­те Enter:

croc send file_name

Напри­мер:

croc send MyText.txt

Как толь­ко вы это сде­ла­е­те, вы уви­ди­те код пря­мо под сооб­ще­ни­ем “Sending“.

Имен­но этот код поз­во­лит вам полу­чить фай­лы на дру­гом компьютере.

Вер­ни­тесь в команд­ную стро­ку на ком­пью­те­ре-полу­ча­те­ле и вве­ди­те коман­ду, исполь­зуя при­ве­ден­ный ниже синтаксис:

croc your_code_here

Напри­мер, если ваш код – alpha1, вам нуж­но ввести:

croc alpha1

Вве­ди­те y, что­бы при­нять вхо­дя­щий файл и загру­зить его на устройство.

Как толь­ко код сов­па­дет на обо­их устрой­ствах, будет уста­нов­лен PAKE и нач­нет­ся пере­да­ча данных.

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

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

В каче­стве аль­тер­на­ти­вы вы може­те само­сто­я­тель­но сге­не­ри­ро­вать поль­зо­ва­тель­ский код при ини­ци­и­ро­ва­нии пере­да­чи данных.

Для это­го изме­ни­те син­так­сис коман­ды, как пока­за­но ниже:

croc send --code your_code_phrase file_name

Подоб­но отправ­ке фай­лов, croc так­же поз­во­ля­ет отправ­лять текст, кото­рый может при­го­дить­ся, когда вы хоти­те поде­лить­ся сооб­ще­ни­ем или URL.

Исполь­зуй­те сле­ду­ю­щий син­так­сис для отправ­ки тек­ста через croc:

croc send --text "your_text_here"

Напри­мер:

croc send --text "Привет"

На при­ни­ма­ю­щем устрой­стве вве­ди­те кодо­вую фра­зу, сге­не­ри­ро­ван­ную выше­ука­зан­ной коман­дой, и нажми­те y, когда появит­ся запрос, что­бы про­смот­реть сообщение.

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

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

В таких ситу­а­ци­ях мож­но про­сто выпол­нить обрат­ный про­цесс, как пока­за­но ниже.

На ком­пью­те­ре-отпра­ви­те­ле открой­те команд­ную стро­ку и выпол­ни­те команду:

croc send file_name

Вер­ни­тесь на свою маши­ну Linux и в окне тер­ми­на­ла введите:

croc code_phrase

Сно­ва вве­ди­те y, что­бы при­нять файл.