GNU/Linux >> Linux の 問題 >  >> Linux

Crocを使用してコンピューター間でファイルとフォルダーを転送する

2台以上のコンピューター間でファイルを転送する方法はたくさんあります。サーバーベースのファイル共有ツール、ピアツーピアファイル共有アプリ、USBスティック、外部ハードディスクドライブ、SCP、NFS、FTP、HTTP、クラウドストレージプラットフォームなどを使用できます。すでにいくつかのファイル共有ツールについて説明しました。今日は、 Crocという名前のさらに別のユーティリティについて説明します。 。 Crocは、コンピューター間でファイルやフォルダーを簡単、迅速、安全に転送できるコマンドラインユーティリティです。

Crocを使用したデータの転送は、リレーサーバーとして機能するため、より高速です。 システム間。 2台のコンピューター間に全二重のリアルタイム通信レイヤーを作成するため、これらのコンピューター間で「アップロード」タスクと「ダウンロード」タスクが同時に発生します。

Crocは、 Password Authenticated Key Exchangeを使用してエンドツーエンドの暗号化を提供します (PAKE)ライブラリ。不思議に思う人のために、PAKEライブラリでは、2人が事前に知っている弱い鍵を使用して、強い秘密鍵を生成できます。この秘密鍵は、さらに暗号化するために使用されます。鍵は送信者と受信者だけが知っているので、元のパスワードを知っていても、他の誰も秘密鍵を知ることはできません。

Crocは複数のファイルを転送することができます コンピュータ間で一度に。なんらかの理由でデータ転送が中断された場合、前回残したところからファイルのコピーを再開できます。

Crocはリレーを使用するため、中央サーバーやポート転送は必要ありません。これはクロスプラットフォームアプリケーションであるため、Linux、Mac、およびWindowsプラットフォーム間でデータを転送できます。

一言で言えば、Crocは次のことを行います:

  • 2台のコンピューター間でデータを転送 リレーを使用する
  • エンドツーエンド暗号化を提供します PAKEライブラリを使用する
  • 複数のファイルを転送 一度に
  • 中断されたファイルのコピーを再開します
  • 中央サーバーのポート転送はありません必要ありません
  • ipv6-first ipv4フォールバックを使用
  • 依存関係はゼロである必要があります
  • クロスプラットフォーム
  • 無料のオープンソース。

クロックスはGOで書かれています プログラミング言語であり、MITライセンスの下で自由に利用できます。

LinuxにCrocをインストールする

Crocは、Bashをサポートする任意のLinuxおよびUnixディストリビューションにインストールできます。 次のコマンドを使用します:

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

このコマンドは、Crocを/usr/local/bin/にインストールします 位置。

SHELLに直接何かを注入したくない場合 、リリースページからコンパイル済みのバイナリをダウンロードできます。 ディストリビューションのパッケージマネージャーを使用してインストールします。

たとえば、次のコマンドを使用して、UbuntuシステムにCrocdebファイルをインストールしました。

$ sudo apt install gdebi
$ sudo gdebi croc_8.3.2_Linux-64bit.deb

Crocは[Community]で入手できるため、pacman 以下のように:

$ pacman -S croc

NixOSで、次を実行します:

$ nix-env -i croc

Crocはsnap

$ snap install croc

LinuxにGoをインストールしている場合は、ソースからCrocをビルドすることもできます。 システム。

$ 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

ここでのコードフレーズは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

テキストを送信

ファイルやフォルダと同じように、テキストも共有できます。これは、メッセージまたは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は自動的にstdinデータを使用し、「croc-stdin-728899651」のようなファイル名を送信して割り当てます。

受信側では、ユーザーは次のコマンドのいずれかを使用してファイルを受信できます。

$ croc dexter-cowboy-soprano

または、以下を使用します:

$ croc --yes dexter-cowboy-soprano > out

ここで、--yes 確認を求めず、すべてのプロンプトに自動的に同意します。

出力フォルダの設定

デフォルトでは、Crocは現在の作業ディレクトリにデータをダウンロードします。 --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)

Linux
  1. ncおよびpvコマンドを使用して2台のコンピューター間でファイルを転送する方法

  2. LinuxでMeldを使用してファイルとフォルダをグラフィカルに比較する

  3. LinuxとWindows間でSAMBAサーバーを構成してファイルを転送する方法

  1. Crocを使用してコンピュータ間でファイルとフォルダを安全に転送する

  2. TestDiskでパーティションとファイルを回復する

  3. SCPとFTPを使用してLinuxのサーバー間でファイルを転送する方法

  1. このオープンソースツールを使用して、携帯電話とLinux間でファイルを転送します

  2. LinuxとFreeDOSの間でファイルをコピーする

  3. SCP と Rsync を使用して Linux でファイルを転送する方法