雲端硬碟請借過,BitTorrent Sync 讓我的雲端空間無上限

by 7月 28, 2015 4 意見                            

D 槽又爆了嗎?! 別怕,備份到網路上就好了,你真的這樣子想嗎?!

雲端硬碟好用是很好用,可是容量爆掉的時間絕對連比你想像中的快;而且在沒有對外網路的時候,你...怎麼辦?
更何況,他們的管理政策很可能說改就改,你 ... 怎麼辦 ???


我們先來看一下,市場上常見的幾種雲端硬碟,他們提供多少空間可用。

Apple iCloud
5GB 免費,可付費升級到 20GB、200GB、500GB、1TB。

Dropbox
2GB 免費,可付費升級到 1TB。

Google Drive
15GB 免費,可付費升級到 100GB、1TB、10TB、20TB、30TB。

Microsoft OneDrive
15GB 免費,可付費升級到 100GB、200GB、1TB。

其實都還蠻大方的啊,就算是要付費買空間,只要一天花個十塊錢,幾乎就可以用到 1TB 的空間,還有什麼好考慮的?!

什麼 1TB 還要花錢?! 好吧,百度雲 是你的好朋友,2TB 免費。

可是,雲端硬碟就只要考量空間問題嗎?! 你真的放心把資料放在別人家裡嗎? 尤其像對岸這麼關心網民安全的地方....(誤)

況且,你一定不知道,就算手上拿著 iPhone,桌上放著 Mac,在使用上列幾種雲端硬碟進行同步資料的時候,檔案還是得慢慢的環遊世界一圈,先傳送到伺服器上去,再存回來你的另一台設備裡,這樣子真的比較快嗎?!


什麼是 BitTorrent Sync


說到 BitTorrent (以下簡稱 BT) 這種 P2P 傳輸協定,相信很多人都會認為那是盜版、違法之類的人在用的。

的確,這是事實,但是技術本身是無罪的,錯誤的是使用的人及使用的方法,它也常常被使用在正確的地方,例如 CentOS 官方就提供使用者可以用 BT 軟體下載系統映像檔。

而我們這次要用到的 BitTorrent Sync 軟體 (以下簡稱 BT Sync),是研發出 BT 協定的 BitTorrent 公司,在 2013 年時所發表,功能與常見的雲端硬碟類似,我們一樣可以讓檔案在每個連結在一起的設置上同步。

但是,它充份了利用 P2P 的優勢,每一個設備可以是伺服器,同時也是用戶端,在傳輸的過程中,BT Sync 伺服器只負責提供設置間的設定與同步資訊,實際的檔案傳輸工作,並不經過 BT Sync 的伺服器,而是在所有的設備間直接傳輸。

除了可以設定分享權限之外,更特別的是可以設定分享時間與使用次數。

支援的平台也很多,除了 Windows、OS X、Mac、Android、iOS、Linux 之外,連 FreeBSD、Windows Phone、Amazon Kindle Fire 及主流的 NAS 也有提供支援。

免費版的功能就已十分足夠,若需要一些更進階的功能,也請多多付費支持他們。

運作的原理也很簡單,某一個端點將資料分享出來。

同一個群組的其他端點會自動去比對需要同步的資料。

最後,各個端點就會依照所設定的權限、次數,去判斷最短路徑再傳送資料。


事前準備

  • PC / Mac / 手機 / 平板 / NAS,任意兩個以上 BT Sync 支援的設備。
  • 免費版最多只能同步 10 個目錄,另外還有一些功能上的差別,請參閱 BitTorrent Sync - Sync FREE vs Sync PRO

在 Linux 安裝 BT Sync


這裡使用 Raspberry Pi 來實作,所以我們到 桌面平台的下載網頁,下載 for ARM Based 的 Linux 版本。
wget https://download-cdn.getsync.com/stable/linux-arm/BitTorrent-Sync_arm.tar.gz

建立一個專用目錄,並將壓縮檔解開後,會有三個檔案:主程式、使用說明、授權說明。
mkdir ~/btsync
tar -xvf BitTorrent-Sycn_arm.tar.gz -C ~/btsync

既然只有一支主程式,那我們就來執行看看。
cd ~/btsync
./btsync

太棒了,什麼錯誤訊息都沒有。可是你馬上就會發現,等了老半天,電腦的瀏覽器一直試著要連線,但是卻什麼畫面都不會顯示。

我們看一下 README 的內容,原來是因為預設值只有本機可以連。
vi ./README


所以,我們先將服務關掉,再加上一些參數重新執行。
killall btsync
./btsync --webui.listen 0.0.0.0:8888

這樣子才可以在用瀏覽器上打開管理介面,首先要接受「授權條款」。

介紹一下免費版及專業版的差別,初次使用會有 30 天的專業版免付費試用期。

再選擇這個設備是第一台或是要加入現有的群組裡。

會寫這一篇的原因,也是因為身邊的朋友看到了科技報橘 - 不用 Dropbox 啦,Raspberry Pi 加一個果醬罐就能裝你的備份資料 這篇文章。

我唯二沒做的是把 Raspberry Pi 加上果醬玻璃罐與 LED 燈,以及資料傳輸時,讓 LED 燈閃爍的部份,如果需要這個效果的朋友,請自行申請 BT Sync 的 API Key,再加裝 Node.js 執行 原文作者的程式碼 即可。


在 Mac 安裝 BT Sync


Mac 版只支援 OS X 10.8 Lion 以上的版本

檔案並不大,大概 13MB 左右而已。

標準的 Mac App 安裝法,把主程式拉到「Application」的目錄。

就可以在「 應用程式」裡看到它。

操作畫面跟 Linux 版一樣。





在 Windows 安裝 BT Sync


Windows 分成 32 位元的版本,及 64 位元的版本,而且只支援 Windows 7 以上的系統。

檔案比 Mac 版的更小。

安裝過程沒有什麼時別的選項,唯一要注意的就是別忘了允許 BT Sync 通過防火牆。

操作畫面很熟悉吧,沒錯! 所有的平台都是一模一樣的介面。




設定第一台裝置


加入 BT Sync 的設備並沒有伺服器及用戶端的分別,所以我們可以在任何一台設備上進行初始設定,這裡就先用 Mac 來操作。

選擇「This is my first sync 2.0 device」。

自訂群組名稱,請注意,建立之後就無法修改。

設定完畢?! 是的,就這麼簡單。

基於有些朋友患有「沒有看到繁體中文就會死掉」的病,我們就來改一下語系好了。
點選右上角的齒輪形狀的「Options」按鈕。

再點選「Preferences」。

找到「Language」選項,預設值是「System default」。

改成「繁體中文」。

關閉程式並重新開啟就可以了。

要讓其他設備同步之前,我們必須先了解群組的驗證方式,它並不是使用我們自訂的群組名稱,而是使用 PKI (Public Key Infrastructure) 來辨識。
 
點選右上角的「選項」按鈕,再點選「我的裝置」。

這裡就可以看到加入這個群組的所有設備,可以看到現在只有這台 Mac 被加入,點選下方的「連結裝置」按鈕。

如果我們已經先裝好了 專屬 App,就可以直接掃瞄 QR Code 讓手機或平板加入群組;而其他的 PC 或 Mac,就要選擇「手動連結一台桌面裝置」的方式來處理。

這邊會產生一組由 33 個英數字混合的金鑰,請將它記錄下來,準備用來讓其他設備加入群組。


加入其他裝置


接著,讓我們先把 Raspberry Pi 加進來吧!!!

先確認服務已經啟動,再從任何一台設備用瀏覽器連上去,,預設的通訊埠是 8888。

這邊比較特別一點,為了安全起見,Web 介面會要求我們建立管理用的使用者帳號密碼。

之後登入都會要求帳號密碼。

點選「Link a device already running Sync 2.0」。

點選「Link a desktop device manually」。

貼上剛剛在第一台設備產生的 33 碼的金鑰。

稍等一下,讓系統建立到群組的連線驗證。

驗證成功之後,可以修改一下預設的儲存目錄。

這裡我們把它改到 /mnt/share 目錄下,請注意,我們必須事先建立好該目錄,並調整為適當的讀寫權限。

設定完畢之後,按下「Continue」。

恭禧!!! 我們看到 Raspberry Pi 已經成功加入在 Mac 上建立的群組了。

既然 Mac 及 Linux 都搞定了,PC 當然也不可以缺席囉。

在 Windows 上面,啟動 BT Sync,然後點選「連結一台已經在執行 Sync 2.0 的裝置」。

再點選「手動連結一台桌面裝置」。

同樣也是輸入同一組金鑰。

稍候一下。

我們選擇不修改預設的同步資料夾。

最後就可以看到 PC 也加入同步群組了。


在裝置間同步資料


那,資料要怎麼同步呢? 我們先從 Mac 開始。

首先新增一個資料夾。

這邊我們選擇加入家目錄下的 LAB 目錄,這邊可以看到已經存在一個 BT Sync for Mac 的檔案。

加入之後,系統就自動開始同步資料。

Raspberry Pi 很快的看到檔案被同步過來。

PC 上也是一樣。

我們在 Raspberry Pi 也試著加入一個檔案。

Mac 跟 PC 也是很快就同步完成。


在 PC 同步到 Mac 及 Raspberry Pi 也沒有問題。



所有的同步過程的歷史記錄都可以在這裡看到。


反過來說,如果在任何一個設備上刪除檔案的話,其他的設備也會自動刪除相同的檔案。


異常排除


目前有一個問題待解,就是我從 Mac 上加入資料後,PC 端無法正常同步,Linux 卻很正常,不知道是 Bug 或是我設定錯誤,恐怕還需要更多的測試。


參考資料


圖片來源


更新紀錄

  • 2015/07/28 撰文。

Heracles Jam,江湖人稱「海公公」

IT 技術家 - 創站部落客

一個常用 Windows、慣用 macOS、愛用 Linux 的 3C 阿宅
現職 MIS / 業界講師 / 資訊顧問 / 部落客

4 則留言 :

  1. 感謝喔講解的很詳細!晚點來操作看看

    回覆刪除
  2. 這個厲害,感謝分享!

    回覆刪除
  3. 不知道有沒有可以跨越LAN然後讓Mac, PC, Android, iOS來存取rpi3檔案的解決方案?kaichih.hu@gmail.com。

    回覆刪除