惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
G
Google Developers Blog
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
S
SegmentFault 最新的问题
宝玉的分享
宝玉的分享
博客园 - Franky
博客园_首页
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
月光博客
月光博客
博客园 - 聂微东
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
小众软件
小众软件
Microsoft Security Blog
Microsoft Security Blog
Last Week in AI
Last Week in AI
Vercel News
Vercel News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
爱范儿
爱范儿
J
Java Code Geeks
博客园 - 叶小钗
Engineering at Meta
Engineering at Meta
阮一峰的网络日志
阮一峰的网络日志

mephisto.cc

修复rime-ice无法弹出候选框的问题 开机滚动字体显示优化 个人网站安全防护 树莓派上部署Vaultwarden 使用goaccess实时分析Caddy日志 个人网站监控 Hugo全站AVIF记 Linux下尝试使用Godot开发小游戏 Arch linux dae 透明代理 Airflow接管galler-dl下载任务 如何使用gallery-dl批量下载图像 Arch核显下如何愉快玩Dota2和CS2 Arch/labwc 环境网络相关设置 Rime添加dota2词库 Arch 重装记录 Supertuxkart iOS版终于发布了 打造自己的流媒体音乐服务 剪切板管理工具clipcat推荐 MangoHud性能监控 微信小程序开发记 Rofi试用 解决Arch下VSCode无法输入中文的问题 独立窗口管理器下无法录屏问题处理 上海市二手房成交数据监控 OpenLDAP监控 Arch linux如何顺畅连接蓝牙设备 使用Git和Ansible管理配置文件 Arch Linux SSL VPN 客户端配置 简单获取celery任务实时结果 Arch linux下iNode客户端的安装和使用方法
文件共享软件Dufs推荐
2023-06-06 · via mephisto.cc

文件共享是个大众需求,比如从家用路由器下载电脑上面的文件,手机访问电脑上面的某个目录,或者局域网内服分享一个大文件给设计组的同事等。这个时候一个命令启动文件共享服务是个简便的解决方案,dufs就是这样一个小而美的软件。

同类软件较多,我最喜欢这个。Python2的 python -m SimpleHTTPServer 、Python3的 python3 -m http.server 也有其优势,毕竟大部分Linux系统自带,终端救急的时候非常有效。缺点是功能有限,性能较低,不支持文件上传。dufs能提供静态文件服务,支持文件上传 、搜索、权限控制、目录打包下载,甚至还支持webdav。

如果你曾经用Nginx搭建过静态文件服务器,就一定能体会到上述特性很关键。不得不说,这个作者是懂用户的。假设不支持上传,文件内容来源受限;不能搜索,文件数量变多的时候,查找文件就是个灾难;没有权限控制,坏人会偷偷下载你磁盘里面的敏感文件;目录打包下载,另存为的时候给自动生成个zip包,贴心小棉袄,webdav和Joplin配合也很好使。嫌弃默认webui不好看,还能定制UI,作者就是个懂王啊!

回到正题,安装使用过程如下:

1. 安装

Rust写的直接cargo安装:

其它操作系统,可以直接去官方release页下载安装包。

2. 示例

  • 只读模式
  • 全功能模式
  • 只能上传
  • 指定目录
  • 单文件模式
  • 单页应用模式,类似 react/vue
  • 静态站点,index文件为 index.html
  • 开启权限
  • 指定ip和端口
  • 监听在 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

总的来说,dufs小巧强悍,简单精炼。作者修复issues的速度也是惊人,我当天提的一个建议,就给回复说明解决了,和Flask作者一样,高效能人士!