Windows 上包裝 Syncthing 的 SyncTrayzor

在「SyncTrayzor is an open source Syncthing client for Windows」這邊看到有人將 Syncthing 包裝好,讓使用者在 Windows 上直接設定,而不需要另外開瀏覽器設定:

Syncthing is a popular peer-to-peer file sharing/synchronization software. It uses a web GUI which can be a little confusing for beginners. SyncTrayzor is an open source client that makes the P2P tool more user-friendly.

Syncthing 比較特別的觀念就是每一台都要設定允許其他台分享 (通常是這樣)。假設你有四台 Syncthing 要設定,每一台都要設定允許其他三台的分享。

不過也可以有其他的設計,像是你可以在 VPS hosting 上租一台空間很大的機器,然後其他機器都只對 VPS 這台機器同步,這樣就比較像有中央 server 的架構。

對於有多電腦的人還蠻好用的東西...

Dropbox 免費版限制三個裝置更新...

Dropbox 決定限制免費版的裝置數量,最多只能有三個裝置同步:「Dropbox adds three-device limit for free users」,對應的頁面是「Is there a limit to the number of devices I can link to my account?」。

既有的裝置不受限,但無法再增加:

If you're a Basic user and you linked more than three devices prior to March 2019, all of your previously linked devices will remain linked, but you can’t link additional devices.

另外一個選擇是付費版,最低是 1TB USD$9.99/month (年繳是 USD$99/year)。

看起來像是養肥了要殺,不過這個領域相關的技術應該是夠成熟,而且也不會用到什麼特別的功能,應該會去看看其他平台的情況,像是 SyncpCloud

其中 Sync 有免費版 (空間限制 5GB,付費版 500GB USD$49/year),不過官方不支援 Linux,有人用 Wine 跑過,但據說穩定性與效能都不太好:「Sync.com in Linux」。

pCloud (500GB EUR$47.88/year) 也是剛剛提到在 Linux 上跑 Sync 的人後來測試的服務,官方有支援 Linux (看起來是透過 AppImage 包裝),也許可以測試看看。

另外一個是自己一直都有在用的 Syncthing,不過設定同步的操作上只有 web interface,而且因為是信任架構,需要多台互相設定,沒那麼方便...

Syncthing 發行 1.0.0 版

Syncthing 是一個檔案分享軟體,如果要說類型的話,可以看作是 Dropbox 的 open source 版本,找台便宜的 VPS 主機就可以架起來丟著 (挑個空間夠大的 OpenVZ instance)。

官方在前幾天宣佈推出 1.0.0 了:「Syncthing graduation day」。會推出主要的原因是現在的版本其實夠穩定,就不要因為 0.x 版而造成使用者誤解了 (這邊應該是在講因為 Semantic Versioning 的流行,0.x 版會給人不穩定的印象):

As much as a version number means anything at all, a “major zero” version number means that you can expect breakage. This is not what we want to communicate. Especially, it’s not the mindset that we should have towards our users. Hence Syncthing is now graduating from being in perpetual beta to being actual release software, yet the journey of development continues.

來把手上的機器都升級上去...

拿 Openvirtuals 的主機跑 Syncthing...

Low End Box 上逛到的主機商 Openvirtuals,在 LEB 上看到的優惠已經沒了,但點進去後看到 Buffalo 的主機年繳有 50% off,加上硬碟空間又大,就決定弄一台玩玩...

SSD-CACHED 的 Mini 是 256MB RAM + 512MB vSwap 以及 90GB 空間,要 USD$16/year,而 Standard 的都是兩倍,但只要 USD$20/year,就決定買 Standard 了...

後台的功能比想像中完整,這是系統資訊與狀態的畫面,功能其實不比 DigitalOcean 差 (不過畫面就普普通通了):

裝了 Ubuntu 14.04 64bits 跑,不過 Linux kernel 偏舊了點,是 2.6.32,查了一下維基百科上的資料,應該是 2009 年底的版本,是目前唯一一個 2.6 上有繼續維護的版本:

Linux two 2.6.32-042stab108.2 #1 SMP Tue May 12 18:07:50 MSK 2015 x86_64 x86_64 x86_64 GNU/Linux

網路的部份,實際測試時發現不是很穩定,HiNet 過去有時候會有不低的 packet loss,可能是中間有線路因為 DDoS 造成不穩定。

反正只是要跑 Synthing 也還好,就先這樣丟著... 上面順便跑個 rtorrent 幫忙 Ubuntu 分擔 ISO Image。

用 Syncthing 同步檔案 (取代 Dropbox 與 BitTorrent Sync)

最早的時候是用 Dropbox 同步檔案,但 Dropbox 的空間有限,加上有不少隱私疑慮,後來只拿他放一些簡單的東西... (像是「世界迷霧」的匯入功能)

然後前陣子則是用 BitTorrent Sync,不過 Sync 2.0 版強制要 trial:「Disable Pro Trial In Sync 2.0?」,後來就決定找替代品了。

這次找的替代品是用 Go 寫的 Open Source 的方案:Syncthing,常用的幾個平台都有支援,包括 Windows、Mac 以及我自己平常用的桌機環境 Linux

先講概念性的部份,Syncthing 的架構與其他同步軟體不太一樣,最大的差異在於兩邊都需要輸入 Device ID 才能建立連線。另外目前 GUI 的部份只有支援 WebUI,像這樣:

在安全性的部份,Syncthing 則是使用 3072 bits 的 RSATLS 1.2 建立連線,Device ID 則是用 Public Key 產生出 SHA-256 的值再用 Base32 表示 (所以看起來很長)。(參考「Understanding Device IDs」以及「Block Exchange Protocol v1」)

也因為使用 TLS 1.2,所以傳輸時必須有一邊是可以接受連線的,而 Syncthing 目前有支援 UPnP,所以大多數家用的 NAT 環境應該是沒問題。

安裝的部份,Ubuntu 可以透過 APT 安裝並且跟著更新,Windows 目前看起來是把 zip 抓下來丟著比較麻煩一點,不過還可以接受。

另外常見到的功能是希望開機時自動啟動。可以參考官方寫的「Starting Syncthing Automatically」這篇,令外 Windows 上可以參考「SyncthingTray」這個工具。

大約用了一個禮拜,目前用起來還不錯...