iWant:一個去中心化的點對點共享文件的命令行工具
不久之前,我們編寫了一個指南,內容是一個文件共享實用程序,名為 transfer.sh,它是一個免費的 Web 服務,允許你在 Internet 上輕鬆快速地共享文件,還有 PSiTransfer,一個簡單的開源自託管文件共享解決方案。今天,我們將看到另一個名為 「iWant」 的文件共享實用程序。它是一個基於命令行的自由開源的去中心化點對點文件共享應用程序。
你可能想知道,它與其它文件共享應用程序有什麼不同?以下是 iWant 的一些突出特點。
- 它是一個命令行應用程序。這意味著你不需要消耗內存來載入 GUI 實用程序。你只需要一個終端。
- 它是去中心化的。這意味著你的數據不會在任何中心位置存儲。因此,不會因為中心點失敗而失敗。
- iWant 允許中斷下載,你可以在以後隨時恢復。你不需要從頭開始下載,它會從你停止的位置恢復下載。
- 共享目錄中文件所作的任何更改(如刪除、添加、修改)都會立即反映在網路中。
- 就像種子一樣,iWant 從多個節點下載文件。如果任何節點離開群組或未能響應,它將繼續從另一個節點下載。
- 它是跨平台的,因此你可以在 GNU/Linux、MS Windows 或者 Mac OS X 中使用它。
安裝 iWant
iWant 可以使用 PIP 包管理器輕鬆安裝。確保你在 Linux 發行版中安裝了 pip。如果尚未安裝,參考以下指南。
安裝 pip 後,確保你有以下依賴項:
- libffi-dev
- libssl-dev
比如說,在 Ubuntu 上,你可以使用以下命令安裝這些依賴項:
$ sudo apt-get install libffi-dev libssl-dev
安裝完所有依賴項後,使用以下命令安裝 iWant:
$ sudo pip install iwant
現在我們的系統中已經有了 iWant,讓我們來看看如何使用它來通過網路傳輸文件。
用法
首先,使用以下命令啟動 iWant 伺服器:
(LCTT 譯註:雖然這個軟體是叫 iWant,但是其命令名為 iwanto
,另外這個軟體至少一年沒有更新了。)
$ iwanto start
第一次啟動時,iWant 會詢問想要分享和下載文件夾的位置,所以需要輸入兩個文件夾的位置。然後,選擇要使用的網卡。
示例輸出:
Shared/Download folder details looks empty..
Note: Shared and Download folder cannot be the same
SHARED FOLDER(absolute path):/home/sk/myshare
DOWNLOAD FOLDER(absolute path):/home/sk/mydownloads
Network interface available
1. lo => 127.0.0.1
2. enp0s3 => 192.168.43.2
Enter index of the interface:2
now scanning /home/sk/myshare
[Adding] /home/sk/myshare 0.0
Updating Leader 56f6d5e8-654e-11e7-93c8-08002712f8c1
[Adding] /home/sk/myshare 0.0
connecting to 192.168.43.2:1235 for hashdump
如果你看到類似上面的輸出,你可以立即開始使用 iWant 了。
同樣,在網路中的所有系統上啟動 iWant 服務,指定有效的分享和下載文件夾的位置,並選擇合適的網卡。
iWant 服務將繼續在當前終端窗口中運行,直到你按下 CTRL+C
退出為止。你需要打開一個新選項卡或新的終端窗口來使用 iWant。
iWant 的用法非常簡單,它的命令很少,如下所示。
iwanto start
– 啟動 iWant 服務。iwanto search <name>
– 查找文件。iwanto download <hash>
– 下載一個文件。iwanto share <path>
– 更改共享文件夾的位置。iwanto download to <destination>
– 更改下載文件夾位置。iwanto view config
– 查看共享和下載文件夾。iwanto –version
– 顯示 iWant 版本。iwanto -h
– 顯示幫助信息。
讓我向你展示一些例子。
查找文件
要查找一個文件,運行:
$ iwanto search <filename>
請注意,你無需指定確切的名稱。
示例:
$ iwanto search command
上面的命令將搜索包含 「command」 字元串的所有文件。
我的 Ubuntu 系統會輸出:
Filename Size Checksum
------------------------------------------- ------- -----------------------------/home/sk/myshare/THE LINUX COMMAND LINE.pdf 3.85757 efded6cc6f34a3d107c67c2300459911
下載文件
你可以在你的網路上的任何系統下載文件。要下載文件,只需提供文件的哈希(校驗和),如下所示。你可以使用 iwanto search
命令獲取共享的哈希值。
$ iwanto download efded6cc6f34a3d107c67c2300459911
文件將保存在你的下載位置,在本文中是 /home/sk/mydownloads/
位置。
Filename: /home/sk/mydownloads/THE LINUX COMMAND LINE.pdf
Size: 3.857569 MB
查看配置
要查看配置,例如共享和下載文件夾的位置,運行:
$ iwanto view config
示例輸出:
Shared folder:/home/sk/myshare
Download folder:/home/sk/mydownloads
更改共享和下載文件夾的位置
你可以更改共享文件夾和下載文件夾。
$ iwanto share /home/sk/ostechnix
現在,共享位置已更改為 /home/sk/ostechnix
。
同樣,你可以使用以下命令更改下載位置:
$ iwanto download to /home/sk/Downloads
要查看所做的更改,運行命令:
$ iwanto view config
停止 iWant
一旦你不想用 iWant 了,可以按下 CTRL+C
退出。
如果它不起作用,那可能是由於防火牆或你的路由器不支持多播。你可以在 ~/.iwant/.iwant.log
文件中查看所有日誌。有關更多詳細信息,參閱最後提供的項目的 GitHub 頁面。
差不多就是全部了。希望這個工具有所幫助。下次我會帶著另一個有趣的指南再次來到這裡。
乾杯!
資源
via: https://www.ostechnix.com/iwant-decentralized-peer-peer-file-sharing-commandline-application/
作者:SK 選題:lujun9972 譯者:MjSeven 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive