1. 程式人生 > >【轉】Syncthing的安裝與使用

【轉】Syncthing的安裝與使用

-a entos 屬於 apt google ror 選擇 用戶名 找到

Syncthing的安裝與使用

無論辦公、文件共享、團隊協作還是家庭照片、視頻、音樂、高清電影的存儲,我們常常都有文件同步和存儲的需求。但隨著國內各大網盤的花式陣亡或限速,早已沒什麽好選擇了。

除了轉戰 Office365 (OneDrive) 或 番·羽·土·嗇 用 Dropbox、Google Drive 以外,個人認為最靠譜的還是利用 VPS、NAS 或自己的電腦搭建私有同步網盤了!不僅速度快空間足,最重要是所有數據都能握在自己手中不受別人限制幹涉。而今天推薦的 Syncthing 可能正是這類工具中的最佳選擇……

靠譜的 VPS 雲服務器推薦

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

自建網盤雲儲存同步服務的軟件有很多,異次元就推薦過 Seafile、NextCloud、ownCloud、BT Sync (Resilio Sync) 等。而 Syncthing 則有著自己非常特別的優點,受到眾多高手們的推薦,被譽為是 Resilio Sync / BT Sync 和 Dropbox 的最佳開源替代品。

技術分享圖片

Syncthing 最大的特色是采用了與 Resilio Sync (BitTorrent Sync) 類似的 P2P 分布式技術,無需中心服務器,即可讓多臺設備互相實時同步文件,用過 Resilio Sync 的朋友都明白這種同步方式的優勢了。它們兩者的實現方式很相似,區別是 Resilio 屬於商業軟件,需付費使用,在國內也已被土·嗇,而 Syncthing 不僅完全免費且開源,相比 Resilio 還增加了「文件版本控制

」、「單向同步」等堪稱殺手級的功能特性。

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

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

免費、開源、跨平臺

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

技術分享圖片

得益於跨平臺,Syncthing 的應用場景和範圍非常廣泛,可以簡單用來備份手機照片視頻文檔,也可以滿足公司、企業、團隊、個人的各種復雜的文件/文件夾的同步與共享需求。

技術分享圖片

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

綠色免安裝,使用簡單!

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

每臺設備都會被分配到一個獨立的設備 ID 標識 (一長串的字符),在菜單 "操作"->“顯示 ID” 裏可以找到。

技術分享圖片

技術分享圖片

用戶可點擊“添加遠程設備”,輸入其他設備的 ID 來配對 (互相添加對方為可同步設備),然後就可以設定需要同步的文件夾,讓它們在這些設備之間互相同步文件了。

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

由於綠色免安裝,因此 Syncthing 使用上非常方便!你可以根據需要長期保持 Syncthing 運行時刻監視文件變化並進行同步,也可以僅在需要同步的時候才手動去啟動它,平時完全關閉不占用任何系統資源,這取決於你的使用需求。

默認情況下,Windows 版的 Syncthing 啟動後會彈出一個命令行窗口一直保持在那裏,想要常駐後臺時刻同步就得忍受它的存在,有點煩人。為此,Syncthing 官方還提供了一個圖形界面版的「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 7 32bit
  • CentOS 6 64bit
  • Syncthing Core Windows 32 bit
  • Syncthing Core Linux 64 bit

安裝

先從官網下載好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共享的文件夾,被取消共享後,本地已經同步的文件也依然會存在。

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

擴展

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

  • 官方文檔
  • 開機自啟動
  • 命令行操作

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

【轉】Syncthing的安裝與使用