在两台或多台计算机之间传输文件的方法有很多。你可以使用基于服务器的文件共享工具,点对点文件共享app,U盘,外部硬盘驱动器,SCP,NFS,FTP,HTTP,云存储平台等等。本文将介绍一个名为 croc
的命令行工具,可以让你轻松、快速、安全地在计算机之间传输文件和文件夹。使用 croc
工具传输数据的速度很快,因为它充当系统之间的中继服务器。它在两台计算机之间创建了全双工实时通信层,因此「上传」和「下载」任务在两台计算机之间同时发生。croc
使用密码验证密钥交换(PAKE)库提供端到端加密。PAKE库允许两个人使用双方都知道的弱密钥来生成强密钥。然后将此密钥用于进一步加密。由于密钥仅由发送者和接收者知道,因此即使第三者知道原始密码,也没有办法知道秘钥。croc
能够一次在计算机之间传输多个文件。如果数据传输由于任何原因而中断,下次传输的时候它可以从上次中断的地方继续进行文件传输。由于 croc
使用中继,因此你不需要中央服务器或端口转发。它是一个跨平台的应用程序,因此你可以在 Linux,Mac 和 Windows 平台之间传输数据。简而言之, croc
执行以下操作:
- 使用中继在两台计算机之间传输数据,
- 使用 PAKE 库提供 端到端加密,
- 一次传输多个文件 ,
- 断点续传,
- 不需要中央服务器端口转发,
- ipv6-first 和 ipv4 后备,
- 零依赖性,
- 跨平台
- 免费和开源。
croc
使用 Go 编程语言所编写,并遵从 MIT 许可免费提供。
在Linux上安装Croc工具
可以在 Bash
上使用以下命令将 croc
安装在所支持的任何 Linux 和 Unix 发行版上:
$ curl https://getcroc.schollz.com | bash
这个命令将把 croc
源码下载到本地并安装在 /usr/local/bin/
目录下。如果你不想直接注入Shell
,可以从**发行版页面**下载预编译的二进制文件,并使用发行版的软件包管理器进行安装。例如,在Ubuntu系统上可以使用以下命令安装 Croc deb 文件:
$ sudo apt install gdebi
$ sudo gdebi croc_8.3.2_Linux-64bit.deb
你可以使用 pacman
将 croc
安装在 Arch Linux 及其衍生版本中:
$ pacman -S croc
在 NixOS 上,执行以下命令进行安装:
$ nix-env -i croc
croc
也可用 snap
方式进行安装:
$ snap install croc
如果您已在 Linux 系统上安装了 Go 环境,也可以从源代码编译 croc
。
$ GO111MODULE=on go get -v github.com/schollz/croc/v8
使用Croc在计算机之间传输文件和文件夹
在使用之前,先确保在所有系统上都安装了 croc
。要使用 croc
传输文件/文件夹,只需运行:
$ croc send <文件或文件夹路径>
例:
$ croc send file.txt
croc
将生成如下的随机代码短语,相当于暗号。
Sending 'file.txt' (116 B)
Code is: slow-tomato-almond
On the other computer run
croc slow-tomato-almond
在这里,代码短语(暗号)是 slow-tomato-almond
。该代码短语用于建立经过密码验证的密钥协议(PAKE),该协议会生成供发送方和接收方用于端到端加密的秘钥。如果想要在另一台计算机上接收上述文件,那么收件人应输入上述输出的最后一行命令:
$ croc slow-tomato-almond
按 y
,然后按回车键来接收文件。
Accept 'file.txt' (116 B)? (y/n) y
Receiving (<-192.168.225.37:9009)
file.txt 100% |████████████████████| (116/116 B, 32.966 kB/s) [0s:0s]
输出示例:pic