在 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+ 協議進行密碼認證金鑰交換。這意味著:
- 密碼不會被傳輸:只有密碼的加密證明被交換
- 防止中間人攻擊:即使中繼伺服器被攻破,攻擊者也無法解密檔案
- 前向保密:每次傳輸使用不同的工作階段金鑰
端到端加密流程
發送方 中繼伺服器 接收方
| | |
|---- 加密檔案內容 -------->| |
| |---- 轉發加密資料 -------->|
|<--- 確認金鑰交換 ---------| |
| |<--- 確認金鑰交換 ---------|
|==== 直接 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 吧!