文件共享軟件Dufs推薦
文件共享是個大衆需求,比如從家用路由器下載電腦上面的文件,手機訪問電腦上面的某個目錄,或者局域網內服分享一個大文件給設計組的同事等。這個時候一個命令啓動文件共享服務是個簡便的解決方案,dufs就是這樣一個小而美的軟件。
同類軟件較多,我最喜歡這個。Python2的 python -m SimpleHTTPServer
、Python3的 python3 -m http.server
也有其優勢,畢竟大部分Linux系統自帶,終端救急的時候非常有效。缺點是功能有限,性能較低,不支持文件上傳。dufs能提供靜態文件服務,支持文件上傳 、搜索、權限控制、目錄打包下載,甚至還支持webdav。
如果你曾經用Nginx搭建過靜態文件服務器,就一定能體會到上述特性很關鍵。不得不說,這個作者是懂用戶的。假設不支持上傳,文件內容來源受限;不能搜索,文件數量變多的時候,查找文件就是個災難;沒有權限控制,壞人會偷偷下載你磁盤裏面的敏感文件;目錄打包下載,另存爲的時候給自動生成個zip包,貼心小棉襖,webdav和Joplin配合也很好使。嫌棄默認webui不好看,還能定製UI,作者就是個懂王啊!
回到正題,安裝使用過程如下:
1. 安裝
Rust寫的直接cargo安裝:
1cargo install dufs
其它操作系統,可以直接去官方release頁下載安裝包。
2. 示例
- 只讀模式
1dufs
- 全功能模式
1dufs -A
- 只能上傳
1dufs --allow-upload
- 指定目錄
1dufs Downloads
- 單文件模式
1dufs linux-distro.iso
- 單頁應用模式,類似 react/vue
1dufs --render-spa
- 靜態站點,index文件爲 index.html
1dufs --render-index
- 開啓權限
1dufs -a /@admin:123
- 指定ip和端口
1dufs -b 127.0.0.1 -p 80
- 監聽在 unix socket上,這功能都有,服
1dufs -b /tmp/dufs.socket
- 開啓https
1dufs --tls-cert my.crt --tls-key my.key
更多高級示例請查看官方文檔。
也可以直接查看幫助
1➜ ~ dufs --help
2Dufs is a distinctive utility file server - https://github.com/sigoden/dufs
3
4Usage: dufs [OPTIONS] [serve_path]
5
6Arguments:
7 [serve_path] Specific path to serve [default: .]
8
9Options:
10 -b, --bind <addrs> Specify bind address or unix socket
11 -p, --port <port> Specify port to listen on [default: 5000]
12 --path-prefix <path> Specify a path prefix
13 --hidden <value> Hide paths from directory listings, separated by `,`
14 -a, --auth <rules> Add auth role
15 --auth-method <value> Select auth method [default: digest] [possible values: basic, digest]
16 -A, --allow-all Allow all operations
17 --allow-upload Allow upload files/folders
18 --allow-delete Allow delete files/folders
19 --allow-search Allow search files/folders
20 --allow-symlink Allow symlink to files/folders outside root directory
21 --allow-archive Allow zip archive generation
22 --enable-cors Enable CORS, sets `Access-Control-Allow-Origin: *`
23 --render-index Serve index.html when requesting a directory, returns 404 if not found index.html
24 --render-try-index Serve index.html when requesting a directory, returns directory listing if not found index.html
25 --render-spa Serve SPA(Single Page Application)
26 --assets <path> Use custom assets to override builtin assets
27 --tls-cert <path> Path to an SSL/TLS certificate to serve with HTTPS
28 --tls-key <path> Path to the SSL/TLS certificate's private key
29 --log-format <format> Customize http log format
30 --completions <shell> Print shell completion script for <shell> [possible values: bash, elvish, fish, powershell, zsh]
31 -h, --help Print help
32 -V, --version Print version
3.界面截圖
先啓動:
1➜ alacritty git:(master) dufs -b 127.0.0.1 -A
2Listening on http://127.0.0.1:5000/
界面截圖附加簡單文字說明
總的來說,dufs小巧強悍,簡單精煉。作者修復issues的速度也是驚人,我當天提的一個建議,就給回覆說明解決了,和Flask作者一樣,高效能人士!
最後修改於: Monday, August 28, 2023
版權申明:
- 未標註來源的內容皆為原創,未經授權請勿轉載(因轉載後排版往往錯亂、內容不可控、無法持續更新等);
- 非營利為目的,演繹本博客任何內容,請以'原文出處'或者'參考鏈接'等方式給出本站相關網頁地址(方便讀者)。
相關文章:
- Nginx webdav for Joplin
- Ubuntu安裝chrome的方法總結
- Snipe it資產導入
- 應用啓動器yofi使用配置
- Snipe it資產管理系統安裝使用
- Ubuntu開機啓動加速
- Ubuntu手動升級Libreoffice
- 簡體文章批量轉換爲繁體
- 使用Inkscape調整svg圖片大小
- 實用命令