深色模式
Emby 助手
Emby 助手是 NanShare 的 302 重定向播放服务。它负责接收 Emby 播放 STRM 或路径请求,识别资源来源,获取 115、123 或其他后端直链,再把播放器重定向到可播放地址。
NanShare 使用 Caddy 实现反代,不依赖 nginx。Emby 助手可以与 115 助手、123 助手、路径替换、缓存管理、预缓存、同播复制和屏蔽客户端一起使用。
基本链路
- Emby 扫描本地 STRM 或挂载路径,用户点击播放。
- 播放请求进入 NanShare 的 Emby 助手接口。
- NanShare 根据 STRM 内容或路径前缀判断工作模式。
- 命中 115、123、路径替换、Pickcode、FileId、分享、123 STRM 或 ed2k 逻辑。
- 成功获取直链后写入缓存,并通过 302 返回播放器。
工作模式
完整匹配规则、执行顺序、路径替换和 Open API 差异见 模式与路基替换说明。
| 模式 | 适用来源 | 说明 | 同播复制 |
|---|---|---|---|
| 115 分享模式 | 115 分享链接生成的 STRM | 通过 share_code、receive_code、id 获取分享文件直链 | 支持 |
| 路径替换模式 | CloudDrive2、Alist、本地挂载路径 | 把 Emby 路径前缀替换为 NanShare 配置名称或 HTTP 后端 | 视目标而定 |
| Pickcode 模式 | 115 pickcode STRM | 通过 pickcode 获取 115 文件直链 | 支持 |
| FileId 模式 | 115 文件 ID | 通过 fileId 获取 115 文件直链 | 支持 |
| 123 STRM 模式 | 123 文件参数 | 通过 size、md5、s3 key flag 获取 123 直链 | 不支持 |
| ed2k 模式 | ed2k STRM | 通过 ed2k 任务链路获取播放入口 | 视配置而定 |
| 自定义 302 后端 | OpenList、Alist 或其他直链后端 | 路径替换到 HTTP URL,NanShare 自动获取链接并重定向 | 不支持 |
分享模式
分享模式适合由 115 分享 STRM 工具生成的链接。STRM 内容通常包含:
text
http://host:8115/api/?share_code=xxx&receive_code=xxx&id=12345&name=电影.mkv字段说明:
| 字段 | 说明 |
|---|---|
share_code | 115 分享码 |
receive_code | 115 分享接收码 |
id | 分享文件 ID |
name | 文件名,用于日志、缓存和播放器识别 |
分享模式可以配合同播复制使用。多设备播放同一部影片时,NanShare 可以复用或复制已获取到的链接,减少重复请求。
路径替换模式
路径替换用于把 Emby 看到的本地路径、CloudDrive2 路径、Alist URL 或其他 HTTP URL 映射到 NanShare 的账号配置或 302 后端。
规则格式:
text
路径前缀 => 配置名称或HTTP地址示例:
text
/CloudNAS/CloudDrive/115open => 115一号
/CloudNAS/CloudDrive/123云盘 => 123二号
/CloudNAS/CloudDrive/夸克网盘 => 夸克一号
/CloudNAS/CloudDrive/天翼云盘 => 天翼一号
/volume2/cloudnas/天翼云盘 => http://172.17.0.1:8515/d
http://10.0.0.194:5678/d => http://10.0.0.194:5244/d/小雅网盘
G:/115 => 115一号
https://alist.example.com/d/115 => 115二号匹配规则:
- 每行一条规则,
=>左侧是 Emby 中出现的路径前缀。 - 右侧可以是 NanShare 内的 115、123、夸克、天翼配置名称,也可以是 HTTP URL。
- 规则按顺序匹配,越具体的路径应写在越前面。
- Windows 路径中的反斜杠会按
/归一化处理。 - HTTP/HTTPS URL 前缀匹配前会做 URL 解码。
- HTTP URL 后端使用固定缓存时间,不能使用同播复制。
Pickcode 模式
Pickcode 模式用于 115 文件。NanShare 会识别 redirect115、pickcode、/d/{pickcode}、/play115/{pickcode} 等形式。
示例:
text
http://host:8115/api/?redirect115&abchrb6gnrw0hhh80&电影.mkv
http://host:8115/api/?redirect115&abchrb6gnrw0hhh80&3312677223653037366&a94a8fef8c17b2d69d61f7c5b4b3e3a2c1b2a3c4&电影.mkv
http://host:8115/api/?pickcode=abcdef123&name=电影.mkv
http://host:8115/d/abchrb6gnrw0hhh80?/电影.mkv
http://host:8115/play115/abchrb6gnrw0hhh80/3312677223653037366/a94a8fef8c17b2d69d61f7c5b4b3e3a2c1b2a3c4/电影.mp4在同时出现 pickcode 和 fileId 的情况下,Pickcode 模式优先。
FileId 模式
FileId 模式适合只有 115 文件 ID 的场景。
示例:
text
http://host:8115/api/?redirect115&3312677223653037366&电影.mkv
http://host:8115/shareVideoPlayUrl?fileId=3312677223653037366&account=115一号
http://host:8115/videoPlayUrl?fileId=3312677223653037366&account=115一号FileId 必须是纯数字。若同一链接中同时能识别到 pickcode,NanShare 会优先按 Pickcode 处理。
123 STRM 模式
123 STRM 使用文件大小、MD5 和 s3 key flag 识别文件。
text
http://host:8115/api/?redirect123&1073741824&abc123md5hash&flag1234&电影.mkv
http://host:8115/api/?redirect123&1073741824&abc123md5hash&flag1234123 STRM 模式可以配合 123 助手配置获取直链,但不支持同播复制。
同播复制
同播复制用于多设备播放同一部影片时复用已获取的播放链接。适合 115 分享、Pickcode、FileId 和秒传播放等模式。
建议:
- 同一局域网多终端同时播放时开启。
- 缓存时间不要过短,否则复制收益会降低。
- 123 STRM 和 HTTP URL 后端不使用同播复制。
预缓存
预缓存会在用户打开电影或电视剧详情页时提前获取下载链接并写入缓存。播放时如果缓存仍有效,可以直接使用,减少首播等待。
能力说明:
- 支持电影详情页预缓存。
- 支持电视剧按集预缓存,点开哪集缓存哪集。
- 支持 Emby 助手和秒传播放。
- 可按 Emby 账号单独设置,避免所有用户无脑缓存。
- 可限制电影或剧集缓存版本数。
- 不支持 Infuse 的详情页预缓存行为。
缓存 TTL
缓存 TTL 决定直链保留多久。过短会增加接口请求和播放等待,过长可能遇到网盘直链过期。建议根据账号类型和实际播放稳定性调整。
在缓存管理中可以查看:
- 普通缓存。
- 秒传缓存。
- 剩余时间。
- 删除或清空指定缓存。
屏蔽客户端
Emby 助手和秒传播放都支持屏蔽客户端。适合阻止特定播放器、设备或异常客户端触发播放、秒传或预缓存。
常见策略:
- 允许家庭常用客户端。
- 屏蔽测试客户端或高频异常客户端。
- 对不支持预缓存的客户端单独关闭预缓存。
Open API 影响
115 Open API 可以用于 Emby 助手获取直链、同播复制和秒传相关能力。启用前请确保 115 助手中已经有有效 Open Token。
WARNING
秒传播放的分享模式不支持 115 Open API,因为 Open API 不支持分享下载。分享模式需要使用对应 Cookie 能力。