+-
文件互传神器,暴涨 32000+ GitHub Star!

日常工作中,我们经常会遇到这样一个看似简单、实则糟心的场景:

手里有个几 G 的大文件,或者是这周写好的代码文件夹,急需传给旁边的同事。

如果不巧,我们用的是 Mac,对方用的是 Windows,那 AirDrop 直接歇菜。

这时候通常的做法是打开微信或者网盘。

但要么被压缩画质,要么提示文件过大,还得登录账号,甚至还得忍受龟速的上传下载。

文件互传神器,暴涨 32000+ GitHub Star!

更硬核一点的场景是,我们需要在本地电脑和远程 Linux 服务器之间互传文件。

每次都要用scp命令敲一长串 IP 地址,或者配置复杂的 FTP 服务,真的挺折磨人的。

直到我发现了croc这个开源工具,这种跨设备传输的体验才真正变得“顺滑”起来。

croc是一个用 Go 语言编写的命令行文件传输工具,目前在 GitHub 上已经拿下了 32k+ 的 Star。

文件互传神器,暴涨 32000+ GitHub Star!

它解决的核心痛点非常明确:

如何在两台电脑之间,简单、安全、快速地传输文件,而不需要任何中间配置。

我们来看看它是怎么工作的。

它的操作逻辑非常符合直觉。

假设我们要发送一个文件,只需要在终端输入一行命令:

crocsend[文件名]

这时候,工具会自动生成一个像“暗号”一样的短语,比如anita-price-quick(通常是几个随机单词的组合)。

接收方在另一台电脑上——不管是 Mac、Windows 还是 Linux,甚至是在 Termux 里的 Android 手机——只需要输入这个“暗号”:

crocanita-price-quick

两台电脑瞬间就会建立连接,开始传输文件。

这中间最爽的一点是,我们完全不用管两台电脑在哪里。

哪怕不在同一个局域网,也不需要知道对方 IP,更别提那些繁琐的端口映射了。

之所以能这么方便,是因为 croc 依然采用了一个中继服务器(Relay)来握手。

文件互传神器,暴涨 32000+ GitHub Star!

不过大家肯定会担心:走了中继服务器,数据安全吗?

这里就得提一下它的杀手锏:PAKE(密码认证密钥交换)协议。

简单来说,那个“暗号”不仅仅是用来匹配连接的,它还用于双方生成高强度的加密密钥。

这就意味着,数据是端到端加密的。

虽然流量经过了中继服务器,但中继服务器只负责搬运加密后的数据流,它根本不知道我们传的是什么。

这比很多网盘或者即时通讯软件要安全不少。

文件互传神器,暴涨 32000+ GitHub Star!

除了安全,它在传输体验上也做得非常细致。

比如断点续传

传那种几十 G 的大文件,网络突然抖了一下断开了?

没事,不用从头再来。它能自动接上之前的进度,继续传。

再比如它原生支持目录传输。不需要先把文件夹打包成 zip,直接指那个文件夹,它自己会处理好。

而且它会根据网络情况优先尝试 IPv6,如果不行再回退到 IPv4,还能通过 Tor 等代理进行传输,适应性很强。

文件互传神器,暴涨 32000+ GitHub Star!

在安装方面,因为它本身就是 Go 写的,编译出来就是一个单文件,没有什么复杂的依赖库。

如果我们用的是 macOS,直接用 Homebrew 就能搞定:

brewinstall croc

如果是 Windows 用户,可以通过 Scoop 安装,或者直接在 Release 页面下载 exe 文件扔到 Path 里:

scoopinstall croc

Linux 用户或者喜欢一行命令解决战斗的朋友,也可以直接运行官方提供的脚本:

curlhttps://getcroc.schollz.com | bash

文件互传神器,暴涨 32000+ GitHub Star!

当然,作为一个负责任的推荐,我们也要提一下它的注意事项。

默认情况下,croc 使用的是开发者提供的公共中继服务器。

对于绝大多数普通文件传输来说,这完全没问题,因为有端到端加密保护。

但如果我们对隐私有极高的洁癖,或者是公司内网有特殊的安全策略,croc 也允许我们自建中继服务器

只需要运行croc relay,就能把任何一台服务器变成专属的中继节点,把数据掌控权完全握在自己手里。

文件互传神器,暴涨 32000+ GitHub Star!

总的来说,croc 是那种一旦用过就回不去的工具。

它没有花里胡哨的界面,但把“传文件”这件事做到了极致的简单和高效。

GitHub 项目地址:https://github.com/schollz/croc

今天的分享到此结束,感谢大家抽空阅读,我们下期再见,Respect!