← 返回信息流
AI 资讯Hacker News·4 小时前

Croc:在两台电脑间安全传输文件

原标题:Croc: Securely transfer files and folders between two computers

速览

Croc是一个开源的文件传输工具,允许用户在两台电脑之间安全地传输文件和文件夹。它采用端到端加密,无需中间服务器,支持Windows、macOS和Linux等主流操作系统。该工具通过简易的命令行操作,提供快速、安全的文件共享方案,适合个人或团队使用。

AI 深度解读

背景

文件传输是日常计算中的基本需求,但跨设备、跨平台的安全传输往往面临诸多痛点:需要搭建本地服务器、配置端口转发、依赖第三方云存储,或者传输过程缺乏加密保护。Croc 是一款开源命令行工具,旨在让任意两台计算机之间能够简单、安全地传输文件和文件夹。该项目由开发者 schollz 创建,其发展依赖于社区支持,目前已在 Hacker News 等平台引发关注。Croc 的独特之处在于它整合了端到端加密、跨平台支持、断点续传等多项关键特性,且无需用户具备网络配置知识。

核心内容

Croc 是一个 CLI(命令行界面)文件传输工具,它通过中继服务器(relay)连接任意两台计算机,并利用 PAKE(密码认证密钥协商)协议提供端到端加密。其工作流程如下:

  • 发送方:在终端执行 croc send [file(s)-or-folder],工具会生成一个随机密码短语(code-phrase),并显示在屏幕上。同时将该短语复制到剪贴板。
  • 接收方:在另一台计算机上执行 croc [code-phrase],即可开始传输。接收方可通过 --yes--overwrite 标志自动覆盖文件,或通过 --yes [code-phrase] > out 将内容重定向到 stdout。

Croc 支持多种安装方式,包括 Homebrew、MacPorts、Scoop、Chocolatey、Winget、Nix、pacman、dnf、portage、pkg、conda-forge、Docker 以及从源码编译(需 Go 1.22+)。此外,还有第三方 F-Droid 手机应用可用。

高级用法涵盖:自定义密码短语(至少6字符)、通过 --exclude 排除文件夹、通过 --text 传输短文本、通过 --qr 生成二维码供移动设备扫描、通过 --socks5 使用代理(如 Tor)、选择不同椭圆曲线(如 --curve p521)、使用 imohash 算法加速哈希计算、禁用剪贴板复制或扩展剪贴板(复制完整环境变量命令)、静默模式等。

用户也可自建中继服务器:运行 croc relay(默认使用 TCP 9009-9013 端口,至少需要2个端口),并使用 --relay--pass 标志连接自定义中继。Docker 部署方式也已提供。

关键要点

  • 任意两端直连:通过中继服务器实现两台计算机之间的数据传输,无需本地服务器或端口转发。
  • 端到端加密:使用 PAKE 协议生成共享密钥,确保传输过程加密,秘密短语本身不会通过进程名泄露(Linux/macOS 下需用环境变量传递)。
  • 跨平台支持:Windows、Linux、macOS 均可使用,且提供一致的 CLI 体验。
  • 多文件与文件夹传输:可同时发送多个文件或整个文件夹,支持 --exclude 排除特定子目录。
  • 断点续传:传输中断后可恢复,避免重复传输。
  • IPv6 优先:自动尝试 IPv6,失败时回退到 IPv4。
  • 代理支持:可通过 SOCKS5 代理(包括 Tor)进行传输。
  • 自建中继:用户可以运行自己的中继服务器,自定义端口和密码,提高隐私控制。
  • 无需注册或账户:完全基于密码短语,无第三方登录要求。
  • 多种安装途径:覆盖主流包管理器(Homebrew, apt, dnf, pacman, Scoop, Chocolatey, Winget, Nix, conda, Docker, Go 源码等)。
  • 代码开源:项目托管在 GitHub,社区可贡献和审计。

意义与影响

Croc 的出现填补了命令行环境下安全文件传输工具的空白,尤其适合技术人员、开发者以及需要在不同操作系统间快速传递敏感数据(如密钥、配置文件、日志)的场景。其设计理念强调零配置和易用性——用户只需运行一条命令,无需理解中继、NAT、防火墙等网络概念。PAKE 协议的使用避免了传统密码传输的弱点,同时避免了 TLS 证书管理等复杂性。

从更广泛的视角看,Croc 代表了一类“去中心化直连”工具(如 Magic Wormhole)的演进,它通过中继实现穿透,同时保持端到端加密,平衡了易用性与安全性。项目自建中继的能力也为企业用户或注重隐私的个体提供了自主可控的选项。此外,Croc 对 IPv6 的优先支持、对代理和 Tor 的兼容,使其在复杂网络环境中具有适应性。

该工具的社区驱动模式(依赖赞助)也反映了开源软件可持续发展的挑战与模式。随着远程工作、跨设备协同需求的增长,类似 Croc 的轻量级、安全传输工具可能成为技术栈中的必备组件。其未来迭代方向(如更快的哈希算法、更多自定义选项)值得关注。

查看原文 →github.com