Skip to content

YuehaiTeam/dfs2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DFS2

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,支持配置查询和系统管理

About

Smart mirrors selection tool for file distributing

Resources

Stars

Watchers

Forks