問題描述
1)我們需要和朋友共享文件、文檔,並且希望長期保存、隨時查找。使用 Samba 軟件,配置復雜,並且公網需要考慮安全問題;使用 QQ、WeChat 軟件,對於 Linux 用戶不友好,而且存在共享、空間、長期保存的問題;使用 FTP/SFTP 協議,需要安裝客戶端。
=> 解決方案的查找范圍鎖定在 第三方文件托管服務(百度雲盤)、或者自建文件托管服務(NextCloud)等等。我們選擇自建文件托管服務,主要還是費用問題(窮)。
2)我們希望使用電腦的方式來管理這些文件,比如直接播放視頻,直接打開圖片,直接編輯文件等等,就像直接操作電腦一樣。
3)我們希望平台更加透明,易於管理與遷移。所謂“透明”即平台直接管理操作系統的文件,而不是以特定方式封裝之后以組織在文件系統中。這樣我們既可以在平台中管理,也可以在操作系統的文件系統中直接管理。如果某天我們想要更換平台,或者平台不再維護,我們會更容易進行遷移。
解決方案
所以想找網頁版的文件管理器部署到服務器上,通過瀏覽器上傳到服務器,通過瀏覽器從服務器下載,並且能夠支持文件編輯。
目前(10/23/2020)GitHub/filebrowser/filebrowser 可以滿足我們的需求。由於它直接管理文件系統中的文件,因此即便不是最好的方案,我們也
功能特性
基於網頁版的文件管理器,使用 Go 語言開發。具有以下特性:
1) you can install it on a server, direct it to a path and then access your files through a nice web interface.
2) Easy login system
3) Manage your files through a sleek interface
4) Manage users, add permissions, set scopes
5) Edit your files, of course!
6) Execute custom commands
7) Customize your installation
暫時不具備的功能:在線預覽圖片縮略圖,圖片只有打開才能看見。更多其他的特性可以參考官方的文檔。界面UI可以查看官網
安裝方法
方法一、命令行安裝
curl -fsSL https://filebrowser.github.io/get.sh | bash
該命令會在 /usr/local/bin 下安裝 filebrower 命令。終端執行該命令會啟動 HTTP 服務,然后監聽一個端口(終端的輸出日志中會顯示端口號)。更多細節可以參考官方手冊。
方法二、下載二進制(推薦)
1)在 Release 中,下載二進制文件;
2)使用 filebrowser.service 管理服務;
3)使用 filebrowser.conf 反向代理;
卸載方法
如果使用上面方法一的命令安裝的,那直接刪除 /usr/local/bin/filebrower 命令就可以了。
因為 get.sh 腳本本質上就是從 GitHub 上下載已經編譯好的壓縮包然后到本地解壓。
服務配置
通過 filebrowser config 等等命令進行配置,參考 Command Line Interface 文檔。
但是,在配置前,需要先停止服務,才能執行配置命令。否則會返回如下錯誤:
# ./filebrowser config cat 2020/12/26 19:02:40 timeout
關閉登錄界面(即關閉認證)
Authentication Method - File Browser
filebrowser config set --auth.method=noauth
相關文章
「Linux」- 基於網頁的文件管理器(Web-based file manager)
參考文獻
GitHub/filebrowser/filebrowser
File Brower/Welcome
Command Line Interface - File Browser