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海报墙。

📱

多平台支持

完美适配EmbyJellyfin飞牛影视,极影视,以及芝度绿联InfuseVidhub等主流播放器。

🎬

媒体信息获取

实时生成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 Windows版

适用于Windows系统的emby-nginx助手

下载emby-nginx

Emby Server Windows版

官方Emby Server Windows版本

下载Emby Server

获取支持

微信公众号二维码

扫码关注微信公众号获取技术支持

免激活体验一天,随后可扫码关注微信公众号: emby-nginx助手 发送"激活码"获取购买方式激活

记得发送UUID至: yantaocheng@outlook.com 索要激活码邮件

加入Telegram交流群

配合工具

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
使用声明(嵌入版)
请牢记观影初心,运行稳定后就回归观影和回归生活吧!