一个 exe,把文件夹变成共享站

有些时候,我们只是想传个文件。

给同事发一批资料,给家里另一台电脑传安装包,或者在局域网里临时开一个下载目录。这个场景里,完整网盘反而太重:要账号、要后台、要数据库,还要考虑同步和权限系统。

如果只是短时间共享文件,一个轻量 HTTP 文件服务就够了。

这次看的 Webd,就是这样的工具。

它不是博客程序,也不是 CMS。更准确地说,它是一个 Windows 下的轻量文件服务器:改好配置,运行 webd.exe,本地文件夹就能通过浏览器访问。

Webd 轻量文件共享示意


01 先看它的结构

这个项目不复杂,目录大致是这样:

1
2
3
4
5
6
7
8
9
10
11
12
webd/
├── webd.exe
├── webd.conf
├── tools.cmd
├── myFireFox.cmd
├── changelog.txt
├── web/
│ ├── .player.htm
│ └── 示例 PDF 文件
└── scripts/
├── comm.wsf
└── MakeLink.cmd

里面最关键的,其实就两个文件:

webd.exe:负责启动服务。

它是 Windows 平台下的可执行程序,不需要额外搭 Web 框架。

webd.conf:负责控制规则。

共享哪个目录、监听哪个端口、谁能访问、谁能上传,基本都在这里配置。

所以 Webd 的使用逻辑很简单:

先改配置,再启动程序。


02 它能解决什么问题

Webd 的核心能力很直接:

把本地文件夹变成一个浏览器可以访问的文件共享站点。

本地目录通过 Webd 分享到多设备

适合的场景包括:

  • 局域网内临时分享文件;
  • 多台电脑之间传资料;
  • 做一个简单下载目录;
  • 分享 PDF、图片、音频、视频;
  • 临时当作静态文件服务。

这里要注意一个边界。

Webd 的重点不是“管理内容”,而是“开放目录”。如果你想做文章系统、团队网盘、在线协作平台,它不是最合适的选择。

但如果需求只是“别人打开一个地址就能下载文件”,它就很顺手。


03 权限控制比想象中细

Webd 不是只能做公开下载目录。

从配置看,它支持按用户设置权限:

1
2
3
4
5
6
7
r: Access files
l: List directories
u: Upload file
m: Delete, move, or rename files
S: Show hidden files or directories
T: Use webpage to play media files
D: Add download attribute to file link

也就是说,它既可以做只读下载站,也可以给指定用户开放上传、重命名、删除文件等能力。

例如:

1
2
Webd.User rlumS user1 pass1
Webd.User rl user2 pass2

第一个用户权限比较高:能访问、列目录、上传、移动或删除文件,也能看到隐藏文件。

第二个用户就克制很多:只能访问和列目录。

这里最值得警惕的是两个权限:

u:允许上传。

m:允许删除、移动或重命名。

局域网内给可信设备用,问题不大。可一旦放到公网,这两个权限就不能随便开,尤其不能给匿名访客。

如果不希望访客访问,可以直接关闭 guest:

1
Webd.Guest 0

04 共享目录和端口怎么配

共享根目录通过 Webd.Root 指定:

1
Webd.Root "D:\my share"

这表示把 D:\my share 作为网页访问根目录。

浏览器里看到的文件,就是这个目录下面的内容。

监听端口可以这样写:

1
Webd.Listen 9212

启动之后,同一网络里的设备访问:

1
http://服务器IP:9212

如果需要 IPv6,也可以配置:

1
Webd.Listen [::]:9212,Dual

配置本身不难,真正重要的是目录选择。

不要直接共享整个磁盘、桌面或下载目录。

更稳妥的做法,是单独建一个共享文件夹,只放准备公开的内容。这样即使权限配置有问题,影响范围也小很多。


05 这些 Windows 脚本有什么用

项目里还有几个脚本文件。

它们说明 Webd 更偏 Windows 桌面使用,而不是传统服务器部署。

tools.cmd 像一个小工具菜单,可以处理:

  • 添加或移除开机启动;
  • 创建或删除桌面快捷方式;
  • 添加或删除防火墙规则。

这些功能不花哨,但很实用。

轻量工具最怕每次使用都要翻命令。有一个菜单把常用操作包起来,实际用起来会省不少心。

scripts/comm.wsf 用的是 Windows Script Host,主要负责创建或删除 .lnk 快捷方式,比如放到桌面,或者放到启动目录。

myFireFox.cmd 更像一个浏览器启动示例,可以指定 Firefox 配置目录。它不是核心功能,但能看出项目考虑过“用指定浏览器打开文件服务页面”的桌面使用习惯。


06 它还能当简单媒体浏览器

web/.player.htm 是一个隐藏的网页播放器。

它会根据文件后缀判断资源类型,然后用 HTML5 的 audiovideoimg 标签展示内容。

支持的类型大概包括:

  • 视频:mp4avimkvwebm 等;
  • 音频:mp3wavoggopus 等;
  • 图片:jpgpnggifbmp 等。

这个设计挺实用。

如果共享的是课程视频、录音、图片素材,访问者可以先在浏览器里预览,再决定要不要下载。

它不只是一个“文件列表”,也能承担一点轻量媒体浏览的角色。


07 局域网部署怎么做

如果只是局域网使用,思路很简单:

  1. 在 Windows 上准备一个专门的共享目录;
  2. 修改 webd.conf,设置 Webd.RootWebd.Listen
  3. 配置用户权限,建议先从只读开始;
  4. 运行 webd.exe
  5. 用其他设备访问 http://服务器IP:端口

第一次用的时候,不建议一上来就开上传和删除权限。

先确认访问、下载、目录展示都正常,再按需要增加权限。这个顺序更稳。


08 如果要公网访问,要谨慎

Webd 可以轻量,但安全不能轻量。

如果要让公网访问,至少注意这些事:

  • 设置强密码;
  • 不开放匿名上传;
  • 不给访客 m 权限;
  • 防火墙只放行必要端口;
  • 共享目录只放可公开文件;
  • 尽量放在 Nginx 这类反向代理后面;
  • 公网访问建议使用 HTTPS;
  • 定期检查上传目录,避免被滥用。

还有一点很重要:

不要把 Webd 当成正式网盘。

如果文件要长期公开,或者需要文章、分类、搜索、评论、审核这些能力,应该换博客、CMS 或专门的文件管理系统。

Webd 更适合承担“下载”和“临时共享”这部分职责。


09 我会怎么用它

我不会把 Webd 长期挂在公网。

更合理的用法是:

需要共享时打开,目录放干净,权限收紧,用完就关。

在家里或办公室局域网,它可以替代很多麻烦操作:来回插 U 盘、把文件压缩后发聊天软件、先传网盘再下载。

它的优势就是轻、快、直接。

但也正因为它直接,权限边界要想清楚。越简单的工具,越不能随便把目录和端口暴露出去。


最后

Webd 的价值不在于功能多,而在于足够直接。

一个可执行文件,一个配置文件,就能把本地目录变成网页文件服务。

它适合临时文件共享、局域网资源分发、简单下载站、个人设备间传文件,也可以顺手浏览一些媒体文件。

但它不适合直接承担复杂网盘、正式网站或长期公网文件平台的角色。

把它放在合适的位置,它会很好用。

把它当万能系统,就容易出问题。