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共享的文件夾,被取消共享后,本地已經同步的文件也依然會存在。
除了自己使用,在小圈子內也是很有利用價值,例如共享資源什么的,再也不用忍受各種網盤的龜速上傳下載以及刪資源啦!
擴展
以上只是簡單的安裝和設置步驟,還有很多內容沒有涉及到,例如開機啟動、忽略同步內容、命令行操作等等,具體請查看官方文檔,里面有非常詳盡的教程。
謝謝閱讀(σ′▽‵)′▽‵)σ