DFS2 是一个基于 Rust 开发的分布式文件系统中间件,用于统一管理和分发文件资源。
DFS2 在文件客户端和实际存储服务器之间提供一个中间代理层,支持多种存储后端的统一访问,并提供智能流量调度、缓存优化和访问控制功能。
- 多版本支持: 每个资源可配置多个版本,支持动态版本切换
- 路径映射: 灵活的资源路径配置,支持版本模板和默认路径
- 前缀资源: 支持目录级别的文件分发,允许访问资源内的任意子文件
- S3 兼容存储: 支持 AWS S3 和 MinIO 等 S3 兼容对象存储
- 直连 HTTP: 支持 CDN、GitHub Releases 等 HTTP 直连访问
- DFS 节点: 自定义协议的 DFS 节点通信,支持 HMAC 签名验证
- 地理位置路由: 基于客户端 IP 地理位置进行服务器选择
- 带宽限制: 支持资源级和服务器级的日流量限制
- 文件大小条件: 根据文件大小进行不同的路由策略
- 时间和网络条件: 支持时间段、IP 类型、CIDR 范围等多种条件判断
- 挑战验证系统: 支持 MD5、SHA256 和 Web 三种挑战验证方式
- 会话管理: 基于会话的文件访问控制和统计
- JavaScript 插件: 支持流量控制、挑战验证和版本提供者三类插件
- 配置热重载: 运行时配置重载,无需重启服务
- RESTful API: 完整的管理 API,支持配置查询和系统管理