歡迎光臨
每天分享高質量文章

dcp:採用對等網絡傳輸檔案的方式 | Linux 中國

dcp 可以在不同主機之間使用 Dat 對等網絡複製檔案。這可以讓你在兩個主機間傳輸檔案時,無需操心所述主機之間互相訪問的細節,以及這些主機是否使用了 NAT。

— Vinoth Kumar

 

Linux 本就有 scp 和 rsync 可以完美地完成這個任務。然而我們今天還是想試點新東西。同時我們也想鼓勵那些使用不同的理論和新技術開發新東西的開發者。

我們也寫過其他很多有關這個主題的文章,你可以點擊下麵的鏈接訪問這些內容。

它們分別是 OnionShare[1]Magic Wormhole[2]Transfer.sh[3] 和 ffsend。

什麼是 dcp?

dcp[4] 可以在不同主機之間使用 Dat 對等網絡複製檔案。

dcp 被視作一個像是 scp 這樣工具的替代品,而無需在主機間進行 SSH 授權。

這可以讓你在兩個主機間傳輸檔案時,無需操心所述主機之間互相訪問的細節,以及這些主機是否使用了 NAT。

dcp 零配置、安全、快速、且是 P2P 傳輸。這並不是一個商用軟體,使用產生的風險將由使用者自己承擔。

什麼是 Dat 協議

Dat 是一個 P2P 協議,是一個致力於下一代 Web 的由社區驅動的專案。

dcp 如何工作

dcp 將會為指定的檔案或者檔案夾創建一個 dat 歸檔,並生成一個公開密鑰,使用這個公開密鑰可以讓其他人從另外一臺主機上下載上面的檔案。

使用網絡共享的任何資料都使用該歸檔的公開密鑰加密,也就是說檔案的接收權僅限於那些擁有該公開密鑰的人。

dcp 使用案例

◈ 向多個同事發送檔案 —— 只需要告訴他們生成的公開密鑰,然後他們就可以在他們的機器上收到對應的檔案了。
◈ 無需設置 SSH 授權就可以在你本地網絡的兩個不同物理機上同步檔案。
◈ 無需壓縮檔案並把檔案上傳到雲端就可以輕鬆地發送檔案。
◈ 當你有 shell 授權而沒有 SSH 授權時也可以複製檔案到遠程服務器上。
◈ 在沒有很好的 SSH 支持的 Linux/macOS 以及 Windows 系統之間分享檔案。

如何在 Linux 上安裝 NodeJS & npm?

dcp 是用 JavaScript 寫成的,所以在安裝 dcp 前,需要先安裝 NodeJS。在 Linux 上使用下麵的命令安裝 NodeJS。

Fedora 系統,使用 DNF 命令[5] 安裝 NodeJS & npm。

  1. $ sudo dnf install nodejs npm

Debian/Ubuntu 系統,使用 APT-GET 命令[6] 或者 APT 命令[6] 安裝 NodeJS & npm。

  1. $ sudo apt install nodejs npm

Arch Linux 系統,使用 Pacman 命令[7] 安裝 NodeJS & npm。

  1. $ sudo pacman -S nodejs npm

RHEL/CentOS 系統,使用 YUM 命令[8] 安裝 NodeJS & npm。

  1. $ sudo yum install epel-release
  2. $ sudo yum install nodejs npm

openSUSE Leap 系統,使用 Zypper 命令[9] 安裝 NodeJS & npm。

  1. $ sudo zypper nodejs6

如何在 Linux 上安裝 dcp?

在安裝好 NodeJS 後,使用下麵的 npm 命令安裝 dcp

npm 是一個 JavaScript 的包管理器。它是 JavaScript 的運行環境 Node.js 的預設包管理器。

  1. # npm i -g dat-cp

如何通過 dcp 發送檔案?

在 dcp 命令後跟你想要傳輸的檔案或者檔案夾。而且無需註明標的機器的名字。

  1. # dcp [File Name Which You Want To Transfer]

在你運行 dcp 命令時將會為傳送的檔案生成一個 dat 歸檔。一旦執行完成將會在頁面底部生成一個公開密鑰。(LCTT 譯註:此處並非非對稱加密中的公鑰/私鑰對,而是一種公開的密鑰,屬於對稱加密。)

如何通過 dcp 接收檔案

在遠程服務器上輸入公開密鑰即可接收對應的檔案或者檔案夾。

  1. # dcp [Public Key]

以遞迴形式複製目錄。

  1. # dcp [Folder Name Which You Want To Transfer] -r

下麵這個例子我們將會傳輸單個檔案。

上述檔案傳輸的輸出。

如果你想傳輸不止一個檔案,使用下麵的格式。

上述檔案傳輸的輸出。

遞迴複製檔案夾。

上述檔案夾傳輸的輸出。

這種方式下你只能夠下載一次檔案或者檔案夾,不可以多次下載。這也就意味著一旦你下載了這些檔案或者檔案夾,這個鏈接就會立即失效。

也可以在手冊頁查看更多的相關選項。

  1. # dcp --help

赞(0)

分享創造快樂