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)