SuperAPI AI 工具集

DirForge

DirForge 是一个开源的无状态、只读 Web 文件浏览工具,主要面向家庭实验室和 NAS 高级用户。它无需数据库、后台任务或磁盘写入,只需指向已挂载的目录即可使用。用户可以通过简洁的 Web 界面浏览文件、搜索内容、预览文本/图片/视频/音频/PDF、在线查看压缩包并计算文件哈希;同时提供 RESTful JSON API、S3 兼容端点、只读 WebDAV 挂载以及面向 AI 助手的 MCP 服务器,方便 rclone 等工具或自动化脚本访问。支持按文件或整个文件夹(打包为 ZIP)下载、带有效期的签名分享链接、一次性分享链接、二维码生成,以及 CRC32、MD5、SHA-1 等哈希校验。安全方面包含 HTTP Basic Auth、Bearer Token、反向代理外部认证、隐藏路径与扩展名黑名单、速率限制、健康检查、内存仪表盘及 Prometheus 指标。单容器运行,支持 amd64/arm64,也可独立部署于 Windows 或 Linux。注意:默认 compose 文件在未设置 BasicAuthUser 和 BasicAuthPass 时会回退到 admin/dirforge 凭证,网络暴露前务必修改;基线默认配置面向家庭网络,并非互联网加固。

访问官网

工具介绍

DirForge 是一个简单但实用的只读目录浏览 Web 应用,专为家庭实验室和 NAS 高级用户设计。它是一个无状态、只读的 Web 文件浏览器,没有数据库、没有后台工作进程,也不写入磁盘——只需将挂载路径指向它即可使用。这使得它非常轻量且易于部署。

主要用途

DirForge 的核心用途是让用户通过浏览器或 API 安全地浏览、搜索和获取服务器上特定目录中的文件,而无需授予写入权限。它适用于需要快速查看 NAS 或服务器文件、分享单个文件或整个文件夹、以及让 AI 助手访问文件系统的场景。

核心功能

  • Web 界面:列表和网格视图,支持按名称、大小、日期排序,提供浅色/深色主题。
  • 文件预览:支持文本、图片、视频、音频和 PDF 的弹窗预览,图片支持灯箱导航。
  • 压缩包浏览:可在浏览器内查看 .zip、.tar、.tar.gz、.tgz 和 .gz 文件内容。
  • 搜索:递归搜索,可配置深度和时间预算。
  • 文件操作:支持直接下载单个文件,或将整个文件夹打包为 ZIP 下载(可配置最大大小)。
  • 分享功能:生成带有效期的签名分享链接、一次性分享链接,以及分享链接的二维码。
  • 哈希与校验:计算文件哈希(CRC32、MD5、SHA-1、SHA-256、SHA-512),并支持校验 .md5、.sha1 等校验文件。
  • 只读 WebDAV:位于 /webdav/,支持 OPTIONS、PROPFIND、GET、HEAD 方法,兼容 Windows 资源管理器、macOS Finder 等。
  • S3 兼容 API:位于 /s3/,支持 ListBuckets、GetBucketLocation、ListObjectsV2、GetObject、HeadObject 等操作,兼容 aws cli、rclone、MinIO 客户端。使用 AWS Signature V4 认证。
  • MCP 服务器:位于 /mcp/,让 AI 助手(如 Claude Code、Codex)能够浏览目录、读取文件、按名称或内容搜索、检查哈希、查找重复文件、获取磁盘使用报告等。
  • RESTful JSON API:位于 /api/,用于浏览、搜索、分享和归档。
  • 仪表盘与指标:内存中的仪表盘位于 /dashboard,可配置独立凭证;Prometheus 指标位于 /metrics;集成统计 JSON 位于 /dashboard/stats。

使用方式

依赖与安装

需要 Docker 或 Podman(镜像支持 amd64 和 arm64)。也可从最新发布版下载独立版本:Windows 版 dirforge-win-x64.zip,Linux 版 dirforge-linux-x64.tar.gz 或 linux-arm64。

快速启动(Docker/Podman)

使用 Docker 或 Podman 运行容器,具体命令与 Compose 示例见官方文档。Podman 4.1+ 可使用 podman compose 子命令。在 SELinux 系统上,挂载卷需添加 :z,如 -v /srv/share:/data:ro,z。

独立部署(Windows)

  1. 下载 dirforge-win-x64.zip 并解压。
  2. 编辑 appsettings.json,设置 RootPath 为要共享的目录。
  3. 控制台模式:双击 DirForge.exe 运行。
  4. Windows 服务:以管理员身份运行 install-service.bat,服务将随系统启动;使用 uninstall-service.bat 卸载。

独立部署(Linux)

  1. 下载并解压 tar 包到 /opt/dirforge。
  2. 直接运行 ./DirForge,或安装为 systemd 服务(tarball 内包含示例 dirforge.service)。

访问与配置

默认访问 http://localhost:8091。配置项可在 src/DirForge/appsettings.json 中定义,并通过同名环境变量覆盖。布尔值必须为 true 或 false。完整选项参见 .env.example。建议仅挂载需要暴露的目录,优先使用只读挂载(:ro)。

安全与限制

  • 认证:支持 HTTP Basic Auth、Bearer Token(通过可配置头部)、反向代理外部认证(如 Authelia、Authentik)。可同时启用 Basic 和 Bearer,任一即可通过。
  • 安全策略:支持通过点文件标志或 glob 模式隐藏文件,按扩展名拒绝下载,固定窗口速率限制(按 IP 和全局)。隐藏路径和拒绝扩展名对直接下载和 ZIP 输出均生效。
  • WebDAV 限制:Windows 资源管理器的 WebDAV 客户端默认拒绝在纯 HTTP 上使用 Basic Auth,需使用 HTTPS(推荐)或修改注册表 BasicAuthLevel 为 2。所有写方法返回 405。
  • S3 限制:默认禁用,需设置 EnableS3Endpoint=true。所有写操作返回 405。凭证必需,否则应用无法启动。
  • MCP 限制:需 EnableMcpEndpoint=true(默认)并设置 BearerToken。所有隐藏/拒绝/认证策略同样适用。
  • 符号链接与硬链接:DirForge 跟随符号链接,但强制包含性——每个链接目标必须解析到 RootPath 下的路径,否则被静默阻止。递归操作会跟踪已访问的规范路径以防止循环。硬链接被视为普通文件,无特殊处理。
  • 默认凭证警告:默认 compose 文件在未设置 BasicAuthUser 和 BasicAuthPass 时会回退到 admin/dirforge,网络暴露前务必修改。
  • 基线默认面向家庭网络,并非互联网加固。建议在生产环境设置 ShareSecret 为长随机值,否则分享链接在重启后重置。
  • 仪表盘和指标数据仅存于内存,重启后重置。
  • 静态 UI 资源从 /dirforge-assets/* 提供,且有意公开。

适用场景

DirForge 非常适合家庭实验室用户、NAS 管理员、需要安全分享文件或文件夹的个人、希望让 AI 助手访问文件系统的开发者,以及需要通过 S3 或 WebDAV 协议集成文件浏览的自动化场景。

分类

根据其作为 AI 开发平台/MCP 服务器的特性,DirForge 归类为 AI 开发平台(ai-frameworks)。