echofs局域网级HTTP文件服务器

EchoFS 是一个完全由 AI 编写、使用Rust 语言实现的单文件 HTTP 文件服务器。它的编译产物仅约 1.3MB,支持零配置运行,旨在解决局域网内快速共享文件、媒体预览及临时静态资源服务等需求。

核心场景

  • 跨设备文件传输:替代“隔空投送”,在局域网内通过浏览器快速分享大文件。

  • 家庭媒体中心:支持视频流式播放(HTTP Range),可在手机或平板上直接观看电脑里的视频。

  • 开发测试环境:快速搭建静态资源服务器,用于 Mock 接口或测试 APP 下载功能。

  • 会议教学演示:在无外网环境下,通过二维码或链接实现多人批量分发资料

  • 旧设备复活:极低资源占用,适合在树莓派或低配硬件上长期运行。

特点

  • 单文件开箱即用:无外部依赖,HTML/CSS/JS 全部内嵌在二进制文件中。

  • 现代化前端:内置 SPA 前端,支持暗色/亮色模式,响应式布局适配移动端。

  • 媒体预览:支持图片、音频、视频在浏览器内直接预览。

  • 高性能传输:基于 Rust 和 Tokio 异步架构,支持流式传输与断点续传。

  • 安全保障:内置防目录遍历攻击机制,确保系统文件安全。

使用

da56181713075478607c2547eb13b511.png

1
2
3
4
5
6
7
8
# 共享当前目录,默认端口 8080
./echofs

# 指定目录和端口
./echofs --root /path/to/share --port 9000

# 启动后自动打开浏览器
./echofs --open

命令行参数集合:

  • -r, --root <ROOT>: 服务根目录 (默认: .)
  • -p, --port <PORT>: 监听端口 (默认: 8080)
  • -b, --bind <BIND>: 绑定地址 (默认: 0.0.0.0)
  • -o, --open: 自动打开浏览器
  • -l, --log <LOG>: 访问日志输出 (stdout, off 或文件路径)