搜索你想找的开源项目

输入名称、用途或关键词,也可粘贴 GitHub 仓库链接

分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

用一段口令在任意两台电脑之间传输文件和文件夹,端到端加密,并支持中继回退。

40,860
1,650
Go
MIT
创建于 9 年前

项目介绍

croc 用于在两台电脑之间传输文件和文件夹,不需要自建服务器或做端口转发。发送方运行命令后得到一个短口令,接收方用同一口令连接;这段口令同时用于 PAKE 协商,双方据此生成端到端加密密钥。传输优先走点对点直连,失败时回退到中继;支持多文件、整个文件夹和断点续传。Windows、Linux、macOS 均可运行,网页客户端与 CLI 互通。项目使用 Go 编写,MIT 许可证。

快速使用

通过安装脚本安装:

curl https://getcroc.com | bash

也可以使用包管理器,例如 Homebrew 的 brew install croc、Scoop 的 scoop install croc,或在 Go 1.27.3+ 环境下从源码安装 go install github.com/schollz/croc/v11@latest。预编译包见发布页。

在发送端运行:

croc send <文件或文件夹>

终端会打印形如 code-phrase 的口令。在接收端运行:

croc <code-phrase>

Linux 和 macOS 上建议用环境变量传入口令,避免进程名泄露:

CROC_SECRET='<code-phrase>' croc

接收方确认后即可开始传输。不想安装时,可以打开网页客户端,输入同一口令接收。

常用选项

  • --overwrite 不询问直接覆盖已有文件;--rename 保留两个文件。
  • --exclude "node_modules,.venv" 按子串排除路径;--exclude-file 按相对路径精确排除。
  • croc send --text "hello" 发送短文本,--qr 生成二维码供手机接收。
  • --socks5 通过 SOCKS5 代理传输。
  • croc store 在无法实时传输时上传客户端加密后的密文;链接按时长或下载次数失效,发送方可撤回。
  • croc ssh 在参与者之间共享一个终端,不需要 SSH daemon 或端口配置。

使用约束

  • 无法直连时数据经过公共中继,中继由社区资助、尽力而为;项目提供赞助入口以覆盖带宽成本。
  • 自建中继至少需要两个 TCP 端口(默认 9009–9013),可用 croc relay 或 Docker 运行。
  • 包含 .ssh 或 .gnupg 路径组件的文件夹始终被拒绝;.git 元数据默认会被一并传输。
  • 口令就是密钥:Linux 和 macOS 上通过 CROC_SECRET 传入,而不是写在命令行里,避免通过进程名泄露。
  • CLI 在每次传输后最多每 24 小时检查一次新版本,并显示更新提示,--quiet 可关闭提示。

HotRepo 点评

仓库累计 Star 已超过 4 万。日榜全语言记录显示,2026-07-21 至 07-23 分别新增 396、737、739 Star,到 2026-11-04 的 Go 日榜则回落到 18 Star,当日排名第 14。这轮增长与 2026-07-12 的新 Hacker News 讨论同步,该讨论获得 52 分、27 条评论;2020 年和 2023 年的旧讨论更大,分别为 150 分和 300 分。讨论主要围绕它与 Magic Wormhole 的关系,以及对维护者中继服务器的依赖;2023 年的一条评论转述当时公共中继每月约承载 20 TB 流量。对一个成本主要在带宽上的工具,自建中继是公共容量紧张时的实际选择。

本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。

Hacker News 讨论

Croc: Easily and securely send things from one computer to another
▲ 300 · 141 条评论 · 2023年9月22日
Croc: Easily and securely send things from one computer to another
▲ 150 · 68 条评论 · 2020年9月17日
Croc: Securely transfer files and folders between two computers
▲ 52 · 27 条评论 · 2026年7月12日