前言
前幾天再找一個分享檔案的解決方案,透過將一堆照片放在資料夾裡面,希望有程式能夠將他列出來並分享給別人。而讓我突然找到這個 File Browser,雖然他不是我最後所採用的解決方案,但是他的易用性讓我覺得足夠寫一篇分享給有需要的人。
安裝方式
安裝方式很簡單,只需要一行即可。
curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash
開始使用
執行完就算安裝完了,接著執行以下命令就可以讓他開始運作。(後面為你所想要指定的目錄)
filebrowser -r /path/to/your/files
接著你就能在本機打開 http://localhost:8080
,你就能看到他了。預設帳號及密碼都是 admin
。
登入後,你就可以看到我們剛剛指定的目錄內容。(這裡範例指定為 /
)
選擇指定資料夾,可以向他人分享,並依自己喜好選擇要不要添加密碼。
在沒有登入的情況下,分享看起來會像是這樣。
在設定裡面,你也可以管理其他使用者。
細部設定
在你第一次啟動時,他會提示你沒有找到資料庫,所以他會在當前目錄下建立一個。你可以直接編輯文件或是透過指令來修改設定。
允許所有地方存取
在預設的情況下,他只能從本機的 http://localhost:8080
訪問。但是如果你想允許任何地方來訪問,可以使用這個命令:
filebrowser config set --address=0.0.0.0
甚至,如果你想要開放 IPv6,那也可以使用這樣的命令:
filebrowser config set --address=[::]
更改 Port 埠號
在預設的情況下,他會將服務開在埠號 8080
上,如果你想改變他,可以透過以下命令:
filebrowser config set --port=80
打包服務
我們現在是直接在終端機中執行他,這意味著退出時他就不會繼續運作了。因此,我們可以把他打包成服務,這樣我們就可以透過命令來控制他。
在 /etc/systemd/system
底下建立一個檔案 filebrowser.service
sudo vim /etc/systemd/system/filebrowser.service
貼上以下內容並適當更改(--root
代表指定的目錄,--database
代表資料庫的位置):
[Unit]
Description=File Browser
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/local/bin/filebrowser --root /path/to/your/files --database /path/to/your/filebrowser.db
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
完成後,輸入以下指令讓服務生效。
sudo systemctl daemon-reload
現在,我們可以透過命令來控制他了。
sudo systemctl start filebrowser # 啟動 File Browser
sudo systemctl stop filebrowser # 停止 File Browser
sudo systemctl restart filebrowser # 重新啟動 File Browser
sudo systemctl enable filebrowser # 開機時啟動 File Browser
sudo systemctl disable filebrowser # 開機時不啟動 File Browser