2026 年の現在でも、コンピューター間でファイルをやり取りする機会はよくあります。クラウドストレージサービスはたくさんありますが、時に必要なのは、素早く安全で、登録不要なピアツーピア転送手段です。そこで croc の出番というわけです。

Croc とは?

croc は Rust で書かれたコマンドラインツールで、任意の 2 台のコンピューター間でファイルやフォルダをシンプルかつ安全に転送できます。他のファイル転送ツールとは違い、croc には次のような独自の利点があります:

  • エンドツーエンド暗号化:すべての転送が PAKE(パスワード認証鍵交換)プロトコルで暗号化されます
  • リレー補助転送:パブリックリレーサーバー経由で接続を確立し、NAT やファイアウォールをバイパスします
  • レジューム対応:中断しても途中から再開可能。大きなファイルも安心です
  • クロスプラットフォーム:Windows、macOS、Linux、BSD に対応
  • ポート開放不要:ファイアウォールやポートフォワーディングの設定は不要です

Croc のインストール

Linux システム

Fedora/RHEL/CentOS:

BASH
sudo dnf install croc

Debian/Ubuntu:

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

Arch Linux:

BASH
yay -S croc

macOS

Homebrew を使用:

BASH
brew install croc

Windows

Chocolatey を使用:

BASH
choco install croc

または、GitHub Releases からコンパイル済みバイナリをダウンロードしてください。

基本的な使い方

croc の使い方はとてもシンプルです。ファイルの転送はわずか 2 ステップで完了します。送信側がコードを生成し、受信側がそのコードを入力するだけです。

ファイルの送信

送信側のコンピューターで:

BASH
croc send /path/to/file.txt

フォルダ全体を送信する場合:

BASH
croc send /path/to/folder/

すると、以下のようなコードが生成されます:

Sending 'file.txt' (2.5 MB)
Code is: 1234-abcd-efgh-5678

ファイルの受信

受信側のコンピューターで、コードを入力するだけ:

BASH
croc 1234-abcd-efgh-5678

ファイルがカレントディレクトリに転送されます。

高度な使いこなしテクニック

カスタムパスワードの設定

croc が自動生成するのではなく、自分でパスワードを設定したい場合:

BASH
# 送信側
croc send --pass mysecretpassword file.txt

# 受信側
croc --pass mysecretpassword 1234-abcd-efgh-5678

カスタムリレーサーバーの使用

croc はデフォルトでパブリックリレーサーバーを使いますが、自分でサーバーを立てることもできます:

BASH
# 送信側
croc --relay myrelay.example.com send file.txt

# 受信側
croc --relay myrelay.example.com 1234-abcd-efgh-5678

複数ファイルの転送

BASH
croc send file1.txt file2.txt file3.txt

またはワイルドカードを使用:

BASH
croc send *.pdf

標準入力からの転送

BASH
# 送信側
cat secret.txt | croc send

# 受信側
croc > received.txt

セキュリティ機能の詳細

PAKE 暗号化プロトコル

croc は SPAKE2+ プロトコルを使用して、パスワード認証と鍵交換を行います。つまり:

  1. パスワード自体は転送されない:交換されるのはパスワードの暗号的な証明のみです
  2. 中間者攻撃を防ぐ:リレーサーバーが侵害されても、攻撃者がファイルを復号することはできません
  3. 前方秘匿性:各転送ごとに異なるセッション鍵が使用されます

エンドツーエンド暗号化のフロー

送信方                    リレーサーバー                    受信方
  |                           |                           |
  |---- 暗号化ファイル内容 -->|                           |
  |                           |---- 暗号化データ転送 --->|
  |<--- 鍵交換確認 -----------|                           |
  |                           |<--- 鍵交換確認 -----------|
  |==== 直接 P2P 接続確立 =====|==== 直接 P2P 接続確立 =====|

接続が確立されると、ファイルは両コンピューター間で直接転送されます。リレーサーバーは初期ハンドシェイクにのみ使用されます。

実際の活用シーン

シーン 1:大きなファイルの素早い共有

同僚に 2GB の動画ファイルを送りたい。でも会社のメール添付制限は 25MB。croc を使えば:

BASH
croc send presentation-video.mp4
# メッセンジャーで同僚にコードを伝える
# 同僚がコードを入力して受信

シーン 2:ネットワークをまたいだサーバー間転送

異なるデータセンターにあるサーバー間でログファイルを転送:

BASH
# サーバー A
croc send /var/log/application.log

# サーバー B(SSH 経由)
croc [コード]

シーン 3:自宅 NAS へのバックアップ

職場のパソコンから自宅 NAS へ機密ファイルを暗号化して転送:

BASH
croc --pass "strong-password" send confidential/

パフォーマンス比較

実測テストに基づく、各ネットワーク環境での croc のパフォーマンス:

ネットワーク環境 平均速度 備考
LAN 50〜100 MB/s 直接 P2P 接続
同都市内ブロードバンド 10〜30 MB/s アップロード帯域の影響
国際転送 2〜8 MB/s レイテンシがハンドシェイク速度に影響

他のツールとの比較

機能 croc scp rsync Magic Wormhole
エンドツーエンド暗号化 ✅ ❌ ❌ ✅
NAT 穿透 ✅ ❌ ❌ ✅
レジューム対応 ✅ ❌ ✅ ❌
使いやすさ ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐
クロスプラットフォーム ✅ ⭐ ⭐ ✅

自分でリレーサーバーを構築する

パブリックリレーサーバーのプライバシーが気になる方は、自分で立てることができます:

BASH
# インストール
go install github.com/schollz/croc/v10/src/croc@latest

# リレーサーバーを起動
croc relay

# デフォルトのリスニングポート:9009, 9010, 9011, 9012, 9013

Docker で実行する場合:

BASH
docker run -d \
  -p 9009:9009 -p 9010:9010 -p 9011:9011 \
  -p 9012:9012 -p 9013:9013 \
  --name croc-relay \
  schollz/croc:latest relay

よくある質問

Q: 転送が中断したら?

A: croc はレジュームに対応しています。同じコマンドをもう一度実行するだけで、中断した場所から自動的に再開されます。

Q: ファイルの整合性はどのように確認する?

A: croc はデフォルトで SHA-256 チェックサムを使用してファイルの整合性を検証します。転送完了後に自動的にチェックされます。

Q: 転送速度を制限できる?

A: はい。--rate パラメータを使用してください:

BASH
croc --rate 1mbps send file.txt

Q: 複数人への同時送信は可能?

A: はい。同じコードを複数の人が使用でき、それぞれがファイルの完全なコピーを受信できます。

まとめ

croc は 2026 年において最も使い価値のあるコマンドラインファイル転送ツールの一つです。セキュリティ、使いやすさ、機能性を完璧に組み合わせ、開発者にもシステム管理者にも、そして一般ユーザーにも恩恵をもたらします。

主なメリット: - 🛡️ エンタープライズレベルの暗号化による保護 - 🚀 迅速でシンプルな操作性 - 🌐 ネットワーク設定不要でインターネット越しの転送が可能 - 📦 任意のサイズのファイルやフォルダに対応

プロジェクトリンク: - GitHub: https://github.com/schollz/croc - 公式サイト:https://croc.schollz.com - ドキュメント:https://github.com/schollz/croc/blob/main/README.md

次はファイルを素早く安全に転送する必要があるとき、croc を試してみてください!