Metadata-Version: 2.4
Name: cloudhub-139
Version: 1.0.0
Summary: A powerful 139 Cloud link parser and HLS stream aggregator.
Author-email: Kyle Meng <meng@example.com>
Project-URL: Homepage, https://github.com/kyle-meng/CloudHub-139
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: requests
Requires-Dist: pycryptodome
Requires-Dist: flask
Requires-Dist: python-dotenv

# CloudHub-139 (139 云影聚合中心)

这是一个专门为中国移动 139 云盘打造的资源解析与播放工具。无需转存，不占用空间，直接用分享链接就能获取可播放文件。它不仅解决了 139 云盘 M3U8 播放列表在第三方播放器中因相对路径和鉴权导致的失败问题，还提供了一个美观、强大的 Web 管理界面。

## 🎬 项目演示

### 1. 主页概览与资源管理
![主页概览](assets/主页.png)
*简洁直观的仪表盘，支持实时日志监控与资源状态展示。*

### 2. 全库精准搜索
![全库搜索](assets/搜索.png)
*跨分享库的全局搜索，支持关键词匹配与文件夹定位。*

### 3. 沉浸式播放界面
![播放界面](assets/播放界面.png)
*集成 HLS.js 的在线播放器，支持 1080P 高清解析与无缝预览。*

### 4. 核心功能演示
![抓取并播放演示](assets/demo_crawl.gif)

*全自动抓取、解析并开始 HLS 播放的全过程。*

### 5. 极速播放体验
![搜索并播放演示](assets/demo_play.gif)

*流畅的在线播放体验，支持重写 HLS 鉴权链接。*



## 🌟 核心功能

- **全库搜索引擎**：跨分享链接的全局搜索，支持关键词检索文件及文件夹，并可一键定位并高亮显示目标。
- **M3U8 重写引擎**：自动将相对路径转换为带签名的绝对路径 URL，确保 HLS 视频可全局播放。
- **Web 可视化仪表盘**：内置 Flask Web 服务器，提供资源概览、库总大小计算、文件夹深度导航及在线播放功能。
- **智能抓取与断点保护**：支持多级目录深度递归抓取，并实现增量保存，防止大批量任务中途失败。
- **本地 JSON 导入/导出**：支持通过 Web 界面直接上传 `fetched_results.json`，实现资源元数据的快速迁移与共享。
- **实时日志终端**：基于 SSE 技术，在 Web 页面实时展示抓取进度及后台日志，状态一目了然。
- **自动 URL 解析**：支持直接粘贴 139 云盘分享链接，系统自动识别并提取 Link ID。
- **在线 HLS 播放器**：集成 `hls.js`，支持在浏览器中直接预览云端 1080P 视频。

## 🛠️ 环境要求

- Python 3.8+
- 依赖库安装：
  ```bash
  pip install requests pycryptodome flask python-dotenv
  ```

## 🚀 快速开始

### 1. 配置环境

在项目根目录下创建 `.env` 文件，并填写账号信息：

```env
YUN_ACCOUNT="你的手机号"
YUN_AUTH_TOKEN="你的授权令牌 (从 yun.139.com 抓取)"
```

### 2. 启动服务 (开发模式)

```bash
pip install -e .
cloudhub-139
```

### 3. 管理资源

打开浏览器访问 `http://127.0.0.1:5000`。
- **添加资源**：直接在页面粘贴 139 云盘分享链接或 ID，系统会自动完成校验与抓取。
- **导入备份**：通过“本地导入”功能上传已有的 JSON 元数据文件，秒级同步库。
- **全库搜索**：使用顶部的搜索框快速定位 2.9T+ 影视库中的任意资源。

## 📂 项目结构

- `pyproject.toml`: PyPI 打包配置文件。
- `src/cloudhub/`: 源代码包。
  - `app.py`: Flask 路由、抓取逻辑与搜索引擎。
  - `client.py`: 139 云盘 API 封装。
  - `crypto.py`: AES 加解密核心实现。
- `links.json`: 存储所有分享链接及其元数据。
- `data/`: 存放抓取后的目录结构缓存（JSON）。
- `assets/`: README 资源。

## 📝 技术亮点

项目核心在于 `rewriteM3U8` 逻辑与高效的递归抓取。通过实时拦截并注入最新的鉴权签名，解决了 139 云盘 HLS 切片地址失效的问题。同时，系统内置了请求频率限制与增量写盘策略，确保了在处理包含上百个子目录的大型分享时的稳定性和可靠性。

---
*Created with ❤️ for 139 Cloud Integration.*
