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.exe
會彈出一個黑框框,裏面會有一大堆信息,能夠不用管

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

本地的機器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
就能看見管理頁面了

能夠很明顯地看到一條警告信息,提醒咱們設置管理用戶及密碼,點擊「設置」,而後把「用戶名」和「密碼」填寫好,「使用加密鏈接到圖形管理頁面」這個是開啓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共享的文件夾,被取消共享後,本地已經同步的文件也依然會存在。
除了本身使用,在小圈子內也是頗有利用價值,例如共享資源什麼的,不再用忍受各類網盤的龜速上傳下載以及刪資源啦!
擴展
以上只是簡單的安裝和設置步驟,還有不少內容沒有涉及到,例如開機啓動、忽略同步內容、命令行操做等等,具體請查看官方文檔,裏面有很是詳盡的教程。
謝謝閱讀(σ′▽‵)′▽‵)σ