dcp 可以在不同主机之间使用 Dat 对等网络复制文件。这可以让你在两个主机间传输文件时,无需操心所述主机之间互相访问的细节,以及这些主机是否使用了 NAT。Linux 本就有 scp 和 rsync 可以完美地完成这个任务。
什么是 dcp?
dcp 可以在不同主机之间使用 Dat 对等网络复制文件。
dcp 被视作一个像是 scp 这样工具的替代品,而无需在主机间进行 SSH 授权。
这可以让你在两个主机间传输文件时,无需操心所述主机之间互相访问的细节,以及这些主机是否使用了 NAT。
dcp 零配置、安全、快速、且是 P2P 传输。这并不是一个商用软件,使用产生的风险将由使用者自己承担。
dcp 如何工作?
dcp 将会为指定的文件或者文件夹创建一个 dat 归档,并生成一个公开密钥,使用这个公开密钥可以让其他人从另外一台主机上下载上面的文件。
使用网络共享的任何数据都使用该归档的公开密钥加密,也就是说文件的接收权仅限于那些拥有该公开密钥的人。
dcp 使用案例
向多个同事发送文件 —— 只需要告诉他们生成的公开密钥,然后他们就可以在他们的机器上收到对应的文件了。
无需设置 SSH 授权就可以在你本地网络的两个不同物理机上同步文件。
无需压缩文件并把文件上传到云端就可以轻松地发送文件。
当你有 shell 授权而没有 SSH 授权时也可以复制文件到远程服务器上。
在没有很好的 SSH 支持的 Linux/macOS 以及 Windows 系统之间分享文件。
如何在 Linux 上安装 NodeJS & npm?
dcp 是用 JavaScript 写成的,所以在安装 dcp 前,需要先安装 NodeJS。在 Linux 上使用下面的命令安装 NodeJS。
Fedora 系统,使用 DNF 命令 安装 NodeJS & npm。
$ sudo dnf install nodejs npm
Debian/Ubuntu 系统,使用 APT-GET 命令 或者 APT 命令 安装 NodeJS & npm。
$ sudo apt install Nodejs npm
Arch Linux 系统,使用 Pacman 命令 安装 NodeJS & npm。
$ sudo pacman -S nodejs npm
RHEL/CentOS 系统,使用 YUM 命令 安装 NodeJS & npm。
$ sudo yum install epel-release
$ sudo yum install nodejs npm
openSUSE Leap 系统,使用 Zypper 命令 安装 NodeJS & npm。
$ sudo zypper nodejs6
如何在 Linux 上安装 dcp?
在安装好 NodeJS 后,使用下面的 npm 命令安装 dcp。
npm 是一个 JavaScript 的包管理器。它是 JavaScript 的运行环境 Node.js 的默认包管理器。
# npm i -g dat-cp
如何通过 dcp 发送文件?
在 dcp 命令后跟你想要传输的文件或者文件夹。而且无需注明目标机器的名字。
# dcp [File Name Which You Want To Transfer]
在你运行 dcp 命令时将会为传送的文件生成一个 dat 归档。一旦执行完成将会在页面底部生成一个公开密钥。(LCTT 译注:此处并非非对称加密中的公钥/私钥对,而是一种公开的密钥,属于对称加密。)