一个原生 iOS 影视客户端:导入第三方影视源(猫源脚本 / JSON 订阅 / T4 接口),在本机运行源脚本、聚合站点内容,提供搜索、分类浏览、详情选集与真实播放,界面为自行设计的奈飞风格主题,支持亮色、暗色与跟随系统。
- 最低系统:iOS 16.0
- 设备:iPhone 与 iPad(两端共用底部胶囊标签栏 + 右侧独立搜索按钮,iPad 用更宽的海报网格与双栏详情)
ReelFlow 不提供、不托管任何影视内容。所有内容都来自使用者自行导入的第三方源。请遵守当地法律法规并支持正版。
| 能力 | 说明 |
|---|---|
| 源导入 | 支持 index.js.md5 猫源脚本包、index.config.js、JSON 订阅与 T4(/api/:module)接口 |
| 导入校验 | 下载后按内容识别类型(源常把 JS 当 image/jpeg 返回)、校验 .md5、原子替换,失败保留旧版本 |
| 鉴权 | 支持地址内嵌 http://账号:密码@host/...,凭据存系统钥匙串,界面与日志一律脱敏 |
| 浏览 | 首页(豆瓣默认分区、动漫榜单,可选 TMDB 五个榜单与分页“更多”)、分类页(一级分类 → 源提供的二级分类 + 分页加载)、发现(站点选择 + 分类 + 源自带筛选 + 分页)、搜索(从底部右侧独立搜索按钮进入,默认同时搜索源内全部启用站点,站点分栏显示每站进度/条数/失败状态) |
| 引导 | 六段动态功能预览后,依次配置 TMDB Key 与添加影视源;两步均可跳过,无源也可进入首页,设置中可重播动画 |
| 推荐 | 无 Key 默认展示豆瓣与动漫分区;保存 Key 后询问是否替换为现有 7 个分区,海报默认有 Key 为正在热映、无 Key 为豆瓣热门电影,各 10 张 |
| 详情 | 可滑动封面、环境色、评分、可展开简介、演职员、季/集资料、剧照、预告与相关推荐;源详情保留线路/选集/续播,收藏和待看提供可拖动票据反馈 |
| 音乐播放 | 根据站点、音频地址/MIME 和实际轨道识别纯音频;封面、歌名、歌手、歌曲列表、上下首、顺序/列表循环/单曲循环、后台播放与系统锁屏控制 |
| 播放 | AVPlayer / mpv / KSPlayer 三内核,mpv 支持 MKV、FLV 等更多格式;可设置默认内核与硬件解码,播放中切换内核保留进度;音轨/字幕、倍速、画面适配、定时暂停、时间跳转、横屏、亮度/音量/进度手势、长按 2 倍速、KSPlayer 本地字幕导入、AVPlayer/KSPlayer 画中画,自定义控制层、快进快退、倍速、选集换线、自动下一集、锁屏、失败重试;普通音频原生携带源请求头,视频/HLS 使用本机代理 |
| 片库 | 继续观看、待看、收藏、观看历史(可删除、可清空),进度与片单持久化 |
| 弹幕 | 自动接入猫源脚本内置接口,也可自行添加兼容 DanDanPlay 的服务;支持自动匹配、手动纠正与源网页推送,以及滚动/顶部/底部、密度、字号、透明度、速度、区域、延迟与屏蔽词,跟随播放进度与暂停 |
| 影视资料 | 豆瓣榜单与详情无需 Key;自有 TMDB API Key 或读访问令牌可启用完整 TMDB 栏目、详情补全、自动与手动匹配;仅保留 Rex 动漫插件 |
| 源管理 | 多源管理、站点级启停、站点名过滤、检查更新、脚本服务健康检查、删除 |
| 设置 | 外观(亮色 / 暗色 / 跟随系统)、播放与续播选项、接口超时、缓存清理、运行时状态、诊断日志;公告通知(读取公开仓库 issue 中作者发布的公告,新公告只弹窗提醒一次)、版本更新(读取公开 GitHub Release 的版本与更新日志、下载 IPA、保存分享、GitHub 代理与 TestFlight 入口)、第三方组件与免责声明 |
- 首次启动展示六段动态功能引导,随后填写自己的 TMDB API Key(可跳过),再添加影视源(可稍后添加)。完成后直接进入首页;没有影视源也可浏览。之后可在“设置 → 站源管理”添加源,在“影视信息”配置 TMDB;“功能引导”可重播动画。
- 导入过程会显示阶段:下载校验清单 → 下载脚本 → 校验完整性 → 启动脚本运行时 → 读取站点。大脚本下载使用独立总时限;GitHub raw 连接超时时,可回退至 GitHub 官方文件接口,仍按 MD5 校验。失败提示包含下载文件/主机或脚本启动阶段,诊断日志记录导入过程。
- 首页无 Key 时使用豆瓣默认分区与动漫排行榜,有 Key 时可选择 TMDB 的 7 分区布局。“更多”进入对应片单。首页不展示待看和收藏,继续观看仍可快速续播。首页与详情页从当前海报提取四种代表色,形成缓慢流动的渐变光晕;轮播时颜色随拖动进度混合,海报底部渐隐融入背景,支持亮暗主题和“减少动态效果”。
- “发现”保留源站点选择、分类、筛选和分页浏览。首页、发现、分类和搜索共用滚动渐变顶部样式:停在顶部时透明,向上滚动后逐渐显示模糊并向下淡出。
- 详情页选择剧集即可播放,退出后进度会自动记录,可在“我的 → 继续观看”续播。
- iPhone 与 iPad 共用底部左侧“首页、发现、我的、设置”的液态玻璃胶囊标签栏,右侧新增一颗独立的搜索圆钮;搜索作为单独的标签页(iOS 18+ 的 search tab),在 iOS 26 上由系统自动与胶囊分开。首页和发现右上角不再放搜索图标,iPad 也不再使用侧栏。“设置”按功能分组:顶部为播放、外观、弹幕快捷卡片;“内容与服务 → 站源管理”进入二级订阅页,右上角“+”添加源,点击订阅可检查更新、检测脚本服务、按站点启停;影视信息入口配置 TMDB。“应用偏好”收纳数据与网络、运行与诊断,版本更新位于“关于 ReelFlow”内;“公告”分组提供公告通知入口,“交流与支持”提供 TG 社群(https://t.me/reelflow2)
- “我的”提供继续观看、待看、收藏与历史,不再放置设置齿轮。外观可选“亮色 / 暗色 / 跟随系统”(默认暗色,保持原有观感),选择即时生效并记住;播放器与播放面板始终使用深色,以保证播放画面上的对比度。
- 站点名称保留源提供的完整文本(包括
|后的标签),长名称换行显示。豆瓣推荐条目点击后按片名自动搜索其他启用站点,发现页及分类列表使用相同规则。 - 歌曲站点播放时使用音乐界面,支持歌曲列表与循环模式;兼容源返回的“音质名、地址”数组,在“更多 → 声音”选择音质,保留进度与暂停状态。纯音频不会执行影视 TMDB、弹幕或片头片尾跳过。切到后台或锁屏继续播放,系统控制中心可播放/暂停、切歌和调整进度;音频中断与耳机断开会暂停。音乐页面左上角返回会收起播放器并继续播放,通过可拖动的音乐悬浮球回到同一播放会话;位置自动保存,横竖屏变化时保持在屏幕内。长按悬浮球可播放/暂停或停止,也可在“更多”中停止音乐。停止后清除锁屏信息;打开另一首歌或视频会替换原会话。
- 详情页和播放页的歌曲、剧集名称完整换行显示;歌曲和较长的剧集文件名使用整行列表,短集数保留紧凑网格。
- 默认分区依次为海报精选、继续观看、豆瓣最新电影、豆瓣高分、冷门佳片、热门剧集、热门综艺、动漫排行榜。保存 TMDB 凭据后先询问是否替换成海报精选、继续观看、正在热映、人气剧集、今日趋势、高分电影、高分剧集;拒绝则保留现有分区。默认海报有 Key 为正在热映,无 Key 为豆瓣热门电影,数量 10;手动选择的海报来源保留。“恢复默认布局”按当前 TMDB 配置选择预设。Rex 仅保留每日播出、近期注目、排行榜、年度新番、分类 5 个动漫栏目,文字致谢不附网站链接。
“设置 → 公告通知”读取公开仓库 Ryderwe/ReelFlow-Releases 的 issue 评论,只把作者 Ryderwe 发布的评论当作公告;issue 标题用于给公告分组,其他用户的评论不会显示。发现新的未读公告时,应用启动后会以自绘卡片优雅提示一次:点击“我知道了”标记已读,滑动或点“稍后”关闭也会记住“已提醒过”,同一公告不会再次弹出;默认最多只弹出最新的一条,其余公告始终保留在“设置 → 公告通知”列表里,可下拉刷新、全部已读或逐条查看,详情页打开即标记已读。
“设置 → 关于 ReelFlow → 版本更新”读取公开仓库 Ryderwe/ReelFlow-Releases 的 GitHub Release 列表:显示当前版本、最新版本、全部历史版本及其 Markdown 更新日志,有新版本时关于页入口显示提示。检查到新版本时还会弹出更新卡片,可直接“下载安装包”或“跳转到 TestFlight 软件更新”(未安装 TestFlight 时回退到 App Store 页面)。点击“下载安装包”会把 Release 中的 .ipa 保存到应用私有目录(约 30–60 MB,按文件大小显示进度);下载完成后自动弹出系统保存/分享面板,可选择“存储到文件”或用 AltStore、Sideloadly 等自签工具安装。
下载前可选择 GitHub 代理:内置若干常用前缀(如 gh-proxy.com、ghfast.top)以应对直连不稳定,也可以手动输入自定义前缀,选择会记住。关闭分享面板不会删除安装包,页面顶部的“已下载的安装包”可随时再次保存/分享,应用重启后仍然保留;删除本地安装包不会影响已安装的 ReelFlow。应用不会自动安装 IPA,也不会上传个人数据;版本检查与公告读取使用 GitHub 公开 API,未登录时受每小时 60 次的接口限额约束,页面会保留上次成功读取的列表。
| 组件 | 版本 | 许可 | 用途 |
|---|---|---|---|
| nodejs-mobile | 18.20.4 | MIT(Node.js 贡献者;移动端修改版权归 Janea Systems, Inc.) | 内嵌 JavaScript 运行时 |
| node-fetch | 3.3.2 | MIT(附依赖许可) | 无 WebAssembly 环境下的 Fetch API |
| KSPlayer | 2.3.4 | GPL-3.0 | FFmpeg 解码、原生渲染、字幕与画中画 |
| FFmpegKit(含 mpv / FFmpeg) | 6.1.4 | GPL-3.0(各依赖保留自身许可) | mpv 与 KSPlayer 共用的媒体依赖 |
本项目仅用于个人学习与测试。应用不提供、不托管、不分发任何影视内容;所有内容均由使用者自行导入的第三方源提供。请自行判断所使用源的合法性,遵守当地法律法规,并在下载后 24 小时内删除相关内容。作者不对使用本项目产生的任何后果负责。