你是否经历过这样的窘境?在咖啡馆、会议室或客户现场,急需将一个大文件或文件夹从你的电脑传到同事、客户的设备上。没有U盘,登录微信/钉钉文件传输大小,拉网线配置共享更是天方夜谭。别急,是时候认识一下 croc 这个神器了。
它是一款用Go语言编写的开源命令行文件传输工具,其设计哲学直击痛点:像用U盘一样简单,像专业工具一样可靠。 无需搭建服务器,无需处于同一网络,只需一个共同的“密码”,就能建立端到端的加密直连。
一、croc的核心魅力:为什么是它?
- 🚀 零配置直连:基于智能中继服务器,自动寻找最优路径,穿透复杂网络。你只需要关心传文件,而不是网络设置。
- 🔒 端到端加密:采用PAKE加密协议,传输过程中的数据全是乱码。中继服务器看不到你的文件内容,隐私无忧。
- 💻 全平台通用:Windows、macOS、Linux命令完全一致,甚至在安卓手机上通过Termux也能使用。
- 🔄 断点续传:传输大文件时网络断了?重连后它会从断开的地方继续,无需重头再来。
- 📦 智能文件夹处理:直接发送整个文件夹,自动保持目录结构。还可以排除缓存文件等无用数据,提升效率。

二、极速上手:五分钟内学会
1. 安装croc
无论你用什么系统,安装都极其简单。
macOS用户:
bash
brew install croc
Windows用户(推荐使用Scoop):
bash
scoop install croc
Linux/macOS用户(一键脚本):
bash
curl https://getcroc.schollz.com | bash
其他方式:你也可以直接从 GitHub Releases 页面下载预编译的二进制文件,或者通过Go工具链安装。
2. 开始传输:就像对暗号
假设你要传输一个名为 演示方案.pdf 的文件。
在发送方电脑上:
bash
croc send 演示方案.pdf
执行后,命令行会显示一个由三个随机单词组成的代码短语,例如:
text
Sending '演示方案.pdf' (15 MB) Code is: coral-neat-tiger On the other computer run croc coral-neat-tiger
在接收方电脑上:
只需输入你看到的那个代码短语:
bash
croc coral-neat-tiger
接下来,croc会开始建立连接、校验文件,然后传输就会开始!进度条会让你对状态一目了然。
三、进阶技巧:让传输更高效、更安全
基础的“发送-接收”模式已经解决了90%的问题,但croc的潜力远不止于此。
1. 传输整个文件夹,并排除无用文件
传输一个网站源码文件夹,但想跳过庞大的 node_modules 和虚拟环境 .venv?
bash
croc send --exclude "node_modules, .venv, *.tmp" ./my-project
2. 使用自定义密码和强加密
自动生成的密码虽然方便,但自定密码更安全。你还可以指定使用更强的P-521椭圆曲线加密。
bash
# 发送方 croc send --code my-super-secret-password-123 --curve p521 财务报表.xlsx # 接收方 croc --code my-super-secret-password-123 --curve p521
3. 在受限网络中使用代理
如果你的网络环境受限(如公司内网),可以通过SOCKS5代理进行传输。
bash
croc --socks5 "127.0.0.1:9050" send 重要文档.zip
四、真实场景体验
- 场景A:紧急演示 – 在客户公司,用你的MacBook给对方的Windows投影仪传一个2GB的视频演示文件。没有HDMI转接头。
croc在1分钟内建立连接并开始传输,救场成功。 - 场景B:远程协作 – 与异地的同事同步一个4GB的虚拟机镜像,家中网络不稳。
croc的断点续传功能在三次网络波动后,依然完整地交付了文件。 - 场景C:安全传输 – 需要给法务部门发送一份敏感合同。使用
--curve p521强加密选项,让你在传输时高枕无忧。
总结
在云盘、IM工具泛滥的今天,croc 用一种近乎“复古”的直连方式,提醒我们文件传输的本质可以如此简单和高效。它不依赖任何中心化的账户体系,不绑架你的数据,只是纯粹地、安全地完成“发送”和“接收”这个核心任务。
下次当你再为传文件而烦恼时,不妨打开终端,试试 croc。这条简单的命令,很可能成为你数字工具箱中最得力、最优雅的助手之一。



