croc旨在能够在跨平台计算机之间安全,快速,轻松地传输文件和文件夹。支持可恢复的对等传输。作为一项额外功能,croc还能够直接安全地传输短文本或URL。
数据传输是通过使用原始TCP套接字或websocket的中继来完成的。当发送方和接收方在同一LAN上时,croc使用本地中继,否则使用公共中继。因此,croc可以在同一LAN或Internet之间的计算机之间发送文件,而无需启用端口转发。
通过中继的数据使用PAKE生成的会话密钥进行加密。为此,croc使用代码短语,这是三个随机单词的组合。默认情况下,一个密码短语只能在两方之间使用一次,因此攻击者将有不到40亿分之一的机会正确猜出该密码短语来窃取数据。
croc特色:
- 允许任何两台计算机传输数据(使用中继)
- 提供端到端加密(使用PAKE)
- 实现轻松的跨平台文件和文件夹传输(Windows,Linux,Mac和* BSD)
- 允许多次文件传输
- 允许恢复被中断的传输
- 不需要本地服务器或端口转发
- IPv6优先与IPv4后备
- 可以使用代理
开发人员提到croc是唯一具有上述所有功能的命令行文件传输工具。
担心这是一个命令行工具,并且经验丰富的用户很难在Microsoft Windows上使用它吗?不是。Windows用户只需下载Windows二进制文件,将其解压缩,然后双击croc.exe可执行文件,就会弹出一个控制台窗口,要求用户输入接收代码。如下:
croc用法
使用croc发送文件或文件夹很简单:
croc 发送的文件或文件夹
例如:
- linuxmi@linuxmi:~/www.linuxmi.com$ croc linuxmi.com.py
- Did you mean to send 'linuxmi.com.py'? (y/n) y
- Sending 'linuxmi.com.py' (893 B)
- Code is: 5255-airport-helium-radio
- On the other computer run
- croc 5255-airport-helium-radio
从此处的命令输出中可以看到,发送文件时,croc以易于记忆的方式进行形式化显示代码。此处仍显示了接收文件的说明-因此,要获取文件,接收方需要运行croc命令,后跟文件/文件夹的代码:
croc 代码Code
例如:
- linuxmi@linuxmi:~/桌面/linuxmi.com$ croc
- Enter receive code: 5255-airport-helium-radio
- Accept 'linuxmi.com.py' (893 B)? (y/n) y
- Receiving (<-115.201.89.124:50456)
- 100% |████████████████████| (893/893 B, 1.731 kB/s)
接收者运行croc命令获取文件后,发送者将看到一条消息,内容如下:
- Sending (->115.201.89.124:50458)
- 100% |████████████████████| (893/893 B, 992.614 kB/s)
文件传输完成后,croc已存在,因此不再可以再次下载文件。如果要在文件传输完成之前(甚至开始之前)取消文件传输,请按Ctrl + c。
您还可以使用croc使用以下命令在计算机之间安全地发送短文本或URL:
- croc send --text "www.linuxmi.com.txt"
有关更多信息,例如使用管道等,请参阅其GitHub存储库中的croc用法。
下载croc 见 https://github.com/schollz/croc/releases
有适用于Microsoft Windows,macOS,FreeBSD和Linux的croc二进制文件。
在Linux上,您只会找到DEB二进制文件(对于Debian / Ubuntu / Linux Mint / Pop!_OS 等),以及可以在任何Linux发行版中安装的通用二进制文件,只需将其复制到PATH中的某个位置即可(例如/usr/local/bin)。
请参阅croc官方安装说明以获取安装此命令行工具的完整方式列表(用于在任何Linux发行版上安装该脚本的通用脚本,该工具在Arch Linux存储库中可用,可使用Homebrew,Chocolatey等安装。)。