平时在不同机器间传文件,scp 得配 SSH Key,nc 没有加密,网盘又慢又限速。
GitHub 上这个 croc 用了很久了,Schollz 大佬用 Go (87.8%) 写的一个 CLI 工具。它主打一个“有手就行”,基于中继机制,两边机器完全不需要在同一个局域网,也不用搞端口映射,用户只需记住两个命令即可完成文件传输。
貌似它是目前唯一同时满足以下所有条件的 CLI 文件传输工具:支持任意两台计算机传输(使用中继)、提供端到端加密(使用 PAKE)、跨平台、支持多文件传输、支持断点续传、无需本地服务器或端口转发、IPv6 优先并支持 IPv4 回退、可使用 Tor 等代理。
1. 核心功能
基本覆盖了运维和开发的各种传输场景:
全平台通吃:Windows, Linux, macOS, 甚至支持 Android (通过 Termux 或 F-Droid)。
任意设备互传:内置 Relay (中继) 机制,发送方和接收方可以处于不同的内网,自动穿透 NAT。
安全性:使用 PAKE (Password-Authenticated Key Agreement) 协议,端到端加密,不用担心中间人攻击。
零配置:不需要搭建本地服务器,也不用去路由器后台改端口转发。
传输能力:支持批量文件传输,支持 断点续传 (Interrupted transfers)。
网络适应性:IPv6 优先,并具备 IPv4 回退功能,甚至支持走代理 (如 Tor) 进行传输。
2. 安装方式
通用脚本:
curl https://getcroc.schollz.com | bashmacOS:Homebrew (
brew install croc) 或 MacPorts。Windows:Scoop, Chocolatey, Winget 全都有。
Linux:Arch (
pacman), Alpine, Fedora (dnf), Gentoo (emerge), Nix/NixOS 官方源里都有。源码编译:需要 Go 1.22+ 环境:
go install github.com/schollz/croc/v10@latest

4. 自建中继
默认走作者的公共中继,如果你介意速度或隐私,可以自己搞个 VPS 跑中继:
启动中继:
croc relay(默认监听 TCP 9009-9013 端口)。Docker:支持 Docker 容器化部署。
客户端使用:
croc --relay "myrelay.example.com:9009" send ...鉴权:设置环境变量
CROC_PASS,防止你的中继被别人白嫖。
5. 项目状态
开源协议:MIT License。
热度:GitHub 上 34.1k Stars,1.3k Forks。
版本:最新版 v10.3.1 (截至 2025年11月20日)。
6. 避坑指南
公共中继速度:默认的公共 Relay 虽然方便,但毕竟是免费资源,速度非常不稳定。传大文件或者对速度有要求,强烈建议自建 Relay。
进程信息泄露:在 Linux/macOS 上,如果你用
--code参数指定密码,这个密码是可以在ps进程列表中被看到的。安全起见,推荐用环境变量传递:CROC_SECRET=code-phrase croc。端口占用:自建 Relay 时注意,它默认会占用 9009 到 9013 这一组端口(用于 TCP 连接和 WebSockets),配置防火墙时别只开一个。
移动端体验:虽然支持 Android,但基本靠 Termux 这种命令行环境,没有那种傻瓜式的 GUI App,给非技术人员传文件还是不太方便。
总结
croc 特别适合系统管理员和开发者在各种网络受限的环境下倒腾数据。只要两边都能联网,就能打洞传文件,比搞 FTP 或者网盘中转要快且安全得多。
项目地址:
https://github.com/schollz/croc
本文链接:https://kinber.cn/post/6250.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝:

支付宝微信扫一扫,打赏作者吧~
