Releases: hlyylly/feiying
Release list
v1.4.8 — 点破 @appdata 死局:飞牛影视选不了系统目录
为什么「入库成功,飞牛里却什么都没有」
飞影的 .strm 如果落在 /vol1/@appdata/feiying/media/*(fpk 没套用向导目录时的默认位置),飞牛影视根本没法把媒体库指过去——它的「选择文件夹」对话框里,@appconf、@appdata、@apptemp 这些系统目录全是灰的、选不中。
所以这不是「想换个位置」的问题,是默认位置压根用不了。现在自检和配置页都会直接点破:
[自检] 剧集目录 /media/tv → 已挂载宿主目录, 可写
[自检] └ 宿主目录 /vol1/@appdata/feiying/media/tv
[自检] └ ⚠ 飞牛影视选不了 @ 开头的系统目录做媒体库
配置页对应的目录下面也会红字说明,并告诉你要改容器挂载、而不是改这里。
怎么解决
在飞牛的 Docker 界面里改容器的挂载路径,把 /media/tv、/media/movies 两行指到你自己的目录(如 /vol1/1000/影视/tv、/vol1/1000/影视/movies),/data 那行保持不动。重建容器后重新入库一次即可。
fpk 安装现在会留下诊断日志
apply-settings 把执行过程写进 /data/.fpk_apply.log,自检会读出最后几行:
[自检] fpk安装 INST_VARIABLES 不可读(值=),改用环境里的 wizard_* 变量
[自检] fpk安装 向导取到: tv= movie= uid=1000:1001
[自检] fpk安装 剧集目录为空,compose 保持默认 @appdata
安装脚本的输出平时完全看不到,出问题只能 SSH 翻。有了这几行,装完打开日志页就知道向导里填的目录到底有没有套用进去。
已知问题
fpk 安装向导里填的媒体目录仍然不生效,根因还在定位(这版加的日志就是为了拿到它)。装完请先看日志页的 [自检] fpk安装 那几行,如果显示「向导取到: tv= movie=」都是空的,就按上面的办法手动改 Docker 挂载。
升级
- Docker:
docker compose pull && docker compose up -d - 飞牛 fnOS: 下载下方 .fpk 覆盖安装
- Windows / 安卓: 下载下方对应附件
v1.4.7 — 配置页直接标出目录对应 NAS 上的哪儿
「设置里改了目录却没生效」
配置页那两个目录是容器内路径,文件最终落到 NAS 哪里,只由 Docker 挂载决定。把 /media/tv 改成 /vol3/xxx,容器只会在自己的可写层建个同名目录,NAS 上依旧什么都没有——保存是成功的,但看起来就像「没生效」。
现在两个输入框下面直接标出实际位置:
剧集目录 → ⚠ 没挂载到 NAS:写进去的 .strm 只存在容器里,飞牛看不到。
要换位置得改 Docker 挂载,不是改这里
电影目录 → NAS 上的位置: /vol3/1000/影视/feiying/movies
改完立刻能看到后果,不用再去猜、也不用 SSH 查挂载。
已知问题
fpk 安装向导里填的媒体目录目前不生效,会默默挂到应用内部目录 /vol1/@appdata/feiying/media/*。如果你的飞牛媒体库指向别处,就会出现「入库显示成功、媒体库里却是空的」。
临时办法:在飞牛的 Docker 界面里直接改容器的挂载路径(/media/tv、/media/movies 两行,/data 那行别动),重建容器即可。
这个 bug 正在定位,修好后会单独发版。
升级
- Docker:
docker compose pull && docker compose up -d - 飞牛 fnOS: 下载下方 .fpk 覆盖安装
- Windows / 安卓: 下载下方对应附件
v1.4.6 — 自检直接告诉你飞牛媒体库该指哪个目录
自检里直接给出宿主目录路径
以前要搞清楚「容器里的 /media/movies 到底对应 NAS 上哪个目录」,得 SSH 进去 docker inspect。现在日志里直接写着:
[自检] 电影目录 /media/movies → 已挂载宿主目录, 可写
[自检] └ 宿主目录 /vol3/1000/影视/feiying/movies ← 飞牛媒体库就指这个
飞牛影视/Emby 建媒体库时把这个路径抄过去即可,不用再猜。
实现上,容器内其实没法可靠反推宿主绝对路径——/proc/self/mountinfo 给的是相对源文件系统根的路径,飞牛存储池是独立分区时会少 /volN 前缀,照抄反而是错的。所以 fpk 把你在安装向导里填的真实路径直接注入容器环境变量,自检优先用它。手动 docker 部署没有这个变量时会退回 mountinfo,并注明「若存储池是独立分区还要补 /volN」,不会让你抄一个残缺路径。
fpk 用户需要重装一次才能拿到这个功能(compose 模板变了,fnOS 只在安装时创建容器)。Docker 用户想要精确路径的话,可以在自己的 compose 里加:
environment:
- FEIYING_HOST_TV=/你的/剧集目录
- FEIYING_HOST_MOVIES=/你的/电影目录日志不再被劈成两行
print("...", 变量) 这种多参数写法在日志里会被拆行,异常信息经常单独甩到下一行,正是最需要看清的时候。已修:
修复前: [proxy] xray 已启动 pid
8
修复后: [proxy] xray 已启动 pid 8
升级
- Docker:
docker compose pull && docker compose up -d - 飞牛 fnOS: 下载下方 .fpk 覆盖安装
- Windows / 安卓: 下载下方对应附件
v1.4.5 — 启动自检 + 入库结果落日志
针对「入库显示成功、飞牛里却什么都没有」这类最难自己排查的问题。
启动自检
启动时和每次保存配置后自动检查一遍,结果打进日志页的 [自检] 行,有问题同时在首页红字提示:
[自检] 飞影 v1.4.5 | 数据目录 /data | 容器内运行
[自检] 剧集目录 /media/tv → ⚠ 没挂载宿主目录
[自检] 电影目录 /media/movies → 已挂载宿主目录, 可写
[自检] stream_base http://192.168.1.160:8890 → OK
[自检] 资源源 2 个: AE9527x, Youxiu_bot
[自检] AI: 已配 key | 模型 deepseek-chat
检查项:
- 媒体目录是不是真的挂载了宿主目录 —— 没挂载的话 .strm 只写进容器内部,飞牛/Emby 根本看不到,而界面上完全没有征兆。这是「入库成功但媒体库空空如也」最常见的原因
- 目录存在、可写(属主和容器 uid:gid 对不上会写入失败)
- 剧集/电影目录填成了同一个(飞牛的电视剧库和电影库会互相扫到对方内容)
- stream_base 填成目录 / 127.0.0.1 / Docker 容器 IP
- 资源源个数、AI key、代理模式、登录状态
桌面版和安卓版不检查挂载项,不会误报。
入库结果现在会落日志
以前 control.ingest 只在出错时写日志,成功路径全程静默,日志里看不到「到底入没入库」。现在五条出口都记一行,并带上 .strm 实际写入的目录,方便核对飞牛媒体库指的是不是同一个地方:
[control] 《千与千寻》电影 2001 已入库 → /media/movies/千与千寻 (2001),去飞牛刷新即可
[control] 《查无此片》没搜到资源(搜索过程见上面几行)
其他
- 修正日志打码规则:以前会把消息 id、文件大小、路径里的 UUID 当成手机号打码,日志没法看了。现在只打码真手机号和 sk- 开头的 key
升级
- Docker:
docker compose pull && docker compose up -d - 飞牛 fnOS: 下载下方 .fpk 覆盖安装
- Windows / 安卓: 下载下方对应附件
v1.4.4 — 多源分隔符放宽、拉黑 bot 时给人话提示
多个资源源怎么分隔
以前只认英文逗号,中文输入法打出的「,」会让整串被当成一个源名、全部失效。现在中英文逗号、分号、顿号、空格、换行都认:
AE9527x, @jisou ✅
AE9527x,@jisou ✅ (中文逗号,以前不行)
AE9527x @jisou ✅
拉黑了 bot 会说人话
如果你在 Telegram 里屏蔽过某个资源 bot,飞影没法给它发搜索请求,以前会抛一句看不懂的 YouBlockedUserError 而且整次入库直接失败。现在会明确告诉你:
你在 TG 里把 @xxx 拉黑了,飞影没法给它发搜索请求。去 Telegram 打开和它的对话点「解除屏蔽」/重新 /start 一下再试
而且只跳过这一个源,配了多个源的话其它源照常工作。单个源出任何问题都不会再拖垮整次搜索。
升级
- Docker:
docker compose pull && docker compose up -d - 飞牛 fnOS: 下载下方 .fpk 覆盖安装
- Windows / 安卓: 下载下方对应附件
v1.4.3 — 修 AI key 带空格失效、Docker 下填错 stream_base
两个从用户日志里发现的问题。
AI key 带空白导致完全不生效
粘贴 deepseek key 时如果带了首尾空格或换行,请求会直接失败:
LocalProtocolError("Illegal header value b'Bearer sk-xxxx '")
结果是 AI 匹配全程不工作、一路走正则兜底,但表面上看不出问题。现在保存时会自动去掉首尾空白,已经存坏的配置不用重新保存也会自愈。纯空白的 key 现在也正确当作「没配 key」处理。
Docker 下「一键填入」给出的是容器 IP
1.4.1 加的 stream_base「一键填入」用 socket 探测本机地址,在 Docker bridge 网络里探到的是容器自己的 IP(如 172.20.0.2),照着填飞牛和 PotPlayer 都打不开——等于主动教人填错,抱歉。
改成取你打开配置页时用的地址:既然浏览器能打开这个页面,那个 IP 就一定是通的。手动填成容器 IP 时也会给出提示。
升级
- Docker:
docker compose pull && docker compose up -d - 飞牛 fnOS: 下载下方 .fpk 覆盖安装
- Windows / 安卓: 下载下方对应附件
如果你之前填的 stream_base 是 172.x.x.x,升级后到配置页重新点一下「填入」再保存。
v1.4.2 — Web 运行日志页
网页上直接看运行日志
用 fpk 或安卓装的用户进不去 docker logs,出了问题只能干瞪眼。现在配置页标题旁多了个「🪵 日志」入口:
- 进程内最近 800 行,3 秒自动刷新,贴着底部会自动跟随新日志
- 「复制全部」一键复制,报问题时直接贴出来就行
- 密钥和手机号自动打码(日志页和配置页一样在局域网裸奔,不能把 deepseek key、登录手机号漏出去)
- 应用日志和 uvicorn 框架日志都收得到;原始输出照常透传,
docker logs不受影响
搜片失败、入库报错、代理断线的原因,现在网页上就能看到。
升级
- Docker:
docker compose pull && docker compose up -d - 飞牛 fnOS: 下载下方 .fpk 覆盖安装
- Windows / 安卓: 下载下方对应附件
v1.4.1 — 版本号显示、stream_base 防误填、长剧集数收全
回应飞牛论坛帖的三个反馈。
新增版本号显示
Web 首页标题旁显示当前版本并链到 Releases,有新版会提示(连不上 GitHub 就静默,不影响页面)。
stream_base 防误填
stream_base 是访问地址不是目录,填错会让 .strm 指向废地址、飞牛和 PotPlayer 都打不开。现在:
- 只填
192.168.3.8:8890会自动补成http://192.168.3.8:8890 - 填目录路径(如
/vol1/1000/feiying)拒绝保存并说明原因 - 填
127.0.0.1/localhost、或带多余路径,都会给出具体提示 - 没填时首页常驻红字警告
- 输入框和「一键填入」按钮直接用你的真实局域网 IP 拼好
长剧集数收不全
上百集的剧以前只能入库一部分(如 184 集只出 117 集)。候选收集链路上有四道上限,一起放开了:
- 每个群/频道翻的搜索结果 80 → 300 条
- 深链 bot 翻页上限 6 → 20 页
- 给 AI 的候选条数 150 → 400 条
- AI 输出上限设为 8192 token(184 集的集数清单接近默认 4K 上限,会被截断成半截 JSON 导致解析失败)
另外放开后按链接回扫频道的范围可能很大,加了保护避免触发 Telegram flood-wait。
升级
- Docker:
docker compose pull && docker compose up -d - 飞牛 fnOS: 下载下方 .fpk 覆盖安装
- Windows / 安卓: 下载下方对应附件
配置和已入库内容不受影响。
v1.4.0 — 去掉 Telegram 收藏夹交互
主要变更
去掉 Telegram 收藏夹交互(issue #2)
原来飞影会监听你的 Telegram 收藏夹(Saved Messages),把里面出现的任何消息当作片名去搜片入库。对把收藏夹当备份盘用的人来说这是灾难——转发个视频备份,媒体库里就凭空多出一堆片子。这个交互整个去掉了:
- 不再监听收藏夹,飞影不监听你的任何 TG 会话。入库只走 Web 页面(或电视大屏页)输入片名。
- 不再往收藏夹发更新通知。每 12 小时的追更结果改为记录在 Web 首页的「入库记录」里,TG 那边彻底安静。
- 修掉一个自触发循环:追更通知以
📺开头发到收藏夹,而当时的自我过滤白名单里没这个符号,于是每条通知又被监听器当片名再搜一遍入库。这是「莫名其妙多出影视」的另一半来源。
其他
- Web / 电视大屏页的入库结果提示更准确(电影、分段电影、搜不到分别给对应文案)
升级
- Docker:
docker compose pull && docker compose up -d - 飞牛 fnOS: 下载下方 .fpk 覆盖安装
- Windows 桌面版 / 安卓版: 下载下方对应附件
配置和已入库内容都不受影响。
v1.3.0 — Android 版首发 + 断点续缓 + 内置播放器
📱 Android 版首发(手机 / 平板 / 电视通用)
feiying-android_1.3.0_arm64.apk 下载直装(允许未知来源),同一套核心搬进安卓:
- 内置 ExoPlayer 播放器:媒体库点集数直接全屏播放,拖进度条标准 Range seek 不卡顿;格式不支持一键转外部播放器(mpv-android/VLC)
- 原生 AES 加速:下载速度从纯 Python 的几百 KB/s 提升到带宽上限
- 手机开着翻墙 App(VPN 模式)就不用配任何代理,直接登录 TG
- 前台服务常驻;国产 ROM 请给「自启动/无限制后台」权限
- 固定签名:以后升级直接覆盖安装,配置不丢;仅 arm64,Android 8.0+
📺 Android TV / 盒子大屏模式(同一个 APK)
装到电视上自动进入遥控大屏界面——电视端只有「搜索 + 媒体库」大按钮,方向键导航、OK 键播放、左右键快进退:
- 遥控零输入:全部配置(代理/登录 TG/资源源/AI)在同一 WiFi 下,用手机或电脑浏览器打开电视屏幕顶部显示的
http://电视IP:27125完成 - 手机网页上也能直接发片名入库,电视端刷新即见
- 安装:U 盘拷 APK / 当贝市场远程推送 / adb
⚡ 全平台:断点续缓
没下完的缓存重启后自动恢复预取(最近使用优先,最多 2 部并行,点播请求随时插队)——手机/电脑关掉应用再打开接着下,NAS 重启也接着下。
🖥 Windows 桌面版
feiying-desktop_1.3.0_win64.zip:解压即用,内置 mpv,含本次断点续缓与媒体库改进。
NAS 用户升级
Docker: docker compose pull && docker compose up -d;fpk 用户装 feiying_1.3.0_x86_64.fpk(镜像自动拉新)。