在 2026 年的今天,我們仍然經常需要在電腦之間傳輸檔案。雖然有很多雲端儲存服務可用,但有時候你需要的是一種快速、安全、無需註冊的點對點傳輸方式。這就是 croc 大顯身手的地方。

什麼是 Croc?

croc 是一個用 Rust 編寫的命令列工具,它允許任意兩台電腦之間簡單安全地傳輸檔案和資料夾。與其他檔案傳輸工具不同,croc 具有以下獨特優勢:

  • 端到端加密:所有傳輸都使用 PAKE(密碼認證金鑰交換)協議進行加密
  • 中繼輔助傳輸:透過公共中繼伺服器建立連線,繞過 NAT 和防火牆
  • 斷點續傳:支援中斷後繼續傳輸,大檔案也不怕
  • 跨平台:支援 Windows、macOS、Linux 和 BSD
  • 無需開放埠:不需要設定防火牆或埠轉發

安裝 Croc

Linux 系統

Fedora/RHEL/CentOS:

sudo dnf install croc

Debian/Ubuntu:

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

Arch Linux:

yay -S croc

macOS

使用 Homebrew:

brew install croc

Windows

使用 Chocolatey:

choco install croc

或者從 GitHub Releases 下載預編譯的二進位檔案。

基本使用方法

croc 的使用非常簡單。傳輸檔案只需要兩個步驟:發送方產生代碼,接收方輸入代碼。

發送檔案

在發送方電腦上:

croc send /path/to/file.txt

或者發送整個資料夾:

croc send /path/to/folder/

croc 會產生一個類似這樣的代碼:

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

接收檔案

在接收方電腦上,只需輸入:

croc 1234-abcd-efgh-5678

檔案就會開始傳輸到目前目錄。

進階使用技巧

自訂密碼

如果你想要自己設定傳輸密碼而不是讓 croc 自動產生:

# 發送方
croc send --pass mysecretpassword file.txt

# 接收方
croc --pass mysecretpassword 1234-abcd-efgh-5678

使用自訂中繼伺服器

croc 預設使用公共中繼伺服器,但你也可以搭建自己的:

# 發送方
croc --relay myrelay.example.com send file.txt

# 接收方
croc --relay myrelay.example.com 1234-abcd-efgh-5678

傳輸多個檔案

croc send file1.txt file2.txt file3.txt

或者使用萬用字元:

croc send *.pdf

從標準輸入傳輸

# 發送方
cat secret.txt | croc send

# 接收方
croc > received.txt

安全特性詳解

PAKE 加密協議

croc 使用 SPAKE2+ 協議進行密碼認證金鑰交換。這意味著:

  1. 密碼不會被傳輸:只有密碼的加密證明被交換
  2. 防止中間人攻擊:即使中繼伺服器被攻破,攻擊者也無法解密檔案
  3. 前向保密:每次傳輸使用不同的工作階段金鑰

端到端加密流程

發送方                    中繼伺服器                    接收方
  |                           |                           |
  |---- 加密檔案內容 -------->|                           |
  |                           |---- 轉發加密資料 -------->|
  |<--- 確認金鑰交換 ---------|                           |
  |                           |<--- 確認金鑰交換 ---------|
  |==== 直接 P2P 傳輸建立 =====|==== 直接 P2P 傳輸建立 =====|

一旦連線建立,檔案會直接在兩台電腦之間傳輸,中繼伺服器只用來進行初始握手。

實際應用情境

情境 1:快速分享大檔案

需要給同事發送一個 2GB 的影片檔案,但公司信箱附件限制是 25MB。使用 croc:

croc send presentation-video.mp4
# 透過即時通訊工具告訴同事代碼
# 同事輸入代碼接收

情境 2:跨網路伺服器傳輸

在兩個不同資料中心的伺服器之間傳輸日誌檔案:

# 伺服器 A
croc send /var/log/application.log

# 伺服器 B(透過 SSH)
croc [代碼]

情境 3:備份到家庭 NAS

從工作電腦加密傳輸敏感檔案到家庭 NAS:

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

效能對比

根據實際測試,croc 在不同網路環境下的表現:

網路環境 平均速度 備註
區域網路 50-100 MB/s 直接 P2P 連線
同城寬頻 10-30 MB/s 受上行頻寬限制
跨國傳輸 2-8 MB/s 延遲影響握手速度

與其他工具對比

特性 croc scp rsync Magic Wormhole
端到端加密
穿透 NAT
斷點續傳
易用性 ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐
跨平台

搭建自己的中繼伺服器

如果你擔心公共中繼伺服器的隱私問題,可以搭建自己的:

# 安裝
go install github.com/schollz/croc/v10/src/croc@latest

# 執行中繼伺服器
croc relay

# 預設監聽埠:9009, 9010, 9011, 9012, 9013

然後在 Docker 中執行:

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 參數:

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 吧!