croc:跨设备安全传文件的命令行工具
croc 是一个开源命令行文件传输工具,用一条口令短语就能让不同网络、不同系统间的两台电脑点对点互传文件,端到端加密,支持断点续传与多文件传输。
项目资料
GitHub Ecosystem- 许可证
- MIT
- 主语言
- Go
- 星标
- 40,443
- 核查时间
- 2026-09-25
以上快照资料以核查当日为准,可能随版本或运营策略变化。
在两台不在同一局域网的电脑之间传文件,常见做法是先上传网盘再分享链接,或者找个 U 盘中转。croc 给出了一条更直接的路:这个用 Go 编写的开源命令行工具,让发送方运行一条命令拿到一串口令短语,接收方在另一台机器上输入它,文件便直接点对点传过去,全程端到端加密。GitHubDaily 曾在 2025 年 4 月推荐过这款工具。
核心功能
- 口令短语即密钥:发送时生成的口令短语经 PAKE 完成密钥协商,据此建立收发双方的端到端加密通道,可用
--curve p521更换加密曲线。 - 跨平台互通:支持 Windows、macOS 与 Linux,另有浏览器版,与命令行完全兼容、可互相收发,可直接访问 getcroc.com 使用。
- 断点续传:传输中断后可从中断处恢复,不必从头再来。
- 多文件与管道:一次可发送多个文件或整个文件夹,也支持管道(stdin/stdout)收发,还能用
--text发文本、--qr出二维码供手机扫码接收。 - 免配置直连:无需自建服务器或端口转发,优先 P2P 直连,不通时自动回落中继,也可经
--socks5代理(如 Tor)传输。 - 自建中继:
croc relay一条命令即可跑起中继,用 Docker 部署同样方便,再以--relay与--pass指定使用。
典型使用场景
- 跨网络、跨系统(比如 Windows 与 Mac 之间)直接互传大文件或整个文件夹,全程不经手第三方网盘。
- 发送方用
--qr生成二维码,让对方用手机上的浏览器或 F-Droid 客户端扫码即可接收。 - 开发者用
cat file | croc send传命令输出,或用croc send --text把链接、文本片段发给另一台机器;有自建需求的团队可以架设自己的中继。
快速上手
安装(macOS 可用 Homebrew,任意系统可用官方脚本):
brew install croc
curl https://getcroc.com | bash
之后两步完成传输:发送方运行 croc send 文件或文件夹,终端会显示一串口令短语;接收方在另一台电脑上输入 croc 口令短语,即可开始接收。
小结
croc 适合不想再依赖网盘或 U 盘、需要在任意两台设备间安全直传文件的用户:熟悉命令行的人两条命令即可完成一次传输,非技术用户也有浏览器版、Android 客户端和社区 GUI 可选。项目以 MIT 许可证开源,用 Go 编写。有两点需要留意:在 Linux 或 macOS 上接收时建议用 CROC_SECRET 环境变量传入口令,避免口令出现在进程列表里;P2P 不通时传输会经公共中继,README 说明这类节点属尽力而为、可能施加公平性限制,在意速度或可用性的可以自建中继。