emby-nginx
是一款为 115网盘strm+302直链播放 123云盘strm+302直链播放 openlist strm+302直链播放 给Emby服务器+飞牛影视等直链播放工具,支持 Docker、Windows安装 多网盘登录,多emby服务器直链播放及 多种路径STRM 文件极速生成
核心功能
安全保护
启用程序自锁机制,超过五次输错密码程序自锁。网盘cookie账号密码api密钥默认防查看,防复制机制,保护密保不被泄露。
自动化配置
扫115网盘二维码登录Cookie各个端,登录官方认证的115网盘open和123云盘open,直链播放115网盘或123云盘。生成基于openlist生成的网盘strm文件+直链播放
实时监控
基于事件通知实时监控115网盘文件变动,自动同步生成或删除STRM文件,基于cd2webhook实时监控生成删除123云盘strm文件,任何strm增减秒级同步刷新Emby海报墙。
媒体信息获取
实时生成STRM并探测文件媒体信息,支持字幕文件自动下载。
微信机器人
企业微信Webhook通知,STRM生成/更新提醒,Cookie失效自动提醒并重新生成二维码。emby入库播放通知,观影账户反馈登录城市ip通知,避免不明异地302播放风控
WebDAV支持
通过5002端口开启WebDAV服务,支持芝度、腾讯极光,Infuse、vidhub等播放器直接刮削封面并在线播放。
123云盘特别支持
生成123云盘反代直链播放,支持115网盘资源无需下载直接离线至123云盘。
独家功能
快速生成ED2K链接
独创的选择模式和实时监控115网盘文件的ed2k链接,多元化分享链接。
115转123云盘
利用合理方式灵活选择115文件高速离线进123云盘,实现跨网盘资源高速迁移。
多设备同时播放
独创同一网盘视频文件同时被7个设备在线播放观看,满足家庭共同观影。
多账号负载均衡
独家均衡负载多个网盘账号同时挂载运用自如,提升系统稳定性和性能。
多服务器反代
首创nginx同时反代多个emby/jellfin,外加飞牛影视,统一反代多个媒体服务器直链播放。
硬链接轮询监控
利用硬链接轮询监控秒上传文件,节省上传宽带占用,避免家宽上传大被封控。
精准媒体信息探测
内置emby媒体文件信息精准控制线程全量+追更探测,确保秒起播和媒体信息完整性。
远程STRM挂载
首创内置webdav把strm文件远程挂载识别刮削,实现跨设备识别刮削。
一键部署
Docker Run 方式
docker run -d \ --name emby-nginx \ -p 7001:7001 \ -p 8021:8001 \ -p 9527:9527 \ -p 5002:5002 \ -v /vol1/1000/emby-nginx/strm:/strm \ -v /vol1/1000/emby-nginx/backup:/app/backup \ --network bridge \ --restart unless-stopped \ yantaocheng/emby-nginx:latest
Docker Compose 方式
version: '3.8'
services:
emby-nginx:
image: yantaocheng/emby-nginx:latest
container_name: emby-nginx
ports:
- "7001:7001"
- "8021:8001"
- "9527:9527"
- "5002:5002"
volumes:
- /vol1/1000/emby-nginx/strm:/strm
- /vol1/1000/emby-nginx/backup:/app/backup
network_mode: bridge
restart: unless-stopped
详细使用说明
安装与登录
首先通过docker命令拉取或compose命令部署容器。成功运行后,在浏览器输入局域网IP:9527访问后台。
- 首次安装用户名和密码生成于docker日志
- 登录后建议及时修改用户名密码(本地存储机制密码存于/backup的.db文件内)
仪表盘功能
这是通过Emby插件Playback Reporting实现的观影数据可视化界面。
- 当成功显示饼状图时,表明Emby-Nginx与Emby服务器的反向代理连接正常
- 若无数据显示,需检查:1.插件是否安装 2.地址否统一 3.反代配置是否正确
用户信息管理
- UUID是设备生成的唯一标识码,设备不变时即使升级版本也不会改变
- 激活码需将UUID发送给开发者获取,同一UUID可重复激活
- 及时修改用户名密码,密码输错超过五次,程序自锁,需手动重启容器
Cookie配置
支持三种配置方式:
- 115网盘:扫描非主用端的二维码获取Cookie,还可扫码登录115open(分工合作避免风控)
- 123云盘:支持123账号密码登录添加cookie模块
- 其他网盘:联动openlist添加openlist模块
Strm文件生成
提供三种生成模式:
- 本地Strm:实时监控115网盘变化,生成到strm/local目录供Emby挂载,支持定时全量生成(cron表达式)
- 外网Strm:通过5002端口WebDAV提供strm/online目录,适用芝杜/Infuse等播放器(有Emby时建议直接用Emby)
- openlistStrm:通过openlist的cookie模块生成115和123云盘以外的网盘strm文件
媒体服务器
Emby反代配置:
- 必须填写准确的本地地址(如http://192开头局域网地址:8096)和API密钥
- 播放端口从原生8096变为直链端口7001
- 支持多个Emby配置(通过+号添加)
飞牛影视直链反代:
- 115网盘123云盘本地挂载刮削(因飞牛不支持Strm解析)
- 播放端口从8005变为直链端口8021
实用工具
- 封面生成器:在Emby完成刮削后,可立即或定时生成高清封面
- Strm批处理:支持批量删除错误文件,或全局替换strm内路径前缀
- 115转123:获取115文件直链地址,通过123离线下载转移文件至123云盘
- 123离线下载:支持http/https和磁力链接粘贴后离线下载至123云盘
- 115分享strm:可生成他人分享的115大包链接的strm供刮削播放
- 媒体信息探测:全量刮削emby节目的视频文件格式信息
- 网盘生成ED2K:灵活选择生成115网盘文件的ed2k链接
- 硬链接监控秒传:轮询监控本地下载文件夹内文件秒传进网盘
消息通知系统
通过企业微信机器人Webhook接收:
- 实时系统日志
- Emby事件通知(入库/播放/暂停)
- 特殊机制:利用Emby刮削成功通知触发媒体文件信息追更探测
右上角功能区
- 教程文档:完整教程文档和问题解决方案
- 版本信息:查看当前版本号和更新日志
- 运行日志:所有操作记录的集中显示,错误排查时建议:
- 关注ERROR级别日志
- 按时间戳定位问题
关键注意事项
- 直链播放必须使用反代端口播放(Emby用7001,飞牛用8021)
- 重要操作前建议备份/backup目录
- 探测媒体信息需关闭神医助手提取媒体信息独占
端口和STRM文件说明
端口映射说明
- 9527:9527 - 管理后台访问端口,STRM文件外网访问的"前缀通道"
- 7001:7001 - 反向代理Emby/Jellyfin的8096端口,实现302直链
- 5002:5002 - WebDAV服务端口,支持播放器直接挂载
- 8021:8001 - 飞牛影视系统专用直链反代端口
文件夹说明
- /strm/local - 本机Emby/Jellyfin容器映射的STRM文件目录
- /strm/online - 外部播放器使用的STRM文件,通过WebDAV挂载
- /strm/openlist - 存放基于挂载在openlist网盘的strm文件
Windows版本下载
获取支持
扫码关注微信公众号获取技术支持
免激活体验一天,随后可扫码关注微信公众号: emby-nginx助手 发送"激活码"获取购买方式激活
记得发送UUID至: yantaocheng@outlook.com 索要激活码邮件
配合工具
Emby 服务器部署
docker run -d \ --name embyserver \ -e PUID=0 \ -e PGID=0 \ -e TZ=Asia/Shanghai \ -v /vol1/1000/emby/config:/config \ -v /vol1/1000/emby-nginx/strm:/strm \ -p 8096:8096 \ --restart unless-stopped \ linuxserver/emby:latest
version: "3.8"
services:
embyserver:
image: linuxserver/emby:latest
container_name: embyserver
environment:
- PUID=0
- PGID=0
- TZ=Asia/Shanghai
volumes:
- /vol1/1000/emby/config:/config
- /vol1/1000/emby-nginx/strm:/strm
ports:
- 8096:8096
restart: unless-stopped
Docker Copilot 部署
docker run -d \ --name dockercopilot \ --restart always \ --privileged \ --network bridge \ -p 12712:12712 \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /vol1/1000/data:/data \ -e TZ=Asia/Shanghai \ -e DOCKER_HOST=unix:///var/run/docker.sock \ -e secretKey=aa123456 \ 0nlylty/dockercopilot:latest
version: '3.8'
services:
dockercopilot:
image: 0nlylty/dockercopilot:latest
container_name: dockercopilot
restart: always
privileged: true
network_mode: bridge
ports:
- "12712:12712"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /vol1/1000/data:/data
environment:
- TZ=Asia/Shanghai
- DOCKER_HOST=unix:///var/run/docker.sock
- secretKey=aa123456
CloudDrive2 容器配置
docker run -d \ --name clouddrive2 \ --restart unless-stopped \ -e TZ=Asia/Shanghai \ -e CLOUDDRIVE_HOME=/Config \ -v /vol1/1000/CloudNAS:/CloudNAS:shared \ -v /vol1/1000/docker/clouddrive2/config:/Config \ -v /vol1/1000/emby-nginx/strm:/strm:shared \ --device /dev/fuse \ --privileged \ --pid=host \ -p 19798:19798 \ cloudnas/clouddrive2:latest
version: '3.8'
services:
clouddrive2:
image: cloudnas/clouddrive2:latest
container_name: clouddrive2
restart: unless-stopped
environment:
- TZ=Asia/Shanghai
- CLOUDDRIVE_HOME=/Config
volumes:
- /vol1/1000/CloudNAS:/CloudNAS:shared
- /vol1/1000/docker/clouddrive2/config:/Config
- /vol1/1000/emby-nginx/strm:/strm:shared
devices:
- /dev/fuse
privileged: true
pid: host
ports:
- "19798:19798"
CloudSaver 容器配置
docker run -d \ -p 8008:8008 \ -v /vol1/1000/cloud-saver/data:/app/data \ -v /vol1/1000/docker/cloud-saver/config:/app/config \ --name cloud-saver \ jiangrui1994/cloudsaver:latest
version: '3.8'
services:
cloud-saver:
image: jiangrui1994/cloudsaver:latest
container_name: cloud-saver
ports:
- "8008:8008"
volumes:
- /vol1/1000/cloud-saver/data:/app/data
- /vol1/1000/docker/cloud-saver/config:/app/config
Clash Meta 容器配置
docker run -d \ --name clash-meta \ --restart unless-stopped \ -p 7890:7890 \ -p 7891:7891 \ -p 9090:9090 \ -v /vol1/1000/clash-meta:/root/.config/clash \ -e TZ=Asia/Shanghai \ ghcr.io/metacubex/clash-meta:latest
version: '3.8'
services:
clash-meta:
image: ghcr.io/metacubex/clash-meta:latest
container_name: clash-meta
restart: unless-stopped
ports:
- "7890:7890" # HTTP 代理
- "7891:7891" # SOCKS5 代理
- "9090:9090" # 控制面板
volumes:
- /vol1/1000/clash-meta:/root/.config/clash
environment:
- TZ=Asia/Shanghai