Skip to content

OpenXinsheng/NexusPool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Don't just store, pool it. > 让 100 个 NAS 众筹出一个 5TB 的去中心化影视库。

📖 项目简介

NexusPool 是一个专为 NAS 用户设计的分布式存储层协议。它的核心理念是 “空间众筹,资源共享”。通过 NexusPool,每个参与者只需贡献极小的本地空间(如 100GB),即可接入一个海量的虚拟存储池(如 5TB)。

系统通过 P2P 协议按需拉取数据,并利用内容寻址技术确保全局文件去重,为 Infuse、VidHub、Emby 等播放器提供“无感”的大数据量影视挂载体验。


✨ 核心特性

  • 📦 空间池化 (Storage Pooling):通过分布式协议将分散的 NAS 节点聚合为逻辑上的统一大盘。

  • 🚀 P2P 流式加速:基于 IPFS 底层,观看电影时从多个节点同步拉取数据块,人数越多,播放越稳。

  • 🔍 内容寻址与去重:天然解决重复文件问题。同一份 4K 电影在网络中仅保留最优副本。

  • 🔗 透明挂载 (FUSE):集成 Rclone,将远程池直接挂载为本地文件系统,播放器直读。

  • ⚖️ 防吸血机制 (Anti-Leech):内置基于 OrbitDB 的去中心化账本,强制执行“贡献证明(PoC)”,确保生态公平。


🛠 技术架构

NexusPool 并非重复造轮子,而是站在巨人的肩膀上:

组件 技术选型 作用
底层存储 IPFS 负责文件的分块存储与内容寻址
集群管理 IPFS Cluster 负责跨节点的 Pin 状态管理与数据冗余
元数据库 OrbitDB 负责去中心化的目录索引、用户评分与贡献账本
挂载层 Rclone / FUSE 实现本地虚拟磁盘挂载
控制逻辑 Python (Nexus-Core) 负责防吸血算法、权限验证及自动化维护

⚖️ 公平机制:防吸血算法 (Nexus-Ratio)

为了防止“死节点”或“纯吸血”行为,NexusPool 实施了以下规则:

  1. 强制冗余证明 (Proof of Pin)

    系统会随机分配 50GB 的数据块要求节点 Pin 住。如果不满足最低物理存储贡献,挂载层将自动断开。

  2. 动态分享率 (Ratio)

    $$Ratio = \frac{Upload}{Download}$$

    • High Ratio: 享受预加载加速、4K/8K 蓝光原盘访问权限。

    • Low Ratio: 仅限制在 1080p 码率访问,且连接优先级降低。

  3. 活跃度加权

    长时间稳定在线的节点(Stable Node)将获得更高的元数据同步权重。


🚀 快速开始 (Docker Compose)

YAML

services:
  nexus-node:
    image: havell/nexus-pool:latest
    volumes:
      - /your/nas/data:/data/ipfs
      - /mnt/nexus:/mnt/nexus:shared
    environment:
      - POOL_SIZE=50G
      - SWARM_KEY=${YOUR_CLUSTER_KEY}
      - RATIO_PROTECT=true
    privileged: true
  1. 克隆仓库并编辑配置文件。

  2. 运行 docker-compose up -d

  3. 在 Infuse/VidHub 中添加路径 /mnt/nexus


📅 路线图 (Roadmap)

  • Alpha: 基于 IPFS Cluster 的基础存储池搭建。

  • Beta: 集成 OrbitDB 实现协同目录管理(去重与评分)。

  • v1.0: 完善 Nexus-Ratio 防吸血算法与可视化 WebUI。

  • Future: 引入 AI 自动分类标签与智能预热。


🤝 参与贡献

我们欢迎所有对分布式存储感兴趣的极客加入!

  1. Fork 本项目。

  2. 创建您的特性分支 (git checkout -b feature/AmazingFeature)。

  3. 提交您的更改 (git commit -m 'Add some AmazingFeature')。

  4. 推送到分支 (git push origin feature/AmazingFeature)。

  5. 开启一个 Pull Request。


📜 开源协议

本项目采用 AGPL-3.0 协议开源。这意味着任何基于此项目开发的商业衍生版或在线服务,都必须公开其源代码,以保护开源社区的共同利益。


NexusPool —— 重新定义 NAS 协作。

About

Don’t just store, pool it. > 让 50 个 NAS 众筹出一个 5TB 的去中心化影视库。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors