logo NodeSeekbeta

【开源】不想再为管理多个Emby服折腾了,所以我写了一个聚合反代网关

  • xhj003

  • 反馈一个 Emby 前后端分离服的漏流问题。

    EmbyProxy v1.0.18,Docker 部署,前面是 Nginx Proxy Manager。节点已关闭“直连外链”。

    测试结果:
    Android Yamby 正常,视频流会经过 EmbyProxy,日志里能看到 [206] playbackStream。
    但 SenPlayer 和 RodelPlayer 会漏流,只看到 API、PlaybackInfo、播放进度请求经过 EmbyProxy,真正视频流没有经过代理。

    开了流量捕获看了一下,发现这个接口:

    GET /节点/密钥/emby/Users/.../Items/201602?Fields=...MediaSources...

    返回体里带了上游原始直链:

    MediaSources[].DirectStreamUrl = https://cf.xxxxemby.com/videos/201602/original.mkv?...

    SenPlayer / RodelPlayer 似乎会直接使用这个 DirectStreamUrl 播放,所以绕过了 EmbyProxy。

    希望在关闭“直连外链”时,EmbyProxy 能处理这些字段:
    MediaSources[].DirectStreamUrl
    TranscodingUrl
    StreamUrl

    最好能改写成 EmbyProxy 网关路径,或者直接移除,避免部分客户端直连上游后端。

    涉及接口可能至少有:
    /Users/.../Items/{ItemId}
    /Items/{ItemId}/PlaybackInfo

    以上都是让Codex看完日志帮我总结的 xhj002

  • 图片代理缓存,这个是模拟的播放器请求嘛?视频可不可以绕过服务端的下载限制,也缓存起来呀?主要是最近 115 晚上速度老是限速。

  • @zhfeng #84
    整个程序就是转发播放器的请求,中途进行伪装改一下,图片这种需要高并发请求的,进行缓存会提高客户端的响应。暂不考虑视频的缓存,占用资源太大了,而且客户端本身就能缓存。

  • @ingnbgreat #82
    根据你给的描述改了下,并创建了个dev镜像,可以使用这个镜像测试看看,如果没有漏流的话,再发版(PC端由于有了Hills,没有再买小幻了,另外没有IOS设备 ac01 )

    EMBYPROXY_IMAGE=hkfires/embyproxy:dev docker compose up -d
    
  • @hkfires #86 发布于2026/7/8 07:26:02
    @ingnbgreat #82
    根据你给的描述改了下,并创建了个dev镜像,可以使用这个镜像测试看看,如果没有漏流的话,再发版(PC端由于有了Hills,没有再买小幻了,另外没有IOS设备 ac01 )

    EMBYPROXY_IMAGE=hkfires/embyproxy:dev docker compose up -d
    

    貌似没漏了,测试了小幻和SenPlayer正常的,后台也看到了推流走了反代域名,没有漏走Emby原始推流地址

    想请教一下这种问题是怎么修的,NPM反代这种服务器也是类似的毛病

  • @ingnbgreat #87
    就是按你描述的情形,没有开直连的情况下,与程序中配置的上游如果是同一个Host的话,就把MediaSources中的DirectStreamUrl、TranscodingUrl、StreamUrl强制改为相对地址。
    我这里还复现不了,我试了几个服务器,不管有没有这个改动,返回的都是相对地址,应该是前后端分离的会有这个问题。

  • @hkfires #88
    佬刚刚 v1.0.19 这版是不是修了前面的问题,不用继续钉dev了吧

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有72280位seeker

🎉欢迎新用户🎉