文件共享软件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图片大小
- 实用命令