非常棒的一款轻量高效的文件服务工具--Rust Dufs

<html>
<head>
  <title>非常棒的一款轻量高效的文件服务工具--Rust Dufs</title>
  <basefont face="微软雅黑" size="2" />
  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
  <meta name="exporter-version" content="YXBJ Windows/608924 (zh-CN, DDL); Windows/10.0.0 (Win64); EDAMVersion=V2;"/>
  <meta name="content-class" content="yinxiang.peso.superNote"/>
  <meta name="application-data:yinxiang.noteLayout" content="{"lineSpace":"recommend","paragraphSpace":"recommend"}"/>
  <style>
	body, td {
	  font-family: 微软雅黑;
	  font-size: 12pt;
	}
  </style>
</head>
<body>
<a name="47322"></a>
<h1>非常棒的一款轻量高效的文件服务工具--Rust Dufs</h1>

<div><span style="margin:0px;"><div style="padding:8px 0px;margin:8px auto;max-width:700px;"> <div><span></span></div>
<p></p>
<div style="--en-blockquote:true;box-sizing: border-box; padding-left: 19px; padding-top: 6px; padding-bottom: 6px; border-left: 3px solid #b4c0cc; background-position: initial initial; background-repeat: initial initial; margin-top: 6px"><div>原文链接: <a href="https://mp.weixin.qq.com/s?__biz=MzI3NTAwNjk4Mg==&amp;mid=2648598410&amp;idx=1&amp;sn=7864b7543a5eea00e989bae4da90ee08&amp;chksm=f23e8ae9acd7ac533eb65e14a08cde6b109c03bc556609d2b64213a88574d3d7644bfc6baaf1&amp;mpshare=1&amp;scene=1&amp;srcid=1002GzdWHqlyWsW3GKJQ62nZ&amp;sharer_shareinfo=49c009754f33f62f10a2f07b2d74c2ed&amp;sharer_shareinfo_first=49c009754f33f62f10a2f07b2d74c2ed#rd"><span>https://mp.weixin.qq.com/s?__biz=MzI3NTAwNjk4Mg==&amp;mid=264859...</span></a></div></div>
<p></p>
<div><span></span></div>
<div style=""><div><div><h1 style="margin:0"> 非常棒的一款轻量高效的文件服务工具--Rust Dufs</h1><div><span style="position:relative">原创</span><span><span style="position:relative">Eagle1949</span></span><span><a style="position:relative"> 技术源泉 </a></span><span><em></em></span></div><div style=";"><span style="text-indent: 2em;"><span>Rust Dufs是一个用Rust编写的轻量级静态文件服务工具，它简单而强大，</span><span>使用非常简单零配置，它</span><span>极低的资源占用和极高的性能，当你读完本文后，肯定会喜欢它。</span></span><span style="text-indent: 2em;"><span>它开箱即用，可以提供静态文件服务，可以下载文件夹，可以上传文件夹和文件，可以搜索文件，创建和编辑文件，跨平台支持，自动生成文件目录列表，支持断点续传，支持压缩传输，支持认证和CORS等。</span></span><span style="text-indent: 2em;"><span>它安装非常简单，支持二进制，Docker，以及Cargo安装，我个人推荐直接下载二进制文件。</span></span><span style="text-indent: 2em;"><span>它使用也非常简单，我来先谈下它在哪些场景下使用？</span></span><span style="text-indent: 2em;"><span>1，内网文件共享，在局域网内快速共享文件，无需复杂的FTP或者Samba配置。可以在不同设备间快速传输文件，特别是在没有USB等物理介质的情况下。这个功能非常适合我。下面会讲用法。</span></span><span style="text-indent: 2em;"><span>2，静态文件服务，这个对于开发者来说，非常方便，在本地启动服务后，就可以预览HTML/CSS/JavaScript项目，也可以用来演示项目，展示静态网站或原型，这块来说，看个人情况了。有的喜欢Nginx，有的喜欢Python HTTP Server。</span></span><span style="text-indent: 2em;"><span>现在我们来谈下它具体如何使用？</span></span><span style="text-indent: 2em;"><span>1，提供文件下载上传服务</span></span><span style="text-indent: 2em;"><span>当我们在局域网想要提供文件下载服务时，我们把下载好的dufs放在下载文件夹中，然后直接启动就可以提供下载服务，默认端口是5000。</span></span><span style=""><pre><div style="--en-codeblock:true;--en-meta:{&quot;title&quot;:&quot;&quot;,&quot;lang&quot;:&quot;Plain Text&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;showLine&quot;:true,&quot;lineWrap&quot;:true};box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &quot;Courier New&quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902); background-position: initial initial; background-repeat: initial initial; margin-top: 6px;"><span>dufs</span></div></pre></span><span style="text-align: center;"><img src="非常棒的一款轻量高效的文件服务工具--Rust Dufs_files/640.png" type="image/png" data-filename="640.png" style="--en-marks:%7B%22align%22%3A%22center%22%7D;"/></span><span style="text-indent: 2em;"><span>如果你只想对某个文件夹提供下载服务，例如Downloads。</span></span><span style=""><pre><div style="--en-codeblock:true;--en-meta:{&quot;title&quot;:&quot;&quot;,&quot;lang&quot;:&quot;Plain Text&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;showLine&quot;:true,&quot;lineWrap&quot;:true};box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &quot;Courier New&quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902); background-position: initial initial; background-repeat: initial initial; margin-top: 6px;"><span><span>dufs</span> Downloads</span></div></pre></span><span style="text-indent: 2em;"><span>注意，需要这个文件夹存在。</span></span><span style="text-indent: 2em;"><span>你还可以只对一个文件提供下载服务，例如你要提供ISO下载。那么可以这样：</span></span><span style=""><pre><div style="--en-codeblock:true;--en-meta:{&quot;title&quot;:&quot;&quot;,&quot;lang&quot;:&quot;Plain Text&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;showLine&quot;:true,&quot;lineWrap&quot;:true};box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &quot;Courier New&quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902); background-position: initial initial; background-repeat: initial initial; margin-top: 6px;"><span><span>dufs</span> ubuntu.iso</span></div></pre></span><span style="text-indent: 2em;"><span>ubuntu.iso是文件名称，和dufs放在同一个目录。</span></span><span style="text-indent: 2em;"><span>如果添加认证，例如只有用户输入了账号和密码才可以访问，假设账号是admin，密码是123，那么可以这样：</span></span><span style=""><pre><div style="--en-codeblock:true;--en-meta:{&quot;title&quot;:&quot;&quot;,&quot;lang&quot;:&quot;Plain Text&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;showLine&quot;:true,&quot;lineWrap&quot;:true};box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &quot;Courier New&quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902); background-position: initial initial; background-repeat: initial initial; margin-top: 6px;"><span><span>dufs</span> -a admin:<span>123</span>@/:rw</span></div></pre></span><span style="text-indent: 2em;"><span>默认提供的下载服务端口是5000，如果你本地5000端口被占用，或者想使用特定端口，例如80端口，可以这样：</span></span><span style=""><pre><div style="--en-codeblock:true;--en-meta:{&quot;title&quot;:&quot;&quot;,&quot;lang&quot;:&quot;Plain Text&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;showLine&quot;:true,&quot;lineWrap&quot;:true};box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &quot;Courier New&quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902); background-position: initial initial; background-repeat: initial initial; margin-top: 6px;"><span><span>dufs</span> -p <span>80</span></span></div></pre></span><span style="text-indent: 2em;"><span>我上面都只是提到了下载服务，它还提供上传服务，开启上传服务在某些情况下也是必要的，比如你需要将他们的某些资料文档统一传到你的电脑上。你可以这样：</span></span><span style=""><pre><div style="--en-codeblock:true;--en-meta:{&quot;title&quot;:&quot;&quot;,&quot;lang&quot;:&quot;Plain Text&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;showLine&quot;:true,&quot;lineWrap&quot;:true};box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &quot;Courier New&quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902); background-position: initial initial; background-repeat: initial initial; margin-top: 6px;"><span>dufs -<span>A</span></span></div></pre></span><span style="text-indent: 2em;"><span>这样可以允许上传，删除，搜索，创建以及编辑等。如果你只想他们上传。那么可以这样：</span></span><span style=""><pre><div style="--en-codeblock:true;--en-meta:{&quot;title&quot;:&quot;&quot;,&quot;lang&quot;:&quot;Plain Text&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;showLine&quot;:true,&quot;lineWrap&quot;:true};box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &quot;Courier New&quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902); background-position: initial initial; background-repeat: initial initial; margin-top: 6px;"><span><span>dufs</span> --<span>allow</span>-upload</span></div></pre></span><span style="text-indent: 2em;"><span>提供内网文件服务基本上就这些，常用的操作使用都包含了。</span></span><span style="text-indent: 2em;"><span>2，提供静态页面服务</span></span><span style="text-indent: 2em;"><span>作为开发者，我们需要看看HTML的效果，或者想要演示项目。日常中会用到Nginx或者Python HTTP Server提供服务。如果现场有这样的环境还好，如果没有，重新搭建静态文件服务环境，那么dufs就体现出它的优越性了。dufs下载之后，直接放在项目文件启动就能使用。</span></span><span style="text-indent: 2em;"><span>例如我有一个网站，包含HTML，CSS和JS文件。</span></span><span style=""><pre><div style="--en-codeblock:true;--en-meta:{&quot;title&quot;:&quot;&quot;,&quot;lang&quot;:&quot;Plain Text&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;showLine&quot;:true,&quot;lineWrap&quot;:true};box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &quot;Courier New&quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902); background-position: initial initial; background-repeat: initial initial; margin-top: 6px;"><span>dufs <span>--render-index</span></span></div></pre></span><span style="text-indent: 2em;"><span>它还可以提供HTTPS服务，</span></span><span style=""><pre><div style="--en-codeblock:true;--en-meta:{&quot;title&quot;:&quot;&quot;,&quot;lang&quot;:&quot;Plain Text&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;showLine&quot;:true,&quot;lineWrap&quot;:true};box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &quot;Courier New&quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902); background-position: initial initial; background-repeat: initial initial; margin-top: 6px;"><span>dufs <span>--tls-cert</span> my<span>.crt</span> <span>--tls-key</span> my<span>.key</span></span></div></pre></span><span style="text-indent: 2em;"><span>它还可以和curl结合，使用curl命令行上传和下载文件。这里就不介绍了。想查看详情的可以看Github地址：</span></span><p style="margin:0;text-indent:2em"><span>https://github.com/sigoden/dufs</span></p><span style="text-indent: 2em;"><span>这个软件真的不错。用了之后你体会更深。</span></span><p style="-webkit-tap-highlight-color:transparent;margin:0;padding:0;outline:0;max-width:100%;box-sizing:border-box !important;overflow-wrap:break-word !important;clear:both;min-height:1em;color:rgba(0,0,0,0.9);font-family:&quot;PingFang SC&quot;,system-ui,-apple-system,BlinkMacSystemFont,&quot;Helvetica Neue&quot;,&quot;Hiragino Sans GB&quot;,&quot;Microsoft YaHei UI&quot;,&quot;Microsoft YaHei&quot;,Arial,sans-serif;font-size:17px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:0.544px;orphans:2;text-align:justify;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;white-space:normal;text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;text-indent:34px;background-color:rgb(255,255,255)"><span style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">最后，推荐一下我的小程序：</span></p><span style="-webkit-tap-highlight-color: transparent;margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgba(0, 0, 0, 0.9);font-family: &quot;PingFang SC&quot;, system-ui, -apple-system, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-indent: 34px;background- text-align: center;"><img src="非常棒的一款轻量高效的文件服务工具--Rust Dufs_files/640.jpg" type="image/jpeg" data-filename="640.jpg" alt="图片" style="--en-marks:%7B%22align%22%3A%22center%22%7D;-webkit-tap-highlight-color: transparent;margin: 0px;padding:0;outline: 0px;max-width: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;vertical-align: bottom;height: auto !important;width: 150.99px !important;__visibility: visible !important;"/></span><span style="text-indent: 2em;"><span><br/></span></span></div></div></div></div></div></span>
</div></body></html>

id: b8dc94610c87412ba85cb6092dfb89f8
parent_id: f67288c3a0be4374b5d532b5dcc3aabc
created_time: 2025-11-28T16:00:42.864Z
updated_time: 2025-11-28T21:23:52.238Z
is_conflict: 0
latitude: 0.00000000
longitude: 0.00000000
altitude: 0.0000
author: 
source_url: 
is_todo: 0
todo_due: 0
todo_completed: 0
source: joplin-desktop
source_application: net.cozic.joplin-desktop
application_data: 
order: 1764348880685
user_created_time: 2025-11-28T16:00:42.864Z
user_updated_time: 2025-11-28T21:23:52.238Z
encryption_cipher_text: 
encryption_applied: 0
markup_language: 2
is_shared: 0
share_id: 
conflict_original_id: 
master_key_id: 
user_data: 
deleted_time: 0
type_: 1