iWant:一個(gè)去中心化的點(diǎn)對(duì)點(diǎn)共享文件的命令行工具
不久之前,我們編寫(xiě)了一個(gè)指南,內(nèi)容是一個(gè)文件共享實(shí)用程序,名為 transfer.sh,它是一個(gè)免費(fèi)的 Web 服務(wù),允許你在 Internet 上輕松快速地共享文件,還有 PSiTransfer,一個(gè)簡(jiǎn)單的開(kāi)源自托管文件共享解決方案。今天,我們將看到另一個(gè)名為 “iWant” 的文件共享實(shí)用程序。它是一個(gè)基于命令行的自由開(kāi)源的去中心化點(diǎn)對(duì)點(diǎn)文件共享應(yīng)用程序。
你可能想知道,它與其它文件共享應(yīng)用程序有什么不同?以下是 iWant 的一些突出特點(diǎn)。
- 它是一個(gè)命令行應(yīng)用程序。這意味著你不需要消耗內(nèi)存來(lái)加載 GUI 實(shí)用程序。你只需要一個(gè)終端。
- 它是去中心化的。這意味著你的數(shù)據(jù)不會(huì)在任何中心位置存儲(chǔ)。因此,不會(huì)因?yàn)橹行狞c(diǎn)失敗而失敗。
- iWant 允許中斷下載,你可以在以后隨時(shí)恢復(fù)。你不需要從頭開(kāi)始下載,它會(huì)從你停止的位置恢復(fù)下載。
- 共享目錄中文件所作的任何更改(如刪除、添加、修改)都會(huì)立即反映在網(wǎng)絡(luò)中。
- 就像種子一樣,iWant 從多個(gè)節(jié)點(diǎn)下載文件。如果任何節(jié)點(diǎn)離開(kāi)群組或未能響應(yīng),它將繼續(xù)從另一個(gè)節(jié)點(diǎn)下載。
- 它是跨平臺(tái)的,因此你可以在 GNU/Linux、MS Windows 或者 Mac OS X 中使用它。
安裝 iWant
iWant 可以使用 PIP 包管理器輕松安裝。確保你在 Linux 發(fā)行版中安裝了 pip。如果尚未安裝,參考以下指南。
安裝 pip 后,確保你有以下依賴項(xiàng):
- libffi-dev
- libssl-dev
比如說(shuō),在 Ubuntu 上,你可以使用以下命令安裝這些依賴項(xiàng):
$ sudo apt-get install libffi-dev libssl-dev
安裝完所有依賴項(xiàng)后,使用以下命令安裝 iWant:
$ sudo pip install iwant
現(xiàn)在我們的系統(tǒng)中已經(jīng)有了 iWant,讓我們來(lái)看看如何使用它來(lái)通過(guò)網(wǎng)絡(luò)傳輸文件。
用法
首先,使用以下命令啟動(dòng) iWant 服務(wù)器:
(LCTT 譯注:雖然這個(gè)軟件是叫 iWant,但是其命令名為 iwanto
,另外這個(gè)軟件至少一年沒(méi)有更新了。)
$ iwanto start
***次啟動(dòng)時(shí),iWant 會(huì)詢問(wèn)想要分享和下載文件夾的位置,所以需要輸入兩個(gè)文件夾的位置。然后,選擇要使用的網(wǎng)卡。
示例輸出:
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
如果你看到類似上面的輸出,你可以立即開(kāi)始使用 iWant 了。
同樣,在網(wǎng)絡(luò)中的所有系統(tǒng)上啟動(dòng) iWant 服務(wù),指定有效的分享和下載文件夾的位置,并選擇合適的網(wǎng)卡。
iWant 服務(wù)將繼續(xù)在當(dāng)前終端窗口中運(yùn)行,直到你按下 CTRL+C
退出為止。你需要打開(kāi)一個(gè)新選項(xiàng)卡或新的終端窗口來(lái)使用 iWant。
iWant 的用法非常簡(jiǎn)單,它的命令很少,如下所示。
iwanto start
– 啟動(dòng) iWant 服務(wù)。iwanto search <name>
– 查找文件。iwanto download <hash>
– 下載一個(gè)文件。iwanto share <path>
– 更改共享文件夾的位置。iwanto download to <destination>
– 更改下載文件夾位置。iwanto view config
– 查看共享和下載文件夾。iwanto –version
– 顯示 iWant 版本。iwanto -h
– 顯示幫助信息。
讓我向你展示一些例子。
查找文件
要查找一個(gè)文件,運(yùn)行:
$ iwanto search <filename>
請(qǐng)注意,你無(wú)需指定確切的名稱。
示例:
$ iwanto search command
上面的命令將搜索包含 “command” 字符串的所有文件。
我的 Ubuntu 系統(tǒng)會(huì)輸出:
Filename Size Checksum
------------------------------------------- ------- --------------------------------
/home/sk/myshare/THE LINUX COMMAND LINE.pdf 3.85757 efded6cc6f34a3d107c67c2300459911
下載文件
你可以在你的網(wǎng)絡(luò)上的任何系統(tǒng)下載文件。要下載文件,只需提供文件的哈希(校驗(yàn)和),如下所示。你可以使用 iwanto search
命令獲取共享的哈希值。
$ iwanto download efded6cc6f34a3d107c67c2300459911
文件將保存在你的下載位置,在本文中是 /home/sk/mydownloads/
位置。
Filename: /home/sk/mydownloads/THE LINUX COMMAND LINE.pdf
Size: 3.857569 MB
查看配置
要查看配置,例如共享和下載文件夾的位置,運(yùn)行:
$ iwanto view config
示例輸出:
Shared folder:/home/sk/myshare
Download folder:/home/sk/mydownloads
更改共享和下載文件夾的位置
你可以更改共享文件夾和下載文件夾。
$ iwanto share /home/sk/ostechnix
現(xiàn)在,共享位置已更改為 /home/sk/ostechnix
。
同樣,你可以使用以下命令更改下載位置:
$ iwanto download to /home/sk/Downloads
要查看所做的更改,運(yùn)行命令:
$ iwanto view config
停止 iWant
一旦你不想用 iWant 了,可以按下 CTRL+C
退出。
如果它不起作用,那可能是由于防火墻或你的路由器不支持多播。你可以在 ~/.iwant/.iwant.log
文件中查看所有日志。有關(guān)更多詳細(xì)信息,參閱***提供的項(xiàng)目的 GitHub 頁(yè)面。
差不多就是全部了。希望這個(gè)工具有所幫助。下次我會(huì)帶著另一個(gè)有趣的指南再次來(lái)到這里。