基于 OpenList 的非官方增强版本,围绕 .cas 元数据文件提供生成、恢复、自动恢复与临时播放文件能力。
- 📦 上传普通文件后可自动生成
.cas - 🗑️ 可在生成
.cas后自动删除源文件 - ⚡ 可通过
.cas快速恢复原文件 - 🗑️ 可在恢复原文件后自动删除
.cas文件 - 🎬 支持通过
.cas恢复临时播放文件并进行视频播放 - ♻️ 删除源文件、
.cas文件和临时播放文件时同步清理回收站
用“可验证的文件特征”替代“文件本体存储”,在尽量降低存储占用的同时,保留文件恢复能力。
上传 → 提取特征 → 生成
.cas→ 按需删除原文件 → 需要时恢复
graph LR
A[上传原文件] --> B[生成 .cas]
B --> C[保留 .cas 元数据]
B --> D[按配置删除原文件]
C --> E[节省存储空间]
C --> F[恢复源文件]
F --> G[播放 / 下载 / 使用]
-
📉 低存储环境 仅保留
.cas,显著减少空间占用 -
☁️ 网盘秒传恢复 通过哈希特征恢复文件,避免重复上传
-
🎬 媒体库归档 平时只保留
.cas,需要时再恢复并播放 -
🔁 自动化工作流 自动扫描监控目录中的
.cas并恢复源文件
- 自动生成
.cas元数据文件 - 支持生成
.cas后自动删除源文件 - 支持从
.cas恢复原文件 - 恢复命名默认按当前
.cas文件名处理 - 支持恢复成功后自动删除
.cas - 支持自动扫描监控目录并恢复已有
.cas - 支持
.cas作为视频播放入口 - 支持删除时同步清理回收站
- 支持家庭传输联动,减少个人空间上传流量限制影响
| 配置项 | 默认值 | 说明 |
|---|---|---|
Generate cas |
false |
上传文件后生成 .cas 文件 |
Delete source |
false |
生成 .cas 文件成功后自动删除源文件,并同步清理回收站中的源文件 |
Restore source from cas |
false |
处理 .cas 文件时,自动根据其中记录的信息恢复源文件 |
Delete CAS after restore |
false |
恢复成功后自动删除 .cas 文件,并同步清理回收站中的 .cas 文件 |
Auto restore existing cas |
false |
开启后会自动扫描监控目录中的 .cas 文件并尝试恢复源文件 |
Auto restore existing cas paths |
空 | 每行一个路径,只监控这些目录及其子目录;留空则不监控 |
| 配置项 | 默认值 | 说明 |
|---|---|---|
Generate cas |
false |
上传文件后生成 .cas 文件 |
Delete source |
false |
生成 .cas 后删除源文件 |
| 驱动 | 生成 .cas |
删除源文件 | 从 .cas 恢复 |
自动恢复 | 删除 .cas 文件 |
.cas 视频播放 |
|---|---|---|---|---|---|---|
189CloudPC |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Local |
✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
支持:
- 生成
.cas - 生成
.cas文件后删除源文件 - 从
.cas文件恢复源文件 - 自动恢复监控目录
.cas文件 - 从
.cas文件恢复源文件后删除.cas文件 .cas视频播放- 删除时同步清理回收站
说明:
- 依赖云端侧可用的恢复能力
- 播放
.cas时,会先临时恢复文件到/TEMP - 恢复出的临时文件会用于获取真实播放链接并进行播放
- 播放后会自动清理临时文件及回收站中的对应文件
支持:
- 生成
.cas - 删除源文件
不支持:
- 从
.cas恢复 - 自动恢复
.cas视频播放
说明:
- 本地存储不具备云盘式恢复能力
.cas在 Local 中主要用于节省空间,不用于恢复
FamilyTransfer 是 189CloudPC 原版已有能力,不是 CAS 新增功能。
开启后:
- 普通上传可通过家庭空间中转,减少个人空间上传流量限制影响
- 在
Generate cas + Delete source组合下,可只在个人空间保留.cas - 临时播放文件恢复也会跟随家庭传输逻辑走家庭侧中转
.cas 本身不是视频文件,不能直接播放内容本体。
实际流程是:
- 点击
.cas - 恢复临时播放文件到
/TEMP - 获取真实视频链接
- 开始播放
- 播放链拿到链接后删除临时文件,并同步清理回收站中的对应文件
临时播放文件命名格式:
TEMP_12345_movie.mkv
movie.mkv -> movie.mkv.cas
恢复时默认按当前 .cas 文件名推导目标名,并保留原文件扩展名。
例如:
abc.mp4.cas -> abc.mkv
test.cas -> test.mkv
默认端口:
5244
默认数据目录:
/opt/openlist/data
docker run -d --restart=unless-stopped \
-v /etc/openlist:/opt/openlist/data \
-p 5244:5244 \
-e PUID=0 \
-e PGID=0 \
-e UMASK=022 \
--name="openlist-cas" \
freeyua/openlist-cas:latestservices:
openlist-cas:
image: freeyua/openlist-cas:latest
container_name: openlist-cas
restart: unless-stopped
ports:
- "5244:5244"
volumes:
- ./data:/opt/openlist/data
environment:
- PUID=0
- PGID=0
- UMASK=022http://localhost:5244
.cas 只保存恢复所需特征,不保存原文件数据。
这意味着:
- ✅ 云端仍可命中恢复能力时,可以恢复
- ❌ 云端文件失效、被清理、被风控时,可能无法恢复
- ❌
.cas不能代替完整备份
请不要将 .cas 作为唯一长期备份方案。
不是,.cas 只是元数据描述,不包含原文件本体。
因为本地存储不具备这套恢复链依赖的能力。
可以通过家庭空间中转上传,减轻个人空间上传流量限制影响。
- 上游项目:OpenList
- 上游项目:openlist4.1.10
- 本项目为非官方增强分支
- 本项目仅用于学习与技术研究。
- 请遵守相关法律法规及服务条款。
- 使用本项目产生的风险由使用者自行承担。
- 本项目为非官方修改版本,不代表上游项目立场。
- 感谢原项目 OpenList 提供的基础能力。
- 感谢原魔改项目 openlist4.1.10 提供的基础生成
cas文件能力。 - 本项目为非官方增强分支
如果这个项目帮到了你,欢迎点个 ⭐ 支持!