摘要訊息 : 如果閣下難以選擇使用什麼樣的私有雲軟體, 那麼請參考這篇文章.

0. 前言

我們曾在 《Seafile OwnCloud NextCloud 私有云软件比较》中比較過 Seafile, Nextcloud 和 ownCloud 這三個私有雲軟體. 這篇文章寫於 2017 年, 顯得有點過時, 並且當時對三款軟體的調查不是特別細緻.

在這篇文章中, 我們將了解更多的私有雲軟體. 另外, 我們還會對 Seafile 和 Nextcloud 進行更詳細地對比. 對於 ownCloud, 我們不再將其納入對比. 儘管 ownCloud 目前針對社區是有免費版本的, 但是它僅僅支援單個使用者, 而且它是由 Nextcloud 團隊編寫的 (Nextcloud 團隊將 ownCloud 出售後, 創立了 Nextcloud).

1. 私有雲軟體列表

在本節中, 我將列出絕大多數可以自建的私有雲軟體, 大家可以根據自己的實際需要選取適合的軟體自建私有雲 (直接點擊軟體的名稱就可以到達軟體的官方網站進行了解或者下載).

1.1 同步型

同步型的私有雲軟體是指使用者在任意裝置上載檔案或者修改私有雲中的檔案之後, 其它裝置同步地可以看到.

軟體 介紹 開源協定 程式設計語言
Git Annex 在伺服器, 電腦甚至外部裝置中進行同步 GPL-3.0 Haskell
Kinto 極簡 JSON 儲存服務 Apache-2.0 Python
myDrive 通過 WEB 在線儲存 GPL-3.0 Node.js
Nextcloud 從任何裝置訪問和共享檔案, 日曆, 聯絡人和電子郵件等 AGPL-3.0 PHP
OpenSSH SFTP Server 以安全著稱的檔案傳輸程式 BSD-2-Clause C
ownCloud 檔案, 日曆和地址簿等多合一私有雲解決方案 AGPL-3.0 PHP
Peergos 安全私密的私有雲, 還包括了日曆, 新聞提要, 任務列表, 聊天和電子郵件客戶端 AGPL-3.0 Java
Pydio 主流雲的替代方案 AGPL-3.0 Go
Samba 為 SMB/CIFS 協議的所有客戶端提供安全、穩定和快速的文件和打印服務 GPL-3.0 C
Seafile 團隊和組織的檔案託管和共享解決方案 GPL-2.0/GPL-3.0/AGPL-3.0/Apache-2.0 (不同軟體的協定不同) C, Python
SparkleShare 即時且安全的檔案同步 GPL-3.0 C#
Syncany 安全地在任意裝置上進行檔案同步 GPL-3.0 Java
Syncthing 點對點檔案同步 MPL-2.0 Go
Unison 在不同作業系統上進行檔案同步 GPL-3.0 OCaml
Z-Push 基於微軟 ActiveSync 協定 AGPL-3.0 PHP

1.2 對象存儲及檔案服務器型

軟體 介紹 開源協定 程式設計語言
Minio 與 Amazon S3 APIs 相容的對象存儲 Apache-2.0 Go
SeaweedFS 支援 WebDAV, S3 API, FUSE mount, HDFS 等的分布式檔案系統 Apache-2.0 Go
SFTPGo 支援 FTPS 和 WebDAV 的 SFTP 伺服器 AGPL-3.0 Go
Zenko CloudServer 支援 Amazon S3 協定的雲伺服器 Apache-2.0 Node.js

1.3 對等網路檔案分享型

軟體 介紹 開源協定 程式設計語言
bittorrent-tracker 簡單且強大的 BitTorrent 客戶端與伺服器 MIT Node.js
cloud-torrent 帶有 HTTP 檢索和流傳輸的 Torrent 網頁客戶端 AGPL-3.0 Go
Dat Project 分散式檔案共享程式 MIT Node.js
exatorrent 支援 HTTP 流傳輸的伺服器 GPL-3.0 Go
FilePizza 使用你自己的瀏覽器進行對等網路檔案分享 BSD-3-Clause Node.js
instant.io 支援網頁的流傳輸軟體 MIT Node.js
Magnetico 自託管的 BitTorrent DHT 搜尋引擎套件 AGPL-3.0 Python
Magnetissimo Torrent 搜尋引擎 MIT Elixir
Opentracker 可以在 WLAN 路由器上運作的 BitTorrent 跟蹤器 Beerware C
peerflix-server Torrent 下載程式 MIT Node.js
qBittorrent 跨裝置的 BitTorrent 客戶端 GPL-2.0 C++
rartracker 私用 BitTorrent 跟蹤器 WTFPL PHP
Send 簡單且隱密的臨時檔案共享程式 MPL-2.0 Node.js
Torrents.csv 可自建的 Torrent 搜尋引擎 GPL-3.0 Rust
Transmission 簡單的 BitTorrent 客戶端 GPL-3.0 C

1.4 拖拽上載/點擊下載型

軟體 介紹 開源協定 程式設計語言
ass 支援跨裝置的自建 ShareX 伺服器 ISC Node.js
BoZoN 極簡的拖放檔案共享程式 AGPL-3.0 PHP
Chibisafe 超快的檔案上載器 MIT Node.js
Coquelicot 注重隱私保護的一鍵式檔案共享程式 AGPL-3.0 Ruby
elixire 簡單的圖像上載和連結縮短服務 AGPL-3.0 Python
fibridge 無需上載的瀏覽器流式大檔案傳輸軟體 MIT Rust
File Sharing 自建的臨時檔案共享程式 GPL-3.0 PHP
FileShelter 自建的檔案共享程式 GPL-3.0 C++
FireShare 訂閱式的實時檔案共享系統 MIT Node.js
Gokapi 輕量級的臨時檔案共享程式 GPL-3.0 Go
goploader 通過伺服器端加密共享檔案 MIT Go
image-uploader 相容於 ShareX 的圖像上載器 AGPL-3.0 PHP
imgpush 自建的檔案上載服務, 可容易地集成到其它程式中 MIT Python
Jirafeau 簡單地檔案上載程式 AGPL-3.0 PHP
Kleeja 檔案上載和共享應用程式 GPL-2.0 PHP
linx-server 簡單地檔案共享程式 GPL-3.0 Go
lufi 客戶端加密的上載器 AGPL-3.0 Perl
lutim 圖像上載器 AGPL-3.0 Perl
OnionShare 匿名且安全地分享任意大小的檔案 GPL-2.0 Python
PictShare 多語言的圖像託管服務 Apache-2.0 PHP
Plik 可擴展的臨時檔案上載系統 MIT Go
Pomf 簡單的檔案上載和共享 MIT PHP
ProjectSend 上載檔案並且共享給特定的客戶端 GPL-2.0 PHP
PsiTransfer 自託管檔案共享系統 BSD-2-Clause Node.js
Pste 簡單的檔案託管程式 GPL-3.0 Python
QuickShare 在不同裝置之間快速分享檔案 LGPL-3.0 Go
Share 簡單而高級的檔案上載器 MIT Node.js
Sharry 具名或者匿名地分享檔案 GPL-3.0 Scala, Java
transfer.sh 使用指令分享檔案 MIT Go
Uguu 帶有過期自刪除的檔案儲存系統 MIT PHP
Up1 客戶端加密的圖像託管系統 MIT Node.js
Void 輕便快捷且支援 ShareX 的自建檔案儲存程式 MIT Node.js
Web-File-Uploader 簡單的檔案分享程式 MIT Node.js
XBackBone 輕量級的檔案管理器 AGPL-3.0 PHP
YouTransfer 簡單的檔案傳輸和共享程式 Apache-2.0 Node.js
Zipline 快速可靠的檔案共享伺服器 MIT Node.js

1.5 網頁檔案管理器

軟體 介紹 開源協定 程式設計語言
Apaxy 增強的網頁檔案瀏覽主題 GPL-3.0 HTLM
DirectoryLister PHP 目錄列表器 MIT PHP
explorer 高度可配置的檔案列表程式 MIT Node.js
filebrowser 帶有 Material Design 的網頁檔案瀏覽器 Apache-2.0 Go
FileGator 多使用者的檔案管理器 MIT PHP
Filestash 支援外部裝置的網路檔案管理器 AGPL-3.0 Go
goBrowser 簡單的網頁檔案瀏覽器 GPL-3.0 Go
Gossa 輕量級的網頁檔案管理器 MIT Go
h5ai 現代的網頁檔案管理器 MIT PHP
IFM 單個指令碼檔案管理器 MIT PHP
ResourceSpace 數字資產管理軟體 BSD-4-Clause PHP
s3server 支援外部裝置的簡單檔案管理器 MIT Go
Surfer 帶有佈景主題的靜態檔案伺服器 MIT Node.js
TagSpaces 帶有筆記且離線可跨裝置的檔案管理器及組織器 AGPL-3.0 JavaScript
updog 支援身分認證的檔案管理器 MIT Python

2. Seafile vs. Nextcloud

上面這些和檔案管理有關的私有雲軟體我也用過一些, 不過還是感覺 Seafile 和 Nextcloud 更勝一籌, 功能更多. 不過, 對於 Seafile 和 Nextcloud, 我個人傾向於 Nextcloud. 因為 Nextcloud 的功能多一些, 且佈景主題更符合我的審美.

接下來, 我們用表格對這兩個私有雲軟體進行比較.

特性 Nextcloud Seafile 備註
跨裝置同步/客戶端 都支援 macOS, Windows, Linux, iOS 和 Android
流動裝置支援 都支援 iOS 和 Android 的流動裝置
掛載為本地硬碟
檔案共享 Nextcloud 支援分享連結和內部連結 (僅針對有權限存取資料夾的使用者生效), 沒有加密和設定過期時間的特性; Seafile 不但支援分享連結和內部連結, 還支援加密和設定過期時間, 分享還支援僅預覽但不可下載.
權限控制 Nextcloud 需要去應用商店下載並且啟用權限控制套件
資料庫鏡像 Nextcloud 本身沒有提供, 但是可以通過 Docker 或者其它方式手動完成
檔案鎖定
在線編輯 都支援 Markdown 和文本檔案在線編輯, Office 系列需要配置 CollaboraOffice 或者 OnlyOffice. Seafile 針對 Office 在線編輯還可以選擇配置 LibreOffice.
協同編輯 需要 CollaboraOffice 或者 OnlyOffice 支援. Seafile 還可以選擇 LibreOffice 支援.
日誌 都支援多等級的日誌
雙重驗證
遠端刪除 不明白遠端刪除的意義, 如果是在客戶端刪除檔案的話, Nextcloud 是支援的.
病毒掃描 都需要額外的防毒軟體支援
檔案夾上載
子檔案夾存取權限控制
資料清理 Nextcloud 可以通過自動或者手動的方式清理垃圾桶中的無用資料; Seafile 由專門的指令碼來清理無用資料.
全文搜尋 Nextcloud 需要去應用商店下載全文搜尋的套件並且啟用
訪客帳戶 Nextcloud 可以通過建立公共使用者來實現
登陸短信驗證 Nextcloud 目前僅支援雙重認證
收藏夾
評論
標籤
外部儲存 Nextcloud 支援將 FTP 和 WebDAV 的空間掛在到雲上
定製 Nextcloud 可以編寫自己的套件並且上載到應用商店 (例如上面的短信驗證就可以通過自行編寫套件來實作).
只寫上載 不明白其定義
SharePoint 集成 Nextcloud 官方沒有提供教學, 但是網路上有相應的教學可以參考.
保留文件 不明白其定義
檔案所有權轉讓 Nextcloud 可以通過分享連結將檔案進行轉存, 或者通過控制台中的分享直接分享到指定的使用者
通知
應用商店
使用者管理
日曆
通訊錄
圖像視頻預覽
分塊上載 斷點傳續都是支援的. Nextcloud 本身是分塊非加密儲存的; Seafile 本身是分塊加密儲存的.
大檔案支援
Outlook 支援 Nextcloud 需要去應用商店下載套件並啟用
檔案對外隱藏
檔案標記
模擬身分
訪客功能 Nextcloud 的未登錄者可以通過分享連結進行預覽或者下載
檔案完整性檢查
密碼策略
指令碼支援
伺服器監控 Nextcloud 在伺服器出現問題的時候可以在控制台中看到報告, 還可以看到 CPU/記憶體/硬碟和用戶的使用量; Seafile 僅支援用戶行為監控.
視訊通話/語音通話
收藏夾搜尋
標籤搜尋
配額管理
配額計費
聊天 目前暫時沒有看到 Nextcloud 有套件可以支援聊天或者對話
伺服器間共享 可以直接通過分享連結轉存到其它 Nexctcloud 伺服器上
群組
高可用支援/集群支援
LDAP/AD 集成 Nextcloud 需要去應用商店下載套件並且啟用
WebDAV/FUSE 集成
AWS S3/Ceph 支援
專業版免費額度 3 目前沒有看到 Nextcloud 有專業版的免費額度限制, 官方為 100 使用者及其以上的企業提供付費支援 (有不同的價目表); Seafile 專業版本可以有三個免費的使用者, Seafile 社區版沒有使用者數量限制
多語言 都支援幾十種語言. Nextcloud 將正體中文本地化為香港中文和台灣中文; Seafile 沒有對正體中文本地化.
被分享者權限 Nextcloud 不支援被分享者進行下載或者轉存之外的操作 (支援在線編輯的檔案除外); Seafile 支援僅預覽, 預覽和下載, 檔案夾支援被分享者進行上載和下載.
斷點傳續
檔案版本
檔案加密 Nextcloud 支援伺服器端加密; Seafile 的檔案在上載時就已經被拆分並且加密.
通告 Nextcloud 支援多種事件又郵件或者內部推送進行通告; Seafile 僅支援使用全站大橫幅進行通告 (見最後一行).
高對比度模式
暗黑模式
閱讀困難症模式
自動更新
外部監控 Nextcloud 控制台-[系統] 中提供了外部監控的 API
Redis 支援
Memcached 支援
Wiki
機構
管理員全站通知