Syncthing: 一個在電腦之間同步檔案/檔案夾的私密安全同步工具

來源:互聯網
上載者:User

Syncthing: 一個在電腦之間同步檔案/檔案夾的私密安全同步工具
簡介

Syncthing是一個免費開源的工具,它能在你的各個網路電腦間同步檔案/檔案夾。它不像其它的同步工具,如BitTorrent Sync和Dropbox那樣,它的同步資料是直接從一個系統中直接傳輸到另一個系統的,並且它是完全開源的,安全且私密的。你所有的珍貴資料都會被儲存在你的系統中,這樣你就能對你的檔案和檔案夾擁有全面的控制權,沒有任何的檔案或檔案夾會被儲存在第三方系統中。此外,你有權決定這些資料該存於何處,是否要分享到第三方,或這些資料在互連網上的傳輸方式。

所有的資訊通訊都使用TLS進行加密,這樣你的資料便能十分安全地逃離窺探。Syncthing有一個強大的響應式的網頁管理介面(WebGUI,下同),它能夠協助使用者簡便地添加、刪除和管理那些通過網路進行同步的檔案夾。通過使用Syncthing,你可以在多個系統上一次同步多個檔案夾。在安裝和使用上,Syncthing是一個可移植的、簡單而強大的工具。即然檔案或檔案夾是從一部電腦中直接傳輸到另一電腦中的,那麼你就無需考慮向雲端服務供應商支付金錢來擷取額外的雲空間。你所需要的僅僅是非常穩定的LAN/WAN串連以及在你的系統中有足夠的硬碟空間。它支援所有的現代作業系統,包括GNU/Linux, Windows, Mac OS X, 當然還有Android。

 

安裝

基於本文的目的,我們將使用兩個系統,一個是Ubuntu 14.04 LTS, 一個是Ubuntu 14.10 server。為了簡單辨別這兩個系統,我們將分別稱其為系統1和系統2。

 

系統1細節:
  • 作業系統: Ubuntu 14.04 LTS server;
  • 主機名稱: server1.unixmen.local;
  • IP地址: 192.168.1.150.
  • 系統使用者: sk (你可以使用你自己的系統使用者)
  • 同步資料夾: /home/Sync/ (Syncthing會預設建立)

 

系統2細節:
  • 作業系統: Ubuntu 14.10 server;
  • 主機名稱: server.unixmen.local;
  • IP地址: 192.168.1.151.
  • 系統使用者: sk (你可以使用你自己的系統使用者)
  • 同步資料夾: /home/Sync/ (Syncthing會預設建立)

 

在系統1和系統2上為Syncthing建立使用者

在兩個系統上運行下面的命令來為Syncthing建立使用者以及兩系統間的同步資料夾。

  1. sudo useradd sk
  2. sudo passwd sk

 

為系統1和系統2安裝Syncthing

在系統1和系統2上遵循以下步驟進行操作。

從官方下載頁上下載最新版本。我使用的是64位版本,因此下載64位版的軟體包。

  1. wget https://github.com/syncthing/syncthing/releases/download/v0.10.20/syncthing-linux-amd64-v0.10.20.tar.gz

解壓縮下載的檔案:

  1. tar xzvf syncthing-linux-amd64-v0.10.20.tar.gz

切換到解壓縮出來的檔案夾:

  1. cd syncthing-linux-amd64-v0.10.20/

複製可執行檔"syncthing"到$PATH:

  1. sudo cp syncthing /usr/local/bin/

現在,執行下列命令來首次運行Syncthing:

  1. syncthing

當你執行上述命令後,syncthing會產生一個配置以及一些配置索引值,並且在你的瀏覽器上開啟一個管理介面。

輸入樣本:

  1. [monitor]15:40:27 INFO:Starting syncthing
  2. 15:40:27 INFO:Generating RSA key and certificate for syncthing...
  3. [BQXVO]15:40:34 INFO: syncthing v0.10.20(go1.4 linux-386default) unknown-user@syncthing-builder 2015-01-1316:27:47 UTC
  4. [BQXVO]15:40:34 INFO:My ID: BQXVO3D-VEBIDRE-MVMMGJI-ECD2PC3-T5LT3JB-OK4Z45E-MPIDWHI-IRW3NAZ
  5. [BQXVO]15:40:34 INFO:No config file; starting with empty defaults
  6. [BQXVO]15:40:34 INFO:Edit/home/sk/.config/syncthing/config.xml to taste oruse the GUI
  7. [BQXVO]15:40:34 INFO:Starting web GUI on http://127.0.0.1:8080/
  8. [BQXVO]15:40:34 INFO:Loading HTTPS certificate: open /home/sk/.config/syncthing/https-cert.pem:no such file or directory
  9. [BQXVO]15:40:34 INFO:Creatingnew HTTPS certificate
  10. [BQXVO]15:40:34 INFO:Generating RSA key and certificate for server1...
  11. [BQXVO]15:41:01 INFO:StartingUPnP discovery...
  12. [BQXVO]15:41:07 INFO:Startinglocal discovery announcements
  13. [BQXVO]15:41:07 INFO:Startingglobal discovery announcements
  14. [BQXVO]15:41:07 OK:Ready to synchronize default(read-write)
  15. [BQXVO]15:41:07 INFO:Device BQXVO3D-VEBIDRE-MVMMGJI-ECD2PC3-T5LT3JB-OK4Z45E-MPIDWHI-IRW3NAZ is"server1" at [dynamic]
  16. [BQXVO]15:41:07 INFO:Completed initial scan (rw) of folder default

Syncthing已經被成功地初始化了,網頁管理介面也可以通過瀏覽器訪問URL: http://localhost:8080。如上面輸入所看到的,Syncthing在你的home目錄中的Sync目錄下自動為你建立了一個名為default**的檔案夾。

預設情況下,Syncthing的網頁管理介面只能在本地連接埠(localhost)中進行訪問,要從遠程進行訪問,你需要在兩個系統中進行以下操作:

首先,按下CTRL+C鍵來終止Syncthing初始化進程。現在你回到了終端介面。

編輯config.xml檔案,

  1. sudo nano ~/.config/syncthing/config.xml

找到下面的指令:

  1. [...]
  2. <gui enabled="true" tls="false">
  3. <address>127.0.0.1:8080</address>
  4. <apikey>-Su9v0lW80JWybGjK9vNK00YDraxXHGP</apikey>
  5. </gui>
  6. [...]

在地區中,把127.0.0.1:8080改為0.0.0.0:8080。結果,你的config.xml看起來會是這樣的:

  1. <guienabled="true"tls="false">
  2. <address>0.0.0.0:8080</address>
  3. <apikey>-Su9v0lW80JWybGjK9vNK00YDraxXHGP</apikey>
  4. </gui>

儲存並關閉檔案。

在兩個系統上再次執行下述命令:

  1. syncthing

 

訪問網頁管理介面

現在,在你的瀏覽器上開啟http://ip-address:8080/。你會看到下面的介面:

網頁管理介面分為兩個窗格,在左窗格中,你應該可以看到同步的資料夾清單。如前所述,檔案夾default在你初始化Syncthing時被自動建立。如果你想同步更多檔案夾,點擊Add Folder按鈕。

在右窗格中,你可以看到已串連的裝置數。現在這裡只有一個,就是你現在正在操作的電腦。

 

網頁管理介面上設定Syncthing

為了提高安全性,讓我們啟用TLS,並且設定訪問網頁管理介面的管理使用者和密碼。要做到這點,點擊右上方的齒輪按鈕,然後選擇Settings

輸入管理員的帳戶名稱/密碼。我設定的是admin/Ubuntu。你應該使用一些更複雜的密碼。

點擊Save按鈕,現在,你會被要求重啟Syncthing使更改生效。點擊Restart。

重新整理你的網頁瀏覽器。你可以看到一個像下面一樣的SSL警告。點擊顯示我瞭解風險(I understand the Risks)的按鈕。接著,點擊“添加例外(Add Exception)“按鈕把當前頁面添加進瀏覽器的信任清單中。

輸入前面幾步設定的管理使用者和密碼。我設定的是admin/ubuntu。

現在,我們提高了網頁管理介面的安全性。別忘了兩個系統都要執行上面同樣的步驟。

 

串連到其它伺服器

要在各個系統之間同步檔案,你必須各自告訴它們其它伺服器的資訊。這是通過交換裝置IDs(device IDs)來實現的。你可以通過選擇“齒輪菜單(gear menu)”(在右上方)中的”Show ID(顯示ID)“來找到它。

例如,下面是我系統1的ID.

複製這個ID,然後到另外一個系統(系統2)的網頁管理介面,在右邊窗格點擊Add Device按鈕。

接著會出現下面的介面。在Device地區粘貼系統1 ID **。輸入裝置名稱(可選)。在地址地區,你可以輸入其它系統( LCTT 譯註:即粘貼的ID所屬的系統,此應為系統1)的IP地址,或者使用預設值。預設值為dynamic。最後,選擇要同步的檔案夾。在我們的例子中,同步資料夾為default**。

一旦完成了,點擊save按鈕。你會被要求重啟Syncthing。點擊Restart按鈕重啟使更改生效。

現在,我們到系統1的網頁管理介面,你會看到來自系統2的串連和同步請求。點擊Add按鈕。現在,系統2會要求系統1分享和同步名為default的檔案夾。

接著重啟系統1的Syncthing服務使更改生效。

等待大概60秒,接著你會看到兩個系統之間已成功串連並同步。

你可以在網頁管理介面中的Add Device地區核實該情況。

添加系統2後,系統1網頁管理介面中的控制視窗如下:

添加系統1後,系統2網頁管理介面中的控制視窗如下:

現在,在任一個系統中的“default”檔案夾中放進任意檔案或檔案夾。你應該可以看到這些檔案/檔案夾被自動同步到其它系統。

本文完!祝同步愉快!

噢耶!!!

  • Syncthing網站

via: http://www.unixmen.com/syncthing-private-secure-tool-sync-filesfolders-computers/

作者:SK 譯者:XLCYun 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

本文永久更新連結地址:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.