使用 Croc 在计算机之间传输文件和文件夹

有很多方法可以在两台或多台计算机之间传输文件。 您可以使用基于服务器的文件共享工具、点对点文件共享应用程序、U 盘、外部硬盘驱动器、SCP、NFS、FTP、HTTP、云存储平台等等。 我们已经介绍了一些文件共享工具。 今天,我们将讨论另一个名为的实用程序 鳄鱼. Croc 是一个命令行实用程序,可让您轻松、快速、安全地在计算机之间传输文件和文件夹。

使用 Croc 传输数据更快,因为它充当 中继服务器 系统之间。 它在两台计算机之间创建了一个全双工实时通信层,因此“上传”和“下载”任务在这两台计算机之间同时发生。

Croc 提供端到端加密使用 密码验证密钥交换 (PAKE) 图书馆。 对于那些想知道的人来说,PAKE 库允许两个人通过使用双方事先知道的弱密钥来生成强密钥。 这个秘密密钥然后被用于进一步加密。 由于只有发送方和接收方知道密钥,所以其他人即使知道原始密码也无法获知密钥。

鳄鱼可以 传输多个文件 计算机之间。 如果数据传输因任何原因中断,它可以从上次离开的位置恢复文件复制。

由于 Croc 使用中继,因此您不需要中央服务器或端口转发。 它是一个跨平台的应用程序,因此您可以在 Linux、Mac 和 Windows 平台之间传输数据。

简而言之,Croc 执行以下操作:

  • 之间传输数据 两台电脑 使用继电器,
  • 提供 端到端加密 使用 PAKE 库,
  • 转移 多个文件 一气呵成,
  • 恢复中断的文件复制,
  • 没有中央服务器端口转发 需要,
  • ipv6优先 使用 ipv4 回退,
  • 需要零依赖,
  • 跨平台,
  • 免费和开源。

鳄鱼被写在 编程语言,在 MIT 许可下免费提供。

内容

  1. 在 Linux 上安装 Croc
  2. 使用 Croc 在计算机之间传输文件和文件夹
    1. 设置自定义代码短语
    2. 发短讯
    3. 使用管道
    4. 设置输出文件夹
      1. 获得帮助

在 Linux 上安装 Croc

Croc 可以安装在任何支持的 Linux 和 Unix 发行版上 Bash 使用以下命令:

$ 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

Croc 可在 [Community],因此您可以使用以下命令将其安装在 Arch Linux 及其变体上 pacman 像下面这样:

$ pacman -S croc

在 NixOS 上,运行:

$ nix-env -i croc

Croc 也可作为 snap.

$ snap install croc

如果你有,你也可以从源代码构建 Croc 在你的 Linux 上安装 Go 系统。

$ GO111MODULE=on go get -v github.com/schollz/croc/v8

使用 Croc 在计算机之间传输文件和文件夹

确保您已在所有系统上安装了 Croc。

要使用 Croc 传输文件/文件夹,只需运行:

$ croc send <file-or-folder-path>

例子:

$ 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] ✔️

示例输出:

使用 Croc 在计算机之间传输文件和文件夹

设置自定义代码短语

就像我已经提到的那样,每次发送文件或文件夹时,Croc 都会生成一个随机代码。 您还可以使用您选择的自定义代码发送文件/文件夹 --code 选项。

$ croc send --code download-this file.txt

这里, "download-this" 是密码短语。

示例输出:

Sending 'file.txt' (116 B) Code is: download-this On the other computer run  croc download-this

收件人可以使用以下命令接收文件:

$ croc download-this
使用 croc 发送带有自定义代码的文件和文件夹

发短讯

就像文件和文件夹一样,我们也可以共享文本。 当您想要共享消息或 URL 时,这会很有用。

要使用 Croc 发送文本,请运行:

$ croc send --text "Welcome to OSTechNix"

示例输出:

Sending 'text' (20 B) Code is: natural-roof-clock On the other computer run  croc natural-roof-clock  Sending (->[fe80::a00:27ff:fe10:7cc1%wlp9s0]:39916)

收件人将使用以下命令获取文本:

$ croc natural-roof-clock Accept 'text' (20 B)? (y/n) y  Receiving (<-[fe80::d710:cf4:bb49:8b20%enp0s8]:9009) Welcome to OSTechNix
使用croc发送文本使用croc发送文本

使用管道

您可以将文件的输出通过管道传输到 croc,如下所示。

$ cat file.txt | croc send

示例输出:

Sending 'stdin' (116 B) Code is: dexter-cowboy-soprano On the other computer run  croc dexter-cowboy-soprano

Croc 将自动使用标准输入数据并发送和分配一个文件名,如“croc-stdin-728899651”。

在接收端,用户可以使用以下任一命令接收文件:

$ croc dexter-cowboy-soprano

或者,使用:

$ croc --yes dexter-cowboy-soprano > out

这里, --yes 不会要求任何确认并自动同意所有提示。

设置输出文件夹

默认情况下,Croc 将下载当前工作目录中的数据。 您可以使用不同的下载位置 --out 旗帜。

$ croc send file.txt

示例输出:

Sending 'file.txt' (116 B) Code is: program-public-mystery On the other computer run  croc program-public-mystery

在接收端,运行:

$ croc --out ~/Downloads

Enter 提示时的代码短语。

获得帮助

如需帮助,请运行:

$ croc --help NAME:    croc - easily and securely transfer stuff from one computer to another  USAGE:    Send a file:       croc send file.txt     Send a file with a custom code:       croc send --code secret-passphrase file.txt  VERSION:    v8.3.2-7d155ad  COMMANDS:    send     send a file (see options with croc send -h)    relay    start your own relay (optional)    help, h  Shows a list of commands or help for one command  GLOBAL OPTIONS:    --remember      save these settings to reuse next time (default: false)    --debug         toggle debug mode (default: false)    --yes           automatically agree to all prompts (default: false)    --stdout        redirect file to stdout (default: false)    --no-compress   disable compression (default: false)    --ask           make sure sender and recipient are prompted (default: false)    --relay value   address of the relay (default: "142.93.177.120:9009") [$CROC_RELAY]    --relay6 value  ipv6 address of the relay (default: "[2604:a880:800:c1::14c:1]:9009") [$CROC_RELAY6]    --out value     specify an output folder to receive the file (default: ".")    --pass value    password for the relay (default: "pass123") [$CROC_PASS]    --help, -h      show help (default: false)    --version, -v   print the version (default: false)

资源:

  • 鳄鱼网站
  • Croc GitHub 存储库

相关阅读:

  • 使用 Warpinator 在 Linux 桌面之间共享文件
  • 如何使用 Firefox Send 通过 Internet 安全地共享文件
  • 如何在 Linux 中使用 ffsend 从命令行安全地共享文件
  • PSiTransfer – 一个简单的开源自托管文件共享解决方案
  • 如何使用 simpleHTTPserver 设置基本文件服务器
  • 从命令行通过 Internet 共享文件的简单快捷方式
  • OnionShare – 安全且匿名地共享任何大小的文件

CrocFie转GoGoLangLinux开源p2p中继服务器