【轉】Syncthing的安裝與使用

Syncthing的安裝與使用

不管辦公、文件共享、團隊協做仍是家庭照片、視頻、音樂、高清電影的存儲,咱們經常都有文件同步和存儲的需求。但隨着國內各大網盤的花式陣亡或限速,早已沒什麼好選擇了。javascript

除了轉戰 Office365 (OneDrive) 或 番·羽·土·嗇 用 Dropbox、Google Drive 之外,我的認爲最靠譜的仍是利用 VPSNAS 或本身的電腦搭建私有同步網盤了!不只速度快空間足,最重要是全部數據都能握在本身手中不受別人限制干涉。而今天推薦的 Syncthing 可能正是這類工具中的最佳選擇……php

靠譜的 VPS 雲服務器推薦css

Syncthing - 開源免費的文件夾同步神器 (Resilio Sync 的替代品)

 

自建網盤雲儲存同步服務的軟件有不少,異次元就推薦過 SeafileNextCloudownCloudBT Sync (Resilio Sync) 等。而 Syncthing 則有着本身很是特別的優勢,受到衆多高手們的推薦,被譽爲是 Resilio Sync / BT Sync 和 Dropbox 的最佳開源替代品。html

Syncthing

Syncthing 最大的特點是採用了與 Resilio Sync (BitTorrent Sync) 相似的 P2P 分佈式技術,無需中心服務器,便可讓多臺設備互相實時同步文件,用過 Resilio Sync 的朋友都明白這種同步方式的優點了。它們二者的實現方式很類似,區別是 Resilio 屬於商業軟件,需付費使用,在國內也已被土·嗇,而 Syncthing 不只徹底免費且開源,相比 Resilio 還增長了「文件版本控制」、「單向同步」等堪稱殺手級的功能特性。java

Syncthing 功能上很是接近於  Resilio Sync / BT Sync,不過說它是一款用於搭建網盤的服務器軟件或者雲存儲服務應用彷佛並不十分恰當,相較於 Seafile、NextCloud 等服務器工具,Syncthing 實際上更像是一款文件/文件夾同步工具linux

你能夠很是輕鬆簡單地讓同一路由器下的多臺 PC 電腦、NAS 設備實現局域網互相同步,也能夠在 VPS 服務器或 24 小時不關機且有公網 IP 的電腦上安裝和配置 Syncthing,讓其成爲真正意義上的雲同步網盤。android

免費、開源、跨平臺

Syncthing 免費且開源,跨平臺支持 Windows、MacLinuxAndroid 等主流平臺,除了 PC、手機之外,在部分路由器、樹莓派等硬件上都能輕鬆運行,它將以網頁版的形式呈現,而且 Syncthing 還提供了中文界面的支持。ios

Syncthing 同步網盤

得益於跨平臺,Syncthing 的應用場景和範圍很是普遍,能夠簡單用來備份手機照片視頻文檔,也能夠知足公司、企業、團隊、我的的各類複雜的文件/文件夾的同步與共享需求。git

Syncthing 安卓版

比較惋惜的是,目前 Syncthing 僅有安卓版的官方客戶端,並未發佈 iOS 版,只有一個由第三方作的相對簡陋的 iOS APP 「fsync」能夠暫時頂替。github

綠色免安裝,使用簡單!

大多數同類的網盤軟件都須要較爲麻煩複雜的安裝搭建服務器過程,而 Syncthing 在使用上簡直超級簡單方便!以 Windows 版本爲例,Syncthing 自己就是一款綠色免安裝的軟件,直接下載解壓打開 syncthing.exe 便可運行,啓動後經過瀏覽器訪問:http://127.0.0.1:8384 進入 Syncthing 的控制面板。

每臺設備都會被分配到一個獨立的設備 ID 標識 (一長串的字符),在菜單 "操做"->「顯示 ID」 裏能夠找到。

Syncthing ID

Syncthing 設備ID

用戶可點擊「添加遠程設備」,輸入其餘設備的 ID 來配對 (互相添加對方爲可同步設備),而後就能夠設定須要同步的文件夾,讓它們在這些設備之間互相同步文件了。

Windows 圖形界面加強版的 Syncthing 客戶端 - SyncTrayzor

因爲綠色免安裝,所以 Syncthing 使用上很是方便!你能夠根據須要長期保持 Syncthing 運行時刻監視文件變化並進行同步,也能夠僅在須要同步的時候才手動去啓動它,平時徹底關閉不佔用任何系統資源,這取決於你的使用需求。

默認狀況下,Windows 版的 Syncthing 啓動後會彈出一個命令行窗口一直保持在那裏,想要常駐後臺時刻同步就得忍受它的存在,有點煩人。爲此,Syncthing 官方還提供了一個圖形界面版的「SyncTrayzor」工具,以下圖:

SyncTrayzor

SyncTrayzor 不只內置了 Syncthing 自己,而且還能夠幫助你實現將 Syncthing 徹底最小化到右下角托盤、保持常駐後臺運行、或者設置開機啓動。雖然體積稍大了點,還須要 .NetFramework 4.5的支持,但使用上則方便了許多,推薦打算常駐後臺同步的 Windows 用戶使用它。

文件版本控制,神奇的後悔藥

話說人生最痛苦的事情莫過於重要文件被誤刪除、被覆蓋等痛心疾首的經歷了,而 Syncthing 支持文件版本控制 (File Versioning) 功能,會自動保留文件的歷史版本,每次文件在變化以後都會增長一個版本 (總數量能夠由你設置),一旦出現文件被刪除、丟失、文件內容被替換、同步出錯等狀況,用戶均能從該文件的歷史版本中選一個恢復回來,幫助你挽回無可彌補的損失,簡直就像是後悔藥同樣神奇。

文件版本控制

在共享文件夾的「選項」->「高級設置」裏便可開啓或關閉目錄的文件版本控制功能,其中分爲「回收站式版本控制」、「簡易版本控制」、「階段版本控制」以及「外部版本控制」,選擇其中一項均會有對應的說明,你們可根據須要選擇。

版本控制對於數據比較重要的朋友來講,絕對是一大必備功能!起碼文件都多了一重保障,可靠性大大增長!

衆多優勢:無限空間、多文件夾同步、加密傳輸等

Syncthing 能夠支持同步多個文件夾,支持設置單向同步、雙向同步、設置掃描文件變化的間隔;不限制文件大小,不限制空間  (僅受限於你設備的存儲容量);全部的通信和傳輸均會被加密,支持 https,安全性高;並且既能支持局域網同步,也可實現互聯網同步。

對比 BT Sync 來看,Syncthing 的功能和可配置選項要多一些,不過感受同步速度彷佛比前者稍差一點,固然這個還沒實際對比測試過,僅僅是憑印象猜想的,或許並不許確。

總結:

總的來看,Syncthing 就像是整合了 Resilio Sync 和 Dropbox 的優勢後的開源替代品,它的應用範圍廣,你徹底能夠利用它輕鬆打造出屬於本身的私有云同步網盤服務。

免費、跨平臺、開源、綠色免安裝、支持文件版本控制、無需中心服務器,方方面面都讓 Syncthing 顯得至關優秀,加上開源社區源源不斷的更新和維護,相信 Syncthing 將會成爲文件同步工具中的佼佼者。

----------------------------------------------------------------------------------------------

 

 

如今的網盤,一言不合就被「脫褲」,又或者「根據相關法律法規」要整改,要麼乾脆就關閉了,大家這樣讓我很是angry!這樣亂搞,還讓不讓人好好地備份文件啦?本着「本身動手豐衣足食」的理念,今天老司機我帶你們用 Syncthing來建立屬於本身的同步網盤。

 

什麼是Syncthing

按照慣例應該是要先介紹今天的主角的,下面是摘自Syncthing官網首頁的一段介紹

Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized. Your data is your data alone and you deserve to choose where it is stored, if it is shared with some third party and how it's transmitted over the Internet.

一句話說完就是「咱們這個東西跟那些雲服務不同,是很是安全可靠值得信賴的,你的數據由你來做主」。

準備

既然要同步文件,固然要有至少兩臺機器了,我這裏用的是一臺筆記本電腦和一個CentOS的VPS,筆記本做爲本地設備,VPS做爲遠程設備。這裏要說明一點,用做文件同步的設備,能夠是任何系統任何設備,並非限定於必需要有一臺服務器,在局域網內的兩臺電腦均可以創建你本身的同步網盤(網盤這個說法其實並不許確)。除了兩臺機器外,還須要機器系統對應的Syncthing的二進制文件,具體能夠從Syncthing首頁的「Syncthing Core (CLI & Web UI)」裏找到對應版本的下載地址。

如今須要的東西都已經準備好了:

安裝

先從官網下載好Windows 32位版(我本本對應的系統版本)的Syncthing,解壓後能夠看到以下文件結構


 
Syncthing文件結構

直接運行syncthing.exe會彈出一個黑框框,裏面會有一大堆信息,能夠不用管

 
syncthing.exe

 

同時瀏覽器還會打開http://127.0.0.1:8384/這個網址,能夠看到默認已經建立了一個默認文件夾yct7k-lrebo,所在路徑爲C:\Users\Administrator\Sync

 
Syncthing管理頁面

 

本地的機器Windows版本就這麼簡單搞定啦!接下來給VPS也裝上,用Xshell連上服務器,而後用wget命令下載Syncthing的Linux 64位版,版本號對應官網上的最新版,請自行選擇:

cd ~
wget https://github.com/syncthing/syncthing/releases/download/v0.14.5/syncthing-linux-amd64-v0.14.5.tar.gz 

如今能夠把下載到的文件解壓,而後進入解壓後的目錄:

tar xzvf syncthing-linux-amd64-v0.14.5.tar.gz cd syncthing-linux-amd64-v0.14.5 

有個可執行文件syncthing,咱們要把它放到咱們的PATH中,以便直接執行:

cp syncthing /usr/local/bin 

以前下載和解壓出來的文件能夠所有刪掉了:

cd ~ rm -rf syncthing* 

到這裏咱們在VPS上的Syncthing已經安裝好了,但是直接運行的話,並不能經過外網訪問到管理頁面,由於Syncthing的管理頁面默認是隻有本機能夠訪問的,因此接下來還要進行一點修改,先運行Syncthing:

syncthing

隨後就會看到有不少信息,和以前在Windows運行同樣,看到相似如下內容的時候就能夠按CTRL-C退出程序了:

[OH4IP] 13:32:15 INFO: Completed initial scan (rw) of folder edatb-zzc5f [OH4IP] 13:32:15 INFO: Device OH4IPQD-QDCDAZB-YMMZE4F-BAK4BLQ-3EZLPTD-V73J37V-LTW44V6-YSM6JQ7 is "ruter.ga" at [dynamic] [OH4IP] 13:32:15 INFO: Loading HTTPS certificate: open /root/.config/syncthing/https-cert.pem: no such file or directory [OH4IP] 13:32:15 INFO: Creating new HTTPS certificate [OH4IP] 13:32:15 INFO: GUI and API listening on 127.0.0.1:8384 [OH4IP] 13:32:15 INFO: Access the GUI via the following URL: http://127.0.0.1:8384/ [OH4IP] 13:32:16 INFO: Detected 0 NAT devices 

咱們第一次運行是爲了讓它建立配置文件,而後咱們再進行修改。用如下命令對配置文件進行編輯:

vim ~/.config/syncthing/config.xml 

一瞬間是否是懵逼了?不要慌,先找到下面這幾行:

<gui enabled="true" tls="false" debugging="false"> <address>127.0.0.1:8384</address> <apikey>2GeGJK9z6tXKP3nHJYU56ZHoYSYnqQ9S</apikey> <theme>default</theme> </gui> 

而後把IP127.0.0.1修改爲0.0.0.0便可保存退出:

<gui enabled="true" tls="false" debugging="false"> <address>0.0.0.0:8384</address> <apikey>2GeGJK9z6tXKP3nHJYU56ZHoYSYnqQ9S</apikey> <theme>default</theme> </gui> 

設置好以後執行syncthing運行,就能夠經過http://your_ip_addr:8384來進行訪問管理了,若是直接經過外網ip:端口訪問仍是沒法打開管理頁面,那就須要進行防火牆的設置開啓8384端口了:

iptables -I INPUT -p tcp --dport 8384 -j ACCEPT
service iptables save
service iptables restart
syncthing

再次打開http://your_ip_addr:8384就能看見管理頁面了

 
VPS上的管理頁面

 

能夠很明顯地看到一條警告信息,提醒咱們設置管理用戶及密碼,點擊「設置」,而後把「用戶名」和「密碼」填寫好,「使用加密鏈接到圖形管理頁面」這個是開啓HTTPS,按需勾選

 
設置頁面

 

同步

打開本地管理頁面http://127.0.0.1:8384/,而後點擊「添加遠程設備」將VPS添加到同步列表裏,其中「設備ID」須要在VPS的管理頁面打開「操做」--「顯示ID」查看,將ID複製到「設備ID」一欄中,「地址列表」默認使用dynamic便可,其餘按需修改

 
添加設備

 

保存以後咱們能夠在VPS端的管理頁面上看見鏈接請求


 
鏈接請求

添加成功後會有共享文件夾的提示


 
分享文件夾

爲了測試文件同步是否成功,我在本地同步路徑C:\Users\Administrator\Sync添加了一個文件ROR.txt,自動同步完成後能夠在VPS端管理頁面看到「最後接收的文件」顯示「已更新 ROR.txt」

 
同步成功

 

進階

在服務器上使用Syncthing能夠修改配置文件後使用外網進行訪問管理,本地端也能夠如法炮製,若是沒有外網IP則須要使用花生殼之類的進行映射,具體操做請移步Google :)

Syncthing有一些高級的功能前面沒有說起,例如每一個共享的文件夾均可以在「選項」內打開「高級設置」,進行一些設置,如開啓「版本控制」。

經過Syncthing共享的文件夾,被取消共享後,本地已經同步的文件也依然會存在。

除了本身使用,在小圈子內也是頗有利用價值,例如共享資源什麼的,不再用忍受各類網盤的龜速上傳下載以及刪資源啦!

擴展

以上只是簡單的安裝和設置步驟,還有不少內容沒有涉及到,例如開機啓動、忽略同步內容、命令行操做等等,具體請查看官方文檔,裏面有很是詳盡的教程。


謝謝閱讀(σ′▽‵)′▽‵)σ

相關文章
相關標籤/搜索