你有没有遇到过这些令人头疼的场景?
- 需要在公司和家里的电脑之间传一个大文件,U盘太慢,微信又限制100MB。
- 想给客户发送项目文件,邮箱附件超出限制,百度网盘对方没会员下载速度慢如蜗牛。
- 换了新手机,想把电脑里的照片批量传过去,数据线连接麻烦,各种助手软件又广告满天飞。
- 和同事临时需要交换几个G的资料,找来找去都没有既方便又安全的办法。
说实话,文件传输这个看似简单的需求,在实际使用中却总让人感到棘手。传统的解决方案要么限制重重,要么配置复杂,要么在隐私方面让人担忧。
今天想给大家推荐一款我最近发现的实用工具——croc。它自称是“唯一能同时做到所有功能的命令行文件传输工具”。经过几个月的使用,我可以负责任地说:这款工具确实高效且可靠!
croc 是什么?
croc 是一款开源的跨平台文件传输工具,由开发者 Zack Scholl 创建。它的核心理念非常简单而直接:让任意两台计算机能够轻松、安全地传输文件和文件夹。
这个项目在 GitHub 上已经获得了超过 3.4 万个星标。它支持 Windows、Linux、macOS 三大主流平台,甚至还可以通过 Docker 容器来运行。
核心功能详解
1. 端到端加密,安全有保障
croc 使用了 PAKE(密码认证密钥协商) 技术来实现端到端加密。简单来说,在整个传输过程中,你的文件会被加密,只有发送方和接收方能够解密和查看文件内容。
你不需要配置复杂的密钥,croc 会自动生成一个类似 croc-transfer-1234 的验证码。这个验证码既是建立连接的密码,也充当了加密密钥。只要不把这个验证码泄露给第三方,你的文件就是安全的。
2. 无需配置,开箱即用
这是 croc 最吸引我的一点——零配置。
你不需要搭建任何服务器,不需要设置端口转发,不需要操心防火墙规则,甚至不需要注册账号。只要两台设备都能接入互联网,就能直接开始传输文件。croc 会自动处理所有复杂的网络连接问题,包括优先尝试 IPv6 连接,并在 IPv6 不可用时回退到 IPv4。
3. 支持多文件和文件夹传输
croc 不仅仅能传输单个文件,它还具备以下能力:
- 一次传输多个文件
- 传输整个文件夹(会自动打包)
- 支持断点续传(传输过程中如果中断,可以从中断点继续)
对于经常需要批量传输资料的用户来说,这个功能非常实用。
4. 跨平台无缝衔接
Windows 传 macOS?没问题。Linux 传 Windows?轻而易举。手机传电脑?croc 还提供了 Android 应用,并且支持通过二维码进行传输。
5. 高级功能也很贴心
- 管道支持:可以直接把命令的输出结果传给 croc,例如
cat log.txt | croc send
- 二维码传输:使用
croc send --qr 文件名 生成二维码,手机扫码即可接收
- 代理支持:支持 SOCKS5 代理,可以与 Tor 配合使用以增强隐私保护
- 自定义中继服务器:如果对默认的公共中继服务器不放心,你可以选择自己搭建
实际使用体验
安装超简单
各平台的安装命令如下:
# macOS
brew install croc
# Windows (使用 Scoop)
scoop install croc
# Windows (使用 Chocolatey)
choco install croc
# Windows (使用 Winget)
winget install schollz.croc
# Linux 通用安装
curl https://getcroc.schollz.com | bash
# Arch Linux
sudo pacman -S croc
# Fedora
sudo dnf install croc
使用方法
croc 的操作逻辑非常直观:
发送方:
croc send 文件名
# 或者发送文件夹
croc send 文件夹名
# 或者发送多个文件
croc send 文件1 文件2 文件3
执行命令后,终端会显示一个唯一的验证码,例如 croc-transfer-8840。
接收方:
croc croc-transfer-8840
就这么简单!
实际场景测试
我测试了几个常见的传输场景:
场景1:传输一个 2GB 的视频文件
- 速度:稳定在 5-10 MB/s(具体速度取决于双方网络带宽)
- 体验:无需先上传到网盘等待,直接点对点传输,省时省心。
场景2:从 macOS 传输一个项目文件夹到 Windows
- 内容:包含 500 多个小文件,总计约 800MB
- 体验:自动打包传输,接收后自动解压,完整的文件夹结构被完美保留。
场景3:临时给同事发送机密文档
- 方式:使用默认加密传输,完成后验证码立即失效
- 体验:比通过微信、邮件传输安全得多,完全不用担心文件被第三方留存或审查。
对比分析:croc vs 其他工具
| 功能特性 |
croc |
微信/QQ |
百度网盘 |
AirDrop |
SCP |
| 跨平台 |
全平台 |
需安装客户端 |
全平台 |
仅苹果生态 |
需配置 |
| 文件大小限制 |
无限制 |
100MB-1GB |
非会员限速/限空间 |
无限制 |
无限制 |
| 传输速度 |
点对点直传 |
经服务器中转 |
非会员限速 |
很快 |
很快 |
| 安全性 |
端到端加密 |
服务商可见 |
服务商可见 |
本地加密 |
SSH加密 |
| 使用门槛 |
极低(命令行) |
低 |
低 |
低 |
需技术基础 |
| 无需注册 |
是 |
否 |
否 |
是 |
是 |
总结:
- 如果你需要快速、安全、跨平台地传输文件,croc 是目前一个非常优秀的解决方案。
- 如果对方完全不懂技术,微信或QQ可能更友好(但存在文件大小和隐私限制)。
- 如果是苹果全家桶用户,AirDrop的体验无疑更好(但仅限于苹果生态内部)。
- 如果是在服务器之间进行传输,SCP或SFTP更为专业和标准(但需要提前进行SSH配置)。
一些小技巧和注意事项
提升安全性
在 Linux 或 macOS 上,可以通过设置环境变量来隐藏验证码,避免在终端历史中留下记录:
CROC_SECRET=你的验证码 croc
自定义验证码
想要一个自己容易记住的验证码?可以这样做:
croc send --code 我的验证码 文件名
排除不需要的文件
传输文件夹时,可以排除特定的文件或目录:
croc send --exclude “node_modules,.git” 项目文件夹
自动覆盖已有文件
接收文件时,如果目标位置已存在同名文件,可以自动覆盖:
croc --yes --overwrite 验证码
静默模式(适合脚本调用)
croc --quiet send 文件名
总结
croc 巧妙地解决了文件传输中“便捷性”与“安全性”往往难以兼得的痛点。它无需你搭建服务器,无需注册任何账号,也无需担心隐私泄露,仅凭一个简单的命令,文件就能安全、快速地到达对方手中。
对于经常需要在不同设备、不同平台间传输文件的职场人士、开发者或设计师来说,croc 是一个值得放入工具箱的高效工具。
适合人群:
- 经常需要跨平台传输文件的用户。
- 对文件隐私和安全有较高要求的用户。
- 厌倦了网盘限速和复杂流程的用户。
- 喜爱命令行工具、追求效率的用户。
不足之处:
- 作为纯命令行工具,对完全零基础的用户有一定学习门槛(但其命令本身非常简单)。
- 需要网络连接,无法在完全离线的环境中使用。
- 传输速度最终受限于发送方和接收方双方的网络上行与下行带宽。
获取方式
开源地址:https://github.com/schollz/croc
推荐安装方式:
- macOS:
brew install croc
- Windows:
winget install schollz.croc 或 choco install croc
- Linux:
curl https://getcroc.schollz.com | bash
官方文档:https://github.com/schollz/croc#usage
如果你也时常为文件传输感到烦恼,不妨试试 croc。相信在体验过这种直接、安全的传输方式后,你也会认同它的价值。
如果你在云栈社区有类似的技术心得或发现了其他好用的工具,也欢迎分享与交流。