Tools

croc:跨平台临时传大文件,方便但别误解安全边界

croc 解决的不是“文件传输能不能做”,而是“临时跨设备传一个大文件,能不能少一点流程”。网盘适合长期存储和分享,AirDrop 只在苹果生态里顺手,SMB/局域网共享要配置权限,聊天软件又常常卡在大小限制、账号限制和临时下载页上。croc 把这些复杂性收束到一段一次性 code,让发送和接收都回到最短路径。

独立开发者为什么会用到它

独立开发和小团队最常见的场景,不是“天天搬文件”,而是偶尔要把一个大文件迅速交到另一个设备上。比如 Windows 打包好的安装包传给 Mac 测试,服务器生成的日志拉到本地,Android 设备录屏传给设计同事,远程同事临时收一个十几 GB 的素材包。croc 不需要你先建账号、建空间、开分享页,也不要求你维护长期目录结构。

它适合的就是这种短时、可信、一次性的传输。任务完成后,链接和 code 都应该失效,而不是变成一个长期可访问的资源。

安装与最小流程

brew install croc
winget install schollz.croc
scoop install croc
choco install croc

Arch、Fedora、Termux 也通常有对应包。Debian/Ubuntu 如果没有可靠包源,可以从 GitHub Releases 下载压缩包和校验值。源码安装可以走 Go,但版本要求要以项目当前 go.mod 和 release notes 为准,不要把旧教程里的命令原样搬过来。

最小流程也很简单:发送端运行 croc send report.pdf,把显示出来的 code 通过可信渠道发给接收端,接收端输入 code 后等待下载完成。如果你只是想发一段短文本,也可以直接用 croc send --text '内容'。需要让手机扫一下就开始接收时,--qr 会更顺手。

安全边界要说清楚

croc 使用 PAKE 建立会话密钥,并对文件内容做端到端加密。这个设计很好,但它不等于“没有服务器”或“没有元数据”。公网中继仍可能观察连接时间、IP、流量大小和 room 标识。换句话说,文件内容是加密的,传输过程的痕迹不是消失了。

所以它适合可信双方之间的临时传输,不适合匿名投递,也不适合合规审计、留痕分发、长期归档。接收陌生文件时,依然要按普通外来文件处理:先看来源,再看后缀,再看是否需要在隔离目录里打开。

怎么避免把它用坏

  • 发送前先检查目录里有没有密钥、数据库备份、.env、许可证文件和未公开素材。
  • 不要把“能发出去”误解成“已经安全”。加密不等于授权。
  • 把 code 当成一次性口令来处理,不要贴进工单、群公告或公开日志。
  • 需要多人协作、审计、保留历史时,应该回到企业文件系统或对象存储。

croc 的价值很明确:它不是替代网盘,也不是替代协作平台,而是替代“为了传一次文件还要搭半天基础设施”。