引言
期末考完啦~ 转眼又忙碌了两个多月。这个插件是上个月做的,期间自己一边用一边迭代,在自己的Emby上迭了五代左右才缝出了一个自己比较满意的一个版本。然后由于期末啊部门啊杂七杂八的事情,就拖到了现在才着手写这篇文章(嘿嘿)。
不过读书人的事,怎么能叫拖呢,我这是在灰度测试~(疯狂点头)
现在的版本算是一个我比较满意的版本,也希望你能够喜欢~ 如果觉得可以的话,请在Github上给我一个小⭐⭐~ 谢谢!!!
这是什么?
EmbyFlow 是一个 Emby 首页轮播图/横幅增强脚本,基于 Emby-Home-Swiper-UI 做了深度优化与重构:保留原作漂亮的视觉表现,同时砍掉冗余功能,引入骨架屏异步加载,并把“播放续播”和“内容刷新”这两块核心体验做了重写。
预览图:
它有哪些优点?
感知更快:骨架屏 + 异步加载
- 图片没加载出来之前先用骨架屏占位,减少闪烁,首页观感更“稳”。
- 轮播界面更轻,资源占用更低。
更省心:自适应不同屏幕
- 内置屏幕宽度检测,桌面/平板/手机都能适配。
- 屏幕旋转/尺寸变化时也能跟着调整。
更顺滑:播放与续播更可靠
- 修复了原插件中 “PLAY” 按钮播放进度同步不准的问题,续播更贴近 Emby 实际进度。
更准确:首页推荐刷新机制重写
- 重写内容刷新逻辑:日期变化时先检查是否有新数据,仅在确实有更新时才刷新。
更一致:保持原生观感
- 继续沿用现代化 UI 风格,整体更贴近 Emby 原生界面,不显突兀。
安装
下面提供两种方式:直接覆盖 Web UI 文件(适合裸机/群晖/常规安装),以及 Docker Compose 注入脚本(适合容器)。
方式一:直接安装(修改 Web UI)
思路很简单:把 home.js 放进 Emby 的 Web UI 目录,并在 index.html 里引入它。
1) 找到 Emby 的 Web UI 目录(以群晖标准安装为例):
/volume1/@appstore/EmbyServer/system/dashboard-ui/
2) 下载 home.js 并放到该目录(任选其一):
# Linux(curl)
curl -L -o home.js "https://raw.githubusercontent.com/seestars/EmbyFlow/main/home.js"
# Linux(wget)
wget -O home.js "https://raw.githubusercontent.com/seestars/EmbyFlow/main/home.js"
# 群晖(根据实际路径调整)
sudo su -c 'cd /volume1/@appstore/EmbyServer/system/dashboard-ui && curl -L -o home.js "https://raw.githubusercontent.com/seestars/EmbyFlow/main/home.js"'
3) 编辑 index.html,在 <body> 中加入:
<!-- EmbyFlow -->
<script src="home.js"></script>4) 重启 Emby 服务或强制刷新浏览器缓存,首页应该就能看到轮播横幅。
5) (可选)调试:打开浏览器开发者工具(F12)看控制台报错;也可以在控制台手动初始化:
HomeSwiper.init()
方式二:Docker Compose(容器)部署
容器环境推荐用脚本注入,这样无需自己修改主页文件,而且在 Emby 镜像更新后脚本能自动把home.js写入主页。
1) 下载文件到你的 Compose 项目目录(与 docker-compose.yml 同级):
home.jsscript.sh
curl -L -o home.js "https://raw.githubusercontent.com/seestars/EmbyFlow/main/home.js"
curl -L -o script.sh "https://raw.githubusercontent.com/seestars/EmbyFlow/main/script.sh"
chmod +x script.sh
2) 修改 docker-compose.yml,在 emby 服务的 volumes 里添加:
- ./script.sh:/etc/cont-init.d/99-custom-patch.sh
- ./home.js:/system/dashboard-ui/home.js修改后如:
embyserver:
image: emby/embyserver:latest
container_name: embyserver
restart: unless-stopped
devices:
- /dev/dri:/dev/dri
ports:
- "28096:8096"
volumes:
- ./emby/config:/config
- /mount/data:/mnt/Anime
- ./script.sh:/etc/cont-init.d/99-custom-patch.sh
- ./home.js:/system/dashboard-ui/home.js99-custom-patch.sh
networks:
- media
environment:
- UID=33
- GID=33
3) 重启容器:
docker compose restart
4) (可选)调试:打开浏览器开发者工具(F12)看控制台报错;也可以在控制台手动初始化:
HomeSwiper.init()
结尾
其实一开始只是想找个emby-crx的平替插件,但是一直找不到满意的,而且原Emby-Home-Swiper-UI的Bugs实在是太多了!!!想着那还不如自己来,于是自己便在AI的帮助下修修补补完成了这版插件。
我后面在调试时,有发现过几个Bugs,但是感觉再加整个脚本会太过于臃肿,而且在实际运行时影响不会很大。如果你有什么好的修改办法也可以提交request给我呀~😽




Comments | NOTHING