本文作者:HelloGitHub-蔡文心
Hi,這是 HelloGitHub 推出的《講解開源項(xiàng)目》系列,今天給大家推薦一款開源文件同步工具——Syncthing
大家在工作和生活中應(yīng)該都遇到過(guò)文件同步或者文件上傳的問(wèn)題,一般都會(huì)使用微信、QQ 等通訊工具來(lái)處理這些問(wèn)題,但是微信和 QQ 畢竟屬于聊天工具,日常環(huán)境里用用還行,使用場(chǎng)景局限。一旦換了電腦、換了辦公室就容易導(dǎo)致文件丟失,支持的操作系統(tǒng)有限。
這時(shí)候有人會(huì)說(shuō):我可以用網(wǎng)盤呀。
可是 xx 云這類云盤的下載速度實(shí)在是太 … 忄… 曼 … 了。
xx 云:想快?給錢啊!
你,不,我們:
那么今天就給大家推薦一個(gè)好用、免費(fèi)、開源的文件同步工具,解決你傳輸文件時(shí)的需求!
一、介紹
Syncthing 是一個(gè) P2P 的文件同步工具,在 GitHub 上標(biāo)星高達(dá) 3.5 萬(wàn),這么受歡迎的開源項(xiàng)目快來(lái)一起把玩下吧!
1.1 P2P
首先簡(jiǎn)單介紹下 P2P 技術(shù)。一般下載文件有兩種方式 HTTP 和 FTP,這兩種方式都難以解決單一服務(wù)器的帶寬壓力,因?yàn)樗鼈兌际遣捎玫膫鹘y(tǒng)的客戶端服務(wù)器的方式。
P2P 就是 peer-to-peer,資源開始并不集中地存儲(chǔ)在某些設(shè)備上,而是分散地存儲(chǔ)在多臺(tái)設(shè)備上。這些設(shè)備我們稱為 peer。想要下載一個(gè)文件的時(shí)候,你只要得到那些已經(jīng)存在了文件的 peer,并和這些 peer 之間,建立點(diǎn)對(duì)點(diǎn)的連接,而不需要到中心服務(wù)器上,就可以就近下載文件。
1.2 跨平臺(tái)
Syncthing 支持非常多的平臺(tái),包括:
- Windwos
- macOS
- Android
- linux
- FreeBSD
- 群暉和威聯(lián)通等 NAS
- 在 IOS 上只有一個(gè)第三方客戶端 fsync
二、使用
2.1 下載安裝
首先需要在電腦和手機(jī)上安裝 Syncthing,大家請(qǐng)根據(jù)自己的電腦和手機(jī)系統(tǒng)進(jìn)行下載。
源碼下載地址:
https://github.com/syncthing/syncthing/releases安卓下載地址:google Play 搜索 Syncthing
mac 下載地址:
https://github.com/syncthing/syncthing-macos/releases
這里需要為華為手機(jī)的小伙伴補(bǔ)充一下,非花粉可以跳過(guò)
目前華為手機(jī)無(wú)法正常使用 Google Play 的小伙伴可以嘗試在瀏覽器中訪問(wèn) Google Play。然后在瀏覽器的擴(kuò)展商店中搜索 APK Downloader for Google Play Store 插件,可以幫助你在瀏覽器中從 Google Play 下載 apk。
2.2 開始
安裝成功后,打開瀏覽器訪問(wèn) http://127.0.0.1:8384/ 進(jìn)入 Syncthing


2.3 與手機(jī)關(guān)聯(lián)
在瀏覽器或者手機(jī)中選擇添加遠(yuǎn)程設(shè)備,比如在瀏覽器中點(diǎn)擊【操作】→【顯示 ID】

在手機(jī)上選擇【設(shè)備】→【+】

掃描瀏覽器中的二維碼,進(jìn)行添加。如果電腦和手機(jī)在同一局域網(wǎng)中,也就是手機(jī)連接 Wi-Fi,那設(shè)備發(fā)現(xiàn)速度會(huì)比較快,手機(jī)使用移動(dòng)數(shù)據(jù)的話發(fā)現(xiàn)速度會(huì)很慢需要等待幾分鐘,設(shè)備發(fā)現(xiàn)后在電腦上會(huì)出現(xiàn)確認(rèn)框確認(rèn)是否允許添加
在共享中可以選擇共享的文件夾

2.4 添加文件
此時(shí)已經(jīng)可以開始使用 Syncthing 了,它會(huì)在電腦中創(chuàng)建一個(gè)文件夾作為同步目錄

在手機(jī)中也是一樣

如果有文件被添加,則會(huì)同步至所有共享的設(shè)備
三、最后
在局域網(wǎng)情況下 Syncthing 的體驗(yàn)會(huì)好些,所以還是推薦手機(jī)連接 Wi-Fi 使用。Syncthing 不僅可以同步文件,也能夠?qū)ξ募A進(jìn)行忽略、僅發(fā)送、僅接受和版本控制等操作,還能夠接入多個(gè)設(shè)備。這些功能都可以在頁(yè)面中發(fā)現(xiàn)并自己嘗試。不用擔(dān)心用不來(lái),雖然 Syncthing 官網(wǎng)是英文的,但是在使用頁(yè)面是有中文的,并且翻譯得不錯(cuò)!
比起一些文件傳輸軟件要登錄、限制文件大小、要打開藍(lán)牙來(lái)說(shuō) Syncthing 是不是方便很多?如果喜歡這篇文章的話請(qǐng)給我點(diǎn)個(gè)贊吧,這是我堅(jiān)持下去的最大動(dòng)力!