Duf 是一款简单的文件服务器, 支持静态文件伺服、上传、下载、webdav 云盘... - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
sigoden
V2EX    分享创造

Duf 是一款简单的文件服务器, 支持静态文件伺服、上传、下载、webdav 云盘...

  •  2
     
  •   sigoden 2022 年 6 月 6 日 6607 次点击
    这是一个创建于 1386 天前的主题,其中的信息可能已经有所发展或是发生改变。

    demo

    特性

    • 静态文件伺服
    • 下载目录为 zip 文件
    • 上传文件 /目录 (支持拖拽)
    • 搜索
    • 并发下载,断续下载
    • 权限保护
    • 支持 https
    • 支持 webdav
    • 方便 curl 调用

    用 Rust 编写,单可执行文件,跨平台

    其他

    项目地址: https://github.com/sigoden/duf

    31 条回复    2024-08-18 09:16:48 +08:00
    vip1024
        1
    vip1024  
       2022 年 6 月 6 日
    非常不错,体验很好!
    hnbcinfo
        2
    hnbcinfo  
       2022 年 6 月 6 日
    这个好,最近正在找一个,这种简单方便的静态资源项目。感谢
    ifoolish
        3
    ifoolish  
       2022 年 6 月 6 日 via iPhone
    试试。之前简单的需求都用 darkhttp
    makelove
        4
    makelove  
       2022 年 6 月 6 日
    不错。duf 似乎哪里听到过,一搜原来是 https://github.com/muesli/duf
    boko
        5
    boko  
       2022 年 6 月 6 日 via Android   1
    http://iscute.cn/chfs
    之前用过类似的 chfs
    diegozhu
        6
    diegozhu  
       2022 年 6 月 6 日
    支持 ipv6 不?
    gesse
        7
    gesse  
       2022 年 6 月 6 日
    项目看着不错,如果是简单的文件下载一下,可以
    ```
    python3 -m http.server 8080
    ```
    Acoffice
        8
    Acoffice  
       2022 年 6 月 6 日
    建议支持常规文件的在线预览以及指定目录的功能
    supermoonie
        9
    supermoonie  
       2022 年 6 月 6 日
    启动命令: duf --allow-all --path-prefix duf -a user:pwd /public/static/
    nginx 配置:location /duf { proxy_pass http://127.0.0.1:5000/duf; }
    访问链接: http://example.com/duf
    通过上面的链接访问,content-type 为 application/octet-stream ,直接把 index.html 下载下来了
    Davic1
        10
    Davic1  
       2022 年 6 月 6 日
    in rust, nice
    sigoden
        11
    sigoden  
    OP
       2022 年 6 月 6 日
    @diegozhu 下一次发布会支持 ipv6

    @supermoonie 当前默认页面返回时是没有 content-type 头的,返回 content-type: application/octet-stream 很奇怪的。下一个版本会添加 content-type: text/html ,但不确定会不会修复你说的问题

    @Acoffice 预览引入太多复杂性了,现在的前端页面是纯原生没有任何依赖的。一些常规文件比如文本,视频等浏览器是能打开的,对多数人来说够用了。不明白你说的指定目录时什么意思。
    Acoffice
        12
    Acoffice  
       2022 年 6 月 6 日
    @sigoden #11 常规的预览,目前差不多都有现成的 js 可用.
    指定目录这个 pass 把,一开始没看到 `path`参数 /尴尬
    supermoonie
        13
    supermoonie  
       2022 年 6 月 6 日
    @sigoden 返回 content-type: application/octet-stream 是因为 nginx 配置的默认 content-type ,因为我看你代码里没有设置 content-type ,应该是 nginx 默认处理成 application/octet-stream 了。你加一下请求头,完了我再试一下
    littlewing
        14
    littlewing  
       2022 年 6 月 6 日
    跟 filebrowser 和 h5ai 相比,优势是什么?
    AlisaDestiny
        15
    AlisaDestiny  
       2022 年 6 月 6 日
    老哥写 Rust 哪个 IDE 比较好用
    vinsa
        16
    vinsa  
       2022 年 6 月 6 日
    真不错
    bbis
        17
    bbis  
       2022 年 6 月 6 日
    已加星。
    sigoden
        18
    sigoden  
    OP
       2022 年 6 月 6 日
    @Acoffice 很多场景和用户并不需要预览,目前不打算提供。前端 js 原则上倾向于维持原生,暂不会引入任何第三方依赖。

    @littlewing 文件服务有很多,选个满足需求的就行。

    @AlisaDestiny vscode + rust-analyzer
    40EaE5uJO3Xt1VVa
        19
    40EaE5uJO3Xt1VVa  
       2022 年 6 月 7 日
    两个 Linux 版本的打包都是 musl 的,有没有常规的 glibc 的
    xs25lHjIQM9oq0a4
        20
    xs25lHjIQM9oq0a4  
       2022 年 6 月 7 日 via Android
    aList 似乎更牛逼些
    sigoden
        21
    sigoden  
    OP
       2022 年 6 月 7 日
    更新了一个版本

    @yanzhiling2001 glibc 会有兼容性问题,比如现在 github-ci ubuntu-latest (20.04) 生成的可执行文件就没法再 ubuntu 18.04 上运行。
    hanguofu
        22
    hanguofu  
       2022 年 6 月 7 日
    谢谢分享,预览的功能我也觉得没什么必要。
    fwindcore
        23
    fwindcore  
       2022 年 6 月 7 日
    不错啊,挺方便的,比`npx http-server`好用
    siweipancc
        24
    siweipancc  
       2022 年 6 月 7 日 via iPhone
    这个不错,可视化
    molezznet
        25
    molezznet  
       2022 年 6 月 7 日
    star watch 了, 好用,webdav ,cli 都支持真是方便,等 v6 的
    ydongd
        26
    ydongd  
       2022 年 6 月 9 日
    哈哈,引个流。像百度网盘的网盘 https://github.com/yddeng/filecloud
    yyysuo
        27
    yyysuo  
       2022 年 6 月 10 日
    跟 alist 有什么区别?
    jemyzhang
        28
    jemyzhang  
       2023 年 6 月 15 日
    @sigoden 试用了一下,登录账号后没有地方退出,上传文件后也不显示,看文件夹下面已经有上传的文件了。用了 docker ,version 0.34.2
    jemyzhang
        29
    jemyzhang  
       2023 年 6 月 15 日
    @sigoden 登录过账号后,修改账号相关的配置,docker recreate 后,网页上就再也登录不了了,显示 forbidden
    fever
        30
    fever  
       2023 年 10 月 9 日
    好用,谢谢分享,star 了
    ccc00
        31
    ccc00  
       2024 年 8 月 18 日 via iPhone
    请问 dufs 启动时怎么设置多个路径,设置了-A 参数或者 --allow-symlink 参数之后不知道怎么访问多个路径
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1009 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 53ms UTC 19:00 PVG 03:00 LAX 12:00 JFK 15:00
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86