bpking1 / embyExternalUrl

some emby/jellyfin scripts
MIT License
648 stars 120 forks source link

请教Plex不通过Alist实现302应该如何配置? #274

Closed Alano-i closed 1 month ago

Alano-i commented 1 month ago

请教大佬,

如果不使用alist,而是使用其他直接获取302直链的项目(比如115 file list)应该如何调整设置? 尝试下面的配置,但是没有成功(相同的配置方法emby好像能成功)。

Plex 中媒体路径是: /CloudNAS/115/电影/阿凡达.mkv 302直链项目的地址是:http://10.0.0.50:9302/电影/阿凡达.mkv (直接把这个链接放到播放器能通过302正常播放)

我目前的配置是(仅列出修改项):

constant.js

const plexHost = "http://10.0.0.10:32400";
const mediaMountPath = [""];

constant-pro.js

const mediaPathMapping = [
  [0, 0, "/CloudNAS/115", "http://10.0.0.50:9302"],
];

constant-mount.js 没有修改内容

谢谢!

Alano-i commented 1 month ago

播放影片时 error.log 中日志如下

```js 2024/07/09 01:04:35 [warn] 24#24: *1205 js: === plexApiHandler: /hubs/continueWatching/items, the NJS VM is destroyed === 2024/07/09 01:06:04 [warn] 24#24: *1205 js: === plexApiHandler: /status/sessions, the NJS VM is destroyed === 2024/07/09 01:06:04 [warn] 24#24: *1205 js: === plexApiHandler: /status/sessions, the NJS VM is destroyed === 2024/07/09 01:06:39 [warn] 24#24: *1205 js: === plexApiHandler: /status/sessions, the NJS VM is destroyed === 2024/07/09 01:06:39 [warn] 24#24: *1205 js: === plexApiHandler: /status/sessions, the NJS VM is destroyed === 2024/07/09 01:06:39 [warn] 24#24: *1205 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/6/03/0000000036 while reading upstream, client: 10.0.0.50, server: default, request: "GET /hubs/continueWatching/items?contentDirectoryID=26%2C27%2C1%2C4%2C10%2C12%2C2%2C11%2C3%2C9%2C17%2C18%2C8%2C23%2C24&X-Plex-Product=Plex%20Web&X-Plex-Version=4.125.1&X-Plex-Client-Identifier=xdqp29jacnme0lnwmp8brr3y&X-Plex-Platform=Chrome&X-Plex-Platform-Version=126.0&X-Plex-Features=external-media%2Cindirect-media%2Chub-style-list&X-Plex-Model=bundled&X-Plex-Device=OSX&X-Plex-Device-Name=Chrome&X-Plex-Device-Screen-Resolution=1920x874%2C1920x1080&X-Plex-Container-Start=0&X-Plex-Container-Size=40&X-Plex-Token=Gmwp-rPqrr444oF5t51&X-Plex-Provider-Version=6.5&X-Plex-Text-Format=plain&X-Plex-Drm=widevine&X-Plex-Language=zh HTTP/1.1", subrequest: "/hubs/continueWatching/items", upstream: "http://10.0.0.10:32400/hubs/continueWatching/items?contentDirectoryID=26%2C27%2C1%2C4%2C10%2C12%2C2%2C11%2C3%2C9%2C17%2C18%2C8%2C23%2C24&X-Plex-Product=Plex%20Web&X-Plex-Version=4.125.1&X-Plex-Client-Identifier=xdqp29jacnme0lnwmp8brr3y&X-Plex-Platform=Chrome&X-Plex-Platform-Version=126.0&X-Plex-Features=external-media%2Cindirect-media%2Chub-style-list&X-Plex-Model=bundled&X-Plex-Device=OSX&X-Plex-Device-Name=Chrome&X-Plex-Device-Screen-Resolution=1920x874%2C1920x1080&X-Plex-Container-Start=0&X-Plex-Container-Size=40&X-Plex-Token=Gmwp-rPqrr444oF5t51&X-Plex-Provider-Version=6.5&X-Plex-Text-Format=plain&X-Plex-Drm=widevine&X-Plex-Language=zh", host: "plex.xxx.com:88" 2024/07/09 01:06:39 [warn] 24#24: *1205 js: === plexApiHandler: /hubs/continueWatching/items, the NJS VM is destroyed === 2024/07/09 01:06:44 [warn] 23#23: *1333 js: === plexApiHandler: /library/metadata/291520, the NJS VM is destroyed === 2024/07/09 01:06:47 [warn] 23#23: *1333 js: === plexApiHandler: /library/metadata/296881, the NJS VM is destroyed === 2024/07/09 01:06:48 [warn] 23#23: *1333 js: redirect2Pan, UA: libmpv 2024/07/09 01:06:48 [warn] 23#23: *1333 js: getPlexItemInfo r.uri: /library/parts/415259/1719656153/file.mp4 2024/07/09 01:06:48 [warn] 23#23: *1333 js: 0ms, getPlexItemInfo async function cost 2024/07/09 01:06:48 [warn] 23#23: *1333 js: get filePath from cache partInfoDict 2024/07/09 01:06:48 [warn] 23#23: *1333 js: notLocal: false 2024/07/09 01:06:48 [warn] 23#23: *1333 js: mount plex file path: /CloudNAS/115/影音视界/动漫/斗破苍穹 (2017)/Season 5/斗破苍穹 2017 S05E101 WEB-DL 2160p H.265 AAC.mp4 2024/07/09 01:06:48 [warn] 23#23: *1333 js: hit proxy, maybe is localFile: [""] 2024/07/09 01:06:48 [warn] 23#23: *1333 js: getRouteMode: proxy 2024/07/09 01:06:48 [warn] 23#23: *1333 js: use original link 2024/07/09 01:06:48 [warn] 23#23: *1333 js: routeL1Dict add: [/library/parts/415259/1719656153/file.mp4] : [@root] 2024/07/09 01:06:50 [warn] 23#23: *1333 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/7/03/0000000037 while reading upstream, client: 10.0.0.50, server: default, request: "GET /library/parts/415259/1719656153/file.mp4?X-Plex-Token=UCNBHPA_zMfvVryFkBjQ HTTP/1.1", upstream: "http://10.0.0.10:32400/library/parts/415259/1719656153/file.mp4?X-Plex-Token=UCNBHPA_zMfvVryFkBjQ", host: "plex.xxx.com:88" 2024/07/09 01:06:51 [warn] 23#23: *1359 js: redirect2Pan, UA: libmpv 2024/07/09 01:06:51 [warn] 23#23: *1359 js: hit cache routeL1Dict: @root 2024/07/09 01:06:51 [warn] 23#23: *1359 js: === redirect2Pan: /library/parts/415259/1719656153/file.mp4, the NJS VM is destroyed === 2024/07/09 01:06:51 [warn] 23#23: *1333 js: === redirect2Pan: /library/parts/415259/1719656153/file.mp4, the NJS VM is destroyed === 2024/07/09 01:06:52 [warn] 23#23: *1359 js: redirect2Pan, UA: libmpv 2024/07/09 01:06:52 [warn] 23#23: *1359 js: hit cache routeL1Dict: @root 2024/07/09 01:06:52 [warn] 23#23: *1359 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/8/03/0000000038 while reading upstream, client: 10.0.0.50, server: default, request: "GET /library/parts/415259/1719656153/file.mp4?X-Plex-Token=UCNBHPA_zMfvVryFkBjQ HTTP/1.1", upstream: "http://10.0.0.10:32400/library/parts/415259/1719656153/file.mp4?X-Plex-Token=UCNBHPA_zMfvVryFkBjQ", host: "plex.xxx.com:88" 2024/07/09 01:06:52 [warn] 24#24: *1388 js: redirect2Pan, UA: libmpv 2024/07/09 01:06:52 [warn] 24#24: *1388 js: hit cache routeL1Dict: @root 2024/07/09 01:06:53 [warn] 23#23: *1359 js: === redirect2Pan: /library/parts/415259/1719656153/file.mp4, the NJS VM is destroyed === 2024/07/09 01:06:53 [warn] 24#24: *1388 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/9/03/0000000039 while reading upstream, client: 10.0.0.50, server: default, request: "GET /library/parts/415259/1719656153/file.mp4?X-Plex-Token=UCNBHPA_zMfvVryFkBjQ HTTP/1.1", upstream: "http://10.0.0.10:32400/library/parts/415259/1719656153/file.mp4?X-Plex-Token=UCNBHPA_zMfvVryFkBjQ", host: "plex.xxx.com:88" 2024/07/09 01:06:58 [warn] 23#23: *1394 js: === plexApiHandler: /status/sessions, the NJS VM is destroyed === 2024/07/09 01:06:58 [warn] 23#23: *1396 js: === plexApiHandler: /status/sessions, the NJS VM is destroyed === ```
chen3861229 commented 1 month ago

看日志,是这块代码错误判断了,快速修复的话,可以手动注释掉这段,之后我想办法区分下这个情况, plex2Alist\nginx\conf.d\common\util.js 第 150 至 154 行

// indeterminate, regard notLocal and mediaMountPath empty default as local file
    // if (mountPath && Array.isArray(mountPath) 
    //   && (mountPath.length === 0 || mountPath.every(p => p.length === 0)) && !notLocal) {
    //   ngx.log(ngx.WARN, `hit proxy, maybe is localFile: ${JSON.stringify(mountPath)}`);
    //   return true;
    // }
Alano-i commented 1 month ago

使用最新的去除那4行后还是没有302,看日志好像还是去连alist了,因为没修改 constant-mount.js添加alist用的另外的获取302直链的项目,所以还是没成功,麻烦再帮忙看看。

```js 2024/07/09 22:36:02 [warn] 27#27: *530 js: === redirect2Pan: /library/parts/418712/1720492366/file.mp4, the NJS VM is destroyed === 2024/07/09 22:36:03 [warn] 21#21: *659 js: === plexApiHandler: /library/metadata/300207, the NJS VM is destroyed === 2024/07/09 22:36:03 [warn] 20#20: *644 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/9/02/0000000029 while reading upstream, client: 10.0.0.50, server: default, request: "GET /hubs/continueWatching/items?contentDirectoryID=26%2C27%2C1%2C4%2C10%2C12%2C2%2C11%2C3%2C9%2C18%2C28&includeExternalMedia=1&includeMeta=1&X-Plex-Container-Size=25&X-Plex-Container-Start=0&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone HTTP/1.1", subrequest: "/hubs/continueWatching/items", upstream: "http://10.0.0.10:32400/hubs/continueWatching/items?contentDirectoryID=26%2C27%2C1%2C4%2C10%2C12%2C2%2C11%2C3%2C9%2C18%2C28&includeExternalMedia=1&includeMeta=1&X-Plex-Container-Size=25&X-Plex-Container-Start=0&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone", host: "plex.xxx.com:88" 2024/07/09 22:36:03 [warn] 20#20: *644 js: === plexApiHandler: /hubs/continueWatching/items, the NJS VM is destroyed === 2024/07/09 22:36:04 [warn] 24#24: *663 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/0/03/0000000030 while reading upstream, client: 10.0.0.50, server: default, request: "GET /library/sections/27/all?type=4&sort=originallyAvailableAt%3Adesc&includeExternalMedia=1&includeMeta=1&X-Plex-Container-Size=25&X-Plex-Container-Start=0&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone HTTP/1.1", subrequest: "/library/sections/27/all", upstream: "http://10.0.0.10:32400/library/sections/27/all?type=4&sort=originallyAvailableAt%3Adesc&includeExternalMedia=1&includeMeta=1&X-Plex-Container-Size=25&X-Plex-Container-Start=0&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone", host: "plex.xxx.com:88" 2024/07/09 22:36:04 [warn] 24#24: *663 js: === plexApiHandler: /library/sections/27/all, the NJS VM is destroyed === 2024/07/09 22:36:04 [warn] 20#20: *665 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/1/03/0000000031 while reading upstream, client: 10.0.0.50, server: default, request: "GET /library/sections/27/all?sort=lastViewedAt%3Adesc&unwatched=0&viewOffset=0&type=4&includeExternalMedia=1&includeMeta=1&X-Plex-Container-Size=25&X-Plex-Container-Start=0&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone HTTP/1.1", subrequest: "/library/sections/27/all", upstream: "http://10.0.0.10:32400/library/sections/27/all?sort=lastViewedAt%3Adesc&unwatched=0&viewOffset=0&type=4&includeExternalMedia=1&includeMeta=1&X-Plex-Container-Size=25&X-Plex-Container-Start=0&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone", host: "plex.xxx.com:88" 2024/07/09 22:36:04 [warn] 20#20: *665 js: === plexApiHandler: /library/sections/27/all, the NJS VM is destroyed === 2024/07/09 22:36:08 [warn] 24#24: *662 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/2/03/0000000032 while reading upstream, client: 10.0.0.50, server: default, request: "GET /library/sections/27/all?type=4&sort=originallyAvailableAt:desc&contentDirectoryID=27&X-Plex-Product=Plex%20Web&X-Plex-Version=4.125.1&X-Plex-Client-Identifier=xdqp29jacnme0lnwmp8brr3y&X-Plex-Platform=Chrome&X-Plex-Platform-Version=126.0&X-Plex-Features=external-media%2Cindirect-media%2Chub-style-list&X-Plex-Model=bundled&X-Plex-Device=OSX&X-Plex-Device-Name=Chrome&X-Plex-Device-Screen-Resolution=1920x874%2C1920x1080&X-Plex-Container-Start=0&X-Plex-Container-Size=93&X-Plex-Token=Gmwp-rPqrroF5t1gjgP4&X-Plex-Provider-Version=6.5&X-Plex-Text-Format=plain&X-Plex-Drm=widevine&X-Plex-Language=zh HTTP/1.1", subrequest: "/library/sections/27/all", upstream: "http://10.0.0.10:32400/library/sections/27/all?type=4&sort=originallyAvailableAt:desc&contentDirectoryID=27&X-Plex-Product=Plex%20Web&X-Plex-Version=4.125.1&X-Plex-Client-Identifier=xdqp29jacnme0lnwmp8brr3y&X-Plex-Platform=Chrome&X-Plex-Platform-Version=126.0&X-Plex-Features=external-media%2Cindirect-media%2Chub-style-list&X-Plex-Model=bundled&X-Plex-Device=OSX&X-Plex-Device-Name=Chrome&X-Plex-Device-Screen-Resolution=1920x874%2C1920x1080&X-Plex-Container-Start=0&X-Plex-Container-Size=93&X-Plex-Token=Gmwp-rPqrroF5t1gjgP4&X-Plex-Provider-Version=6.5&X-Plex-Text-Format=plain&X-Plex-Drm=widevine&X-Plex-Language=zh", host: "plex.xxx.com:88" 2024/07/09 22:36:08 [warn] 24#24: *662 js: === plexApiHandler: /library/sections/27/all, the NJS VM is destroyed === 2024/07/09 22:36:08 [warn] 20#20: *688 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/3/03/0000000033 while reading upstream, client: 10.0.0.50, server: default, request: "GET /library/sections/27/all?sort=lastViewedAt:desc&unwatched=0&viewOffset=0&type=4&contentDirectoryID=27&X-Plex-Product=Plex%20Web&X-Plex-Version=4.125.1&X-Plex-Client-Identifier=xdqp29jacnme0lnwmp8brr3y&X-Plex-Platform=Chrome&X-Plex-Platform-Version=126.0&X-Plex-Features=external-media%2Cindirect-media%2Chub-style-list&X-Plex-Model=bundled&X-Plex-Device=OSX&X-Plex-Device-Name=Chrome&X-Plex-Device-Screen-Resolution=1920x874%2C1920x1080&X-Plex-Container-Start=0&X-Plex-Container-Size=36&X-Plex-Token=Gmwp-rPqrroF5t1gjgP4&X-Plex-Provider-Version=6.5&X-Plex-Text-Format=plain&X-Plex-Drm=widevine&X-Plex-Language=zh HTTP/1.1", subrequest: "/library/sections/27/all", upstream: "http://10.0.0.10:32400/library/sections/27/all?sort=lastViewedAt:desc&unwatched=0&viewOffset=0&type=4&contentDirectoryID=27&X-Plex-Product=Plex%20Web&X-Plex-Version=4.125.1&X-Plex-Client-Identifier=xdqp29jacnme0lnwmp8brr3y&X-Plex-Platform=Chrome&X-Plex-Platform-Version=126.0&X-Plex-Features=external-media%2Cindirect-media%2Chub-style-list&X-Plex-Model=bundled&X-Plex-Device=OSX&X-Plex-Device-Name=Chrome&X-Plex-Device-Screen-Resolution=1920x874%2C1920x1080&X-Plex-Container-Start=0&X-Plex-Container-Size=36&X-Plex-Token=Gmwp-rPqrroF5t1gjgP4&X-Plex-Provider-Version=6.5&X-Plex-Text-Format=plain&X-Plex-Drm=widevine&X-Plex-Language=zh", host: "plex.xxx.com:88" 2024/07/09 22:36:08 [warn] 20#20: *688 js: partInfoDict add: [/library/parts/415465/1719938060/file.mp4] : [/CloudNAS/115/影音视界/动漫/炼气十万年 (2023)/Season 1/炼气十万年 2023 S01E98 WEB-DL 1080p H.265 AAC - @ADWeb.mp4] 2024/07/09 22:36:08 [warn] 20#20: *688 js: === plexApiHandler: /library/sections/27/all, the NJS VM is destroyed === 2024/07/09 22:36:09 [warn] 20#20: *665 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/4/03/0000000034 while reading upstream, client: 10.0.0.50, server: default, request: "GET /hubs/sections/26?count=25&excludeFields=summary&includeCollections=1&includeExternalMedia=1&includeExternalMetadata=1&includeLibraryPlaylists=1&includeMeta=1&includeRecentChannels=1&includeRelated=1&includeStations=1&includeTrailers=1&includeTypeFirst=1&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone HTTP/1.1", subrequest: "/hubs/sections/26", upstream: "http://10.0.0.10:32400/hubs/sections/26?count=25&excludeFields=summary&includeCollections=1&includeExternalMedia=1&includeExternalMetadata=1&includeLibraryPlaylists=1&includeMeta=1&includeRecentChannels=1&includeRelated=1&includeStations=1&includeTrailers=1&includeTypeFirst=1&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone", host: "plex.xxx.com:88" 2024/07/09 22:36:09 [warn] 20#20: *665 js: === plexApiHandler: /hubs/sections/26, the NJS VM is destroyed === 2024/07/09 22:36:12 [warn] 20#20: *696 js: === plexApiHandler: /library/metadata/284975, the NJS VM is destroyed === 2024/07/09 22:36:12 [warn] 24#24: *662 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/5/03/0000000035 while reading upstream, client: 10.0.0.50, server: default, request: "GET /library/metadata/284975?asyncAugmentMetadata=1&checkFiles=1&includeChapters=1&includeConcerts=1&includeExternalMedia=1&includeExternalMetadata=1&includeExtras=1&includeGeolocation=0&includeMarkers=1&includeMeta=1&includeOnDeck=1&includePlexLinks=1&includePopularLeaves=1&includePreferences=0&includeRelated=0&includeRelatedCount=15&includeReviews=1&X-Plex-Text-Format=plain&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone HTTP/1.1", subrequest: "/library/metadata/284975", upstream: "http://10.0.0.10:32400/library/metadata/284975?asyncAugmentMetadata=1&checkFiles=1&includeChapters=1&includeConcerts=1&includeExternalMedia=1&includeExternalMetadata=1&includeExtras=1&includeGeolocation=0&includeMarkers=1&includeMeta=1&includeOnDeck=1&includePlexLinks=1&includePopularLeaves=1&includePreferences=0&includeRelated=0&includeRelatedCount=15&includeReviews=1&X-Plex-Text-Format=plain&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone", host: "plex.xxx.com:88" 2024/07/09 22:36:12 [warn] 24#24: *662 js: === plexApiHandler: /library/metadata/284975, the NJS VM is destroyed === 2024/07/09 22:36:13 [warn] 24#24: *663 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/6/03/0000000036 while reading upstream, client: 10.0.0.50, server: default, request: "GET /library/metadata/284975?asyncAugmentMetadata=0&checkFiles=1&includeChapters=1&includeConcerts=1&includeExternalMedia=1&includeExternalMetadata=1&includeExtras=1&includeGeolocation=0&includeMarkers=1&includeMeta=1&includeOnDeck=1&includePlexLinks=1&includePopularLeaves=1&includePreferences=0&includeRelated=0&includeRelatedCount=15&includeReviews=1&X-Plex-Text-Format=plain&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone HTTP/1.1", subrequest: "/library/metadata/284975", upstream: "http://10.0.0.10:32400/library/metadata/284975?asyncAugmentMetadata=0&checkFiles=1&includeChapters=1&includeConcerts=1&includeExternalMedia=1&includeExternalMetadata=1&includeExtras=1&includeGeolocation=0&includeMarkers=1&includeMeta=1&includeOnDeck=1&includePlexLinks=1&includePopularLeaves=1&includePreferences=0&includeRelated=0&includeRelatedCount=15&includeReviews=1&X-Plex-Text-Format=plain&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone", host: "plex.xxx.com:88" 2024/07/09 22:36:13 [warn] 24#24: *663 js: === plexApiHandler: /library/metadata/284975, the NJS VM is destroyed === 2024/07/09 22:36:14 [warn] 21#21: *715 js: === plexApiHandler: /playQueues, the NJS VM is destroyed === 2024/07/09 22:36:14 [warn] 21#21: *715 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/7/03/0000000037 while reading upstream, client: 10.0.0.50, server: default, request: "GET /library/metadata/284975?asyncAugmentMetadata=0&checkFiles=1&includeChapters=1&includeConcerts=1&includeExternalMedia=1&includeExternalMetadata=1&includeExtras=1&includeGeolocation=0&includeMarkers=1&includeMeta=1&includeOnDeck=1&includePlexLinks=1&includePopularLeaves=1&includePreferences=0&includeRelated=0&includeRelatedCount=15&includeReviews=1&X-Plex-Text-Format=plain&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone HTTP/1.1", subrequest: "/library/metadata/284975", upstream: "http://10.0.0.10:32400/library/metadata/284975?asyncAugmentMetadata=0&checkFiles=1&includeChapters=1&includeConcerts=1&includeExternalMedia=1&includeExternalMetadata=1&includeExtras=1&includeGeolocation=0&includeMarkers=1&includeMeta=1&includeOnDeck=1&includePlexLinks=1&includePopularLeaves=1&includePreferences=0&includeRelated=0&includeRelatedCount=15&includeReviews=1&X-Plex-Text-Format=plain&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone", host: "plex.xxx.com:88" 2024/07/09 22:36:14 [warn] 21#21: *715 js: === plexApiHandler: /library/metadata/284975, the NJS VM is destroyed === 2024/07/09 22:36:14 [warn] 21#21: *722 js: === plexApiHandler: /video/:/transcode/universal/decision, the NJS VM is destroyed === 2024/07/09 22:36:15 [warn] 21#21: *722 js: redirect2Pan, UA: libmpv 2024/07/09 22:36:15 [warn] 21#21: *722 js: getPlexItemInfo r.uri: /library/parts/397108/1705917033/file.mkv 2024/07/09 22:36:15 [warn] 21#21: *722 js: 0ms, getPlexItemInfo async function cost 2024/07/09 22:36:15 [warn] 21#21: *722 js: get filePath from cache partInfoDict 2024/07/09 22:36:15 [warn] 21#21: *722 js: notLocal: false 2024/07/09 22:36:15 [warn] 21#21: *722 js: mount plex file path: /CloudNAS/115/影音视界/电影/阿凡达/阿凡达.Avatar.2009.Extended.UHD.Re-Grade.4000nit.2160p.HEVC.HDR.IVA(RUS.UKR.ENG).@ExKinoRay&DIY.mkv 2024/07/09 22:36:15 [warn] 21#21: *722 js: getRouteMode: redirect 2024/07/09 22:36:15 [warn] 21#21: *722 js: mediaPathMapping: [[0,0,"/CloudNAS/115",""],[0,0,"/CloudNAS/115","http://10.0.0.50:9302"]] 2024/07/09 22:36:15 [warn] 21#21: *722 js: strMapping replaceAll: /CloudNAS/115 => 2024/07/09 22:36:15 [warn] 21#21: *722 js: strMapping replaceAll: /CloudNAS/115 => http://10.0.0.50:9302 2024/07/09 22:36:15 [warn] 21#21: *722 js: mapped plex file path: /影音视界/电影/阿凡达/阿凡达.Avatar.2009.Extended.UHD.Re-Grade.4000nit.2160p.HEVC.HDR.IVA(RUS.UKR.ENG).@ExKinoRay&DIY.mkv 2024/07/09 22:36:15 [warn] 21#21: *722 js: 1ms, fetchAlistPathApi async function cost 2024/07/09 22:36:15 [warn] 21#21: *722 js: fetchAlistPathApi, UA: libmpv 2024/07/09 22:36:15 [warn] 21#21: *722 js: alistRes: error500: alist_path_api 401 that's not even a token 2024/07/09 22:36:15 [warn] 21#21: *722 js: will req alist /api/fs/list to rerty 2024/07/09 22:36:15 [error] 21#21: *722 js: fail to fetch /api/fs/list: error500: alist_path_api 401 that's not even a token,fallback use original link 2024/07/09 22:36:15 [warn] 21#21: *722 js: use original link 2024/07/09 22:36:15 [warn] 21#21: *722 js: routeL1Dict add: [/library/parts/397108/1705917033/file.mkv] : [@root] 2024/07/09 22:36:15 [warn] 24#24: *723 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/8/03/0000000038 while reading upstream, client: 10.0.0.50, server: default, request: "GET /library/metadata/284975?asyncAugmentMetadata=0&checkFiles=1&includeChapters=1&includeConcerts=1&includeExternalMedia=1&includeExternalMetadata=1&includeExtras=1&includeGeolocation=0&includeMarkers=1&includeMeta=1&includeOnDeck=1&includePlexLinks=1&includePopularLeaves=1&includePreferences=0&includeRelated=0&includeRelatedCount=15&includeReviews=1&X-Plex-Text-Format=plain&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone HTTP/1.1", subrequest: "/library/metadata/284975", upstream: "http://10.0.0.10:32400/library/metadata/284975?asyncAugmentMetadata=0&checkFiles=1&includeChapters=1&includeConcerts=1&includeExternalMedia=1&includeExternalMetadata=1&includeExtras=1&includeGeolocation=0&includeMarkers=1&includeMeta=1&includeOnDeck=1&includePlexLinks=1&includePopularLeaves=1&includePreferences=0&includeRelated=0&includeRelatedCount=15&includeReviews=1&X-Plex-Text-Format=plain&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone", host: "plex.xxx.com:88" 2024/07/09 22:36:15 [warn] 24#24: *723 js: === plexApiHandler: /library/metadata/284975, the NJS VM is destroyed === 2024/07/09 22:36:15 [warn] 21#21: *721 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/9/03/0000000039 while reading upstream, client: 10.0.0.50, server: default, request: "GET /library/metadata/284975?asyncAugmentMetadata=0&checkFiles=1&includeChapters=1&includeConcerts=1&includeExternalMedia=1&includeExternalMetadata=1&includeExtras=1&includeGeolocation=0&includeMarkers=1&includeMeta=1&includeOnDeck=1&includePlexLinks=1&includePopularLeaves=1&includePreferences=0&includeRelated=0&includeRelatedCount=15&includeReviews=1&X-Plex-Text-Format=plain&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone HTTP/1.1", subrequest: "/library/metadata/284975", upstream: "http://10.0.0.10:32400/library/metadata/284975?asyncAugmentMetadata=0&checkFiles=1&includeChapters=1&includeConcerts=1&includeExternalMedia=1&includeExternalMetadata=1&includeExtras=1&includeGeolocation=0&includeMarkers=1&includeMeta=1&includeOnDeck=1&includePlexLinks=1&includePopularLeaves=1&includePreferences=0&includeRelated=0&includeRelatedCount=15&includeReviews=1&X-Plex-Text-Format=plain&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone", host: "plex.xxx.com:88" 2024/07/09 22:36:15 [warn] 21#21: *721 js: === plexApiHandler: /library/metadata/284975, the NJS VM is destroyed === 2024/07/09 22:36:15 [warn] 21#21: *720 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/0/04/0000000040 while reading upstream, client: 10.0.0.50, server: default, request: "GET /library/metadata/284975?asyncAugmentMetadata=0&checkFiles=1&includeChapters=1&includeConcerts=1&includeExternalMedia=1&includeExternalMetadata=1&includeExtras=1&includeGeolocation=0&includeMarkers=1&includeMeta=1&includeOnDeck=1&includePlexLinks=1&includePopularLeaves=1&includePreferences=0&includeRelated=0&includeRelatedCount=15&includeReviews=1&X-Plex-Text-Format=plain&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone HTTP/1.1", subrequest: "/library/metadata/284975", upstream: "http://10.0.0.10:32400/library/metadata/284975?asyncAugmentMetadata=0&checkFiles=1&includeChapters=1&includeConcerts=1&includeExternalMedia=1&includeExternalMetadata=1&includeExtras=1&includeGeolocation=0&includeMarkers=1&includeMeta=1&includeOnDeck=1&includePlexLinks=1&includePopularLeaves=1&includePreferences=0&includeRelated=0&includeRelatedCount=15&includeReviews=1&X-Plex-Text-Format=plain&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone", host: "plex.xxx.com:88" 2024/07/09 22:36:15 [warn] 21#21: *720 js: === plexApiHandler: /library/metadata/284975, the NJS VM is destroyed === 2024/07/09 22:36:15 [warn] 21#21: *715 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/1/04/0000000041 while reading upstream, client: 10.0.0.50, server: default, request: "GET /library/metadata/284975?asyncAugmentMetadata=0&checkFiles=1&includeChapters=1&includeConcerts=1&includeExternalMedia=1&includeExternalMetadata=1&includeExtras=1&includeGeolocation=0&includeMarkers=1&includeMeta=1&includeOnDeck=1&includePlexLinks=1&includePopularLeaves=1&includePreferences=0&includeRelated=0&includeRelatedCount=15&includeReviews=1&X-Plex-Text-Format=plain&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone HTTP/1.1", subrequest: "/library/metadata/284975", upstream: "http://10.0.0.10:32400/library/metadata/284975?asyncAugmentMetadata=0&checkFiles=1&includeChapters=1&includeConcerts=1&includeExternalMedia=1&includeExternalMetadata=1&includeExtras=1&includeGeolocation=0&includeMarkers=1&includeMeta=1&includeOnDeck=1&includePlexLinks=1&includePopularLeaves=1&includePreferences=0&includeRelated=0&includeRelatedCount=15&includeReviews=1&X-Plex-Text-Format=plain&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone", host: "plex.xxx.com:88" 2024/07/09 22:36:15 [warn] 21#21: *715 js: === plexApiHandler: /library/metadata/284975, the NJS VM is destroyed === 2024/07/09 22:36:15 [warn] 20#20: *685 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/2/04/0000000042 while reading upstream, client: 10.0.0.50, server: default, request: "GET /library/metadata/284975?asyncAugmentMetadata=0&checkFiles=1&includeChapters=1&includeConcerts=1&includeExternalMedia=1&includeExternalMetadata=1&includeExtras=1&includeGeolocation=0&includeMarkers=1&includeMeta=1&includeOnDeck=1&includePlexLinks=1&includePopularLeaves=1&includePreferences=0&includeRelated=0&includeRelatedCount=15&includeReviews=1&X-Plex-Text-Format=plain&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone HTTP/1.1", subrequest: "/library/metadata/284975", upstream: "http://10.0.0.10:32400/library/metadata/284975?asyncAugmentMetadata=0&checkFiles=1&includeChapters=1&includeConcerts=1&includeExternalMedia=1&includeExternalMetadata=1&includeExtras=1&includeGeolocation=0&includeMarkers=1&includeMeta=1&includeOnDeck=1&includePlexLinks=1&includePopularLeaves=1&includePreferences=0&includeRelated=0&includeRelatedCount=15&includeReviews=1&X-Plex-Text-Format=plain&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone", host: "plex.xxx.com:88" 2024/07/09 22:36:15 [warn] 20#20: *685 js: === plexApiHandler: /library/metadata/284975, the NJS VM is destroyed === 2024/07/09 22:36:15 [warn] 21#21: *722 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/3/04/0000000043 while reading upstream, client: 10.0.0.50, server: default, request: "GET /library/parts/397108/1705917033/file.mkv?X-Plex-Client-Identifier=D6A0B920-33BC-4D50-8944-57DDDFAE4411&X-Plex-Client-Platform=iOS&X-Plex-Device=iPhone&X-Plex-Device-Screen-Density=3&X-Plex-Device-Screen-Resolution=1125x2436&X-Plex-Device-Vendor=Apple&X-Plex-Drm=fairplay%3Avideo&X-Plex-Http-Pipeline=infinite&X-Plex-Model=12%2C3&X-Plex-Platform=iOS&X-Plex-Platform-Version=17.0&X-Plex-Product=Plex%20for%20iOS&X-Plex-Provides=client%2Ccontroller%2Csync-target&X-Plex-Session-Id=2EE11423-AFBF-412F-B4EB-8B6AF3018DE4&X-Plex-Supported-Commands=abort%2CchangeQuality&X-Plex-Sync-Version=2&X-Plex-Token=c9HdRWBhkgbfhEnqBCc-&X-Plex-Username=Master%20Boss&X-Plex-Version=8.36.1&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone HTTP/1.1", upstream: "http://10.0.0.10:32400/library/parts/397108/1705917033/file.mkv?X-Plex-Client-Identifier=D6A0B920-33BC-4D50-8944-57DDDFAE4411&X-Plex-Client-Platform=iOS&X-Plex-Device=iPhone&X-Plex-Device-Screen-Density=3&X-Plex-Device-Screen-Resolution=1125x2436&X-Plex-Device-Vendor=Apple&X-Plex-Drm=fairplay%3Avideo&X-Plex-Http-Pipeline=infinite&X-Plex-Model=12%2C3&X-Plex-Platform=iOS&X-Plex-Platform-Version=17.0&X-Plex-Product=Plex%20for%20iOS&X-Plex-Provides=client%2Ccontroller%2Csync-target&X-Plex-Session-Id=2EE11423-AFBF-412F-B4EB-8B6AF3018DE4&X-Plex-Supported-Commands=abort%2CchangeQuality&X-Plex-Sync-Version=2&X-Plex-Token=c9HdRWBhkgbfhEnqBCc-&X-Plex-Username=Master%20Boss&X-Plex-Version=8.36.1&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone", host: "plex.xxx.com:88" 2024/07/09 22:36:16 [warn] 24#24: *723 js: redirect2Pan, UA: libmpv 2024/07/09 22:36:16 [warn] 24#24: *723 js: hit cache routeL1Dict: @root 2024/07/09 22:36:17 [warn] 24#24: *723 js: === redirect2Pan: /library/parts/397108/1705917033/file.mkv, the NJS VM is destroyed === 2024/07/09 22:36:18 [warn] 21#21: *722 js: === redirect2Pan: /library/parts/397108/1705917033/file.mkv, the NJS VM is destroyed === 2024/07/09 22:36:18 [warn] 24#24: *723 js: redirect2Pan, UA: libmpv 2024/07/09 22:36:18 [warn] 24#24: *723 js: hit cache routeL1Dict: @root 2024/07/09 22:36:18 [warn] 24#24: *723 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/4/04/0000000044 while reading upstream, client: 10.0.0.50, server: default, request: "GET /library/parts/397108/1705917033/file.mkv?X-Plex-Client-Identifier=D6A0B920-33BC-4D50-8944-57DDDFAE4411&X-Plex-Client-Platform=iOS&X-Plex-Device=iPhone&X-Plex-Device-Screen-Density=3&X-Plex-Device-Screen-Resolution=1125x2436&X-Plex-Device-Vendor=Apple&X-Plex-Drm=fairplay%3Avideo&X-Plex-Http-Pipeline=infinite&X-Plex-Model=12%2C3&X-Plex-Platform=iOS&X-Plex-Platform-Version=17.0&X-Plex-Product=Plex%20for%20iOS&X-Plex-Provides=client%2Ccontroller%2Csync-target&X-Plex-Session-Id=2EE11423-AFBF-412F-B4EB-8B6AF3018DE4&X-Plex-Supported-Commands=abort%2CchangeQuality&X-Plex-Sync-Version=2&X-Plex-Token=c9HdRWBhkgbfhEnqBCc-&X-Plex-Username=Master%20Boss&X-Plex-Version=8.36.1&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone HTTP/1.1", upstream: "http://10.0.0.10:32400/library/parts/397108/1705917033/file.mkv?X-Plex-Client-Identifier=D6A0B920-33BC-4D50-8944-57DDDFAE4411&X-Plex-Client-Platform=iOS&X-Plex-Device=iPhone&X-Plex-Device-Screen-Density=3&X-Plex-Device-Screen-Resolution=1125x2436&X-Plex-Device-Vendor=Apple&X-Plex-Drm=fairplay%3Avideo&X-Plex-Http-Pipeline=infinite&X-Plex-Model=12%2C3&X-Plex-Platform=iOS&X-Plex-Platform-Version=17.0&X-Plex-Product=Plex%20for%20iOS&X-Plex-Provides=client%2Ccontroller%2Csync-target&X-Plex-Session-Id=2EE11423-AFBF-412F-B4EB-8B6AF3018DE4&X-Plex-Supported-Commands=abort%2CchangeQuality&X-Plex-Sync-Version=2&X-Plex-Token=c9HdRWBhkgbfhEnqBCc-&X-Plex-Username=Master%20Boss&X-Plex-Version=8.36.1&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone", host: "plex.xxx.com:88" 2024/07/09 22:36:18 [warn] 21#21: *715 js: redirect2Pan, UA: libmpv 2024/07/09 22:36:18 [warn] 21#21: *715 js: hit cache routeL1Dict: @root 2024/07/09 22:36:19 [warn] 21#21: *715 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/5/04/0000000045 while reading upstream, client: 10.0.0.50, server: default, request: "GET /library/parts/397108/1705917033/file.mkv?X-Plex-Client-Identifier=D6A0B920-33BC-4D50-8944-57DDDFAE4411&X-Plex-Client-Platform=iOS&X-Plex-Device=iPhone&X-Plex-Device-Screen-Density=3&X-Plex-Device-Screen-Resolution=1125x2436&X-Plex-Device-Vendor=Apple&X-Plex-Drm=fairplay%3Avideo&X-Plex-Http-Pipeline=infinite&X-Plex-Model=12%2C3&X-Plex-Platform=iOS&X-Plex-Platform-Version=17.0&X-Plex-Product=Plex%20for%20iOS&X-Plex-Provides=client%2Ccontroller%2Csync-target&X-Plex-Session-Id=2EE11423-AFBF-412F-B4EB-8B6AF3018DE4&X-Plex-Supported-Commands=abort%2CchangeQuality&X-Plex-Sync-Version=2&X-Plex-Token=c9HdRWBhkgbfhEnqBCc-&X-Plex-Username=Master%20Boss&X-Plex-Version=8.36.1&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone HTTP/1.1", upstream: "http://10.0.0.10:32400/library/parts/397108/1705917033/file.mkv?X-Plex-Client-Identifier=D6A0B920-33BC-4D50-8944-57DDDFAE4411&X-Plex-Client-Platform=iOS&X-Plex-Device=iPhone&X-Plex-Device-Screen-Density=3&X-Plex-Device-Screen-Resolution=1125x2436&X-Plex-Device-Vendor=Apple&X-Plex-Drm=fairplay%3Avideo&X-Plex-Http-Pipeline=infinite&X-Plex-Model=12%2C3&X-Plex-Platform=iOS&X-Plex-Platform-Version=17.0&X-Plex-Product=Plex%20for%20iOS&X-Plex-Provides=client%2Ccontroller%2Csync-target&X-Plex-Session-Id=2EE11423-AFBF-412F-B4EB-8B6AF3018DE4&X-Plex-Supported-Commands=abort%2CchangeQuality&X-Plex-Sync-Version=2&X-Plex-Token=c9HdRWBhkgbfhEnqBCc-&X-Plex-Username=Master%20Boss&X-Plex-Version=8.36.1&X-Plex-Language=zh-CN&X-Plex-Device-Name=iPhone", host: "plex.xxx.com:88" 2024/07/09 22:36:19 [warn] 24#24: *723 js: === redirect2Pan: /library/parts/397108/1705917033/file.mkv, the NJS VM is destroyed === 2024/07/09 22:36:47 [warn] 21#21: *731 js: === plexApiHandler: /status/sessions, the NJS VM is destroyed === 2024/07/09 22:36:47 [warn] 21#21: *721 js: === plexApiHandler: /status/sessions, the NJS VM is destroyed === ```
chen3861229 commented 1 month ago

2024/07/09 22:36:15 [warn] 21#21: 722 js: mediaPathMapping: [[0,0,"/CloudNAS/115",""],[0,0,"/CloudNAS/115","http://10.0.0.50:9302"]] 2024/07/09 22:36:15 [warn] 21#21: 722 js: strMapping replaceAll: /CloudNAS/115 => 2024/07/09 22:36:15 [warn] 21#21: *722 js: strMapping replaceAll: /CloudNAS/115 => http://10.0.0.50:9302

1.日志中提示这里配重复了,将

// 挂载工具 rclone/CD2 多出来的挂载目录, 例如将 od,gd 挂载到 /mnt 目录下: /mnt/onedrive /mnt/gd ,那么这里就填写 /mnt
// 通常配置一个远程挂载根路径就够了,默认非此路径开头文件将转给原始 emby 处理,不用重复填写至 disableRedirectRule
// 如果没有挂载,全部使用 strm 文件,此项填[""],必须要是数组
const mediaMountPath = ["/CloudNAS/115"];

// 路径映射,会在 mediaMountPath 之后从上到下依次全部替换一遍,不要有重叠,注意 /mnt 会先被移除掉了
// 参数1: 0: 默认做字符串替换, 1: 前插, 2: 尾插
// 参数2: 0: 默认只处理/开头的路径且不为 strm, 1: 只处理 strm 内部为/开头的相对路径, 2: 只处理 strm 内部为远程链接的
// 参数3: 来源, 参数4: 目标
const mediaPathMapping = [
  [0, 0, "/CloudNAS/115", "http://10.0.0.50:9302"],
];

改为 1.1

const mediaMountPath = [""];

const mediaPathMapping = [
  [0, 0, "/CloudNAS/115", "http://10.0.0.50:9302"],
];

或 2.2

const mediaMountPath = ["/CloudNAS"];

const mediaPathMapping = [
  [0, 0, "/115", "http://10.0.0.50:9302"],
];

不过意思都是 mediaMountPath 会先做一个字符串的移除,然后在走 mediaPathMapping 中的字符串规则

Alano-i commented 1 month ago

改为 1.1

const mediaMountPath = [""];

const mediaPathMapping = [
  [0, 0, "/CloudNAS/115", "http://10.0.0.50:9302"],
];

我的配置一直使用的上面这个1.1 ,不清楚为什么日志中提示这里配重复了。


于是尝试将alist相关的配置全部改成空之后(如下),好像成功了。

```js // 访问宿主机上 5244 端口的 alist 地址, 要注意 iptables 给容器放行端口 const alistAddr = ""; // alist token, 在 alist 后台查看 const alistToken = ""; // alist 是否启用了 sign const alistSignEnable = false; // alist 中设置的直链过期时间,以小时为单位 const alistSignExpireTime = 12; // alist 公网地址,用于需要 alist server 代理流量的情况,按需填写 const alistPublicAddr = ""; ```
点击展开成功日志 ```js 2024/07/09 23:34:21 [warn] 20#20: *36 js: notLocal: false 2024/07/09 23:34:21 [warn] 20#20: *36 js: mount plex file path: /CloudNAS/115/影音视界/动漫/遮天 (2023)/Season 1/遮天 2023 S01E65 WEB-DL 2160p H.265 AAC.mp4 2024/07/09 23:34:21 [warn] 20#20: *36 js: getRouteMode: redirect 2024/07/09 23:34:21 [warn] 20#20: *36 js: mediaPathMapping: [[0,0,"/CloudNAS/115","http://10.0.0.50:9302"]] 2024/07/09 23:34:21 [warn] 20#20: *36 js: strMapping replaceAll: /CloudNAS/115 => http://10.0.0.50:9302 2024/07/09 23:34:21 [warn] 20#20: *36 js: mapped plex file path: http://10.0.0.50:9302/影音视界/动漫/遮天 (2023)/Season 1/遮天 2023 S01E65 WEB-DL 2160p H.265 AAC.mp4 2024/07/09 23:34:21 [warn] 20#20: *36 js: filePath hit redirectStrmLastLinkRule: [[0,["http://172.","http://10.","http://192.","http://[fd00:"]]] 2024/07/09 23:34:22 [warn] 20#20: *36 js: fetchStrmLastLink response.status: 302, contentType: undefined 2024/07/09 23:34:22 [warn] 20#20: *36 js: redirect to: https://cdnfhnfile.115.com/668d0d02a6f3f811df32023%20S01E65%20WEB-DL%202160p%20H.265%20AAC.mp4?t=1720631711&u=80005253&s=524288000&d=vip-3062568745-dspqoi60gekncxy64-1&c=2&f=1&k=a482b47c0db0541084e2dd9e182fd599&us=5242880000&uc=10&v=1 2024/07/09 23:34:22 [warn] 20#20: *36 js: routeL1Dict add: [/library/parts/418744/1720521951/file.mp4:libmpv] : [https://cdnfhnfile.115.com/668d0d02a6f3f811df365436%E9%81%AE%E5%A4%A9%202023%20S01E65%20WEB-DL%202160p%20H.265%20AAC.mp4?t=1720631711&u=80005253&s=524288000&d=vip-3062568745-dspqoi60gekncxy64-1&c=2&f=1&k=a482b4741084e2dd9e182fd599&us=5242880000&uc=10&v=1] 2024/07/09 23:34:22 [warn] 20#20: *36 js: === redirect2Pan: /library/parts/418744/1720521951/file.mp4, the NJS VM is destroyed === 2024/07/09 23:34:24 [warn] 20#20: *36 js: === plexApiHandler: /status/sessions, the NJS VM is destroyed === ```

所以,大佬,能否考虑加个是否使用Alist的开关,默认开,如果设置为关闭则不走alist那一套流程,或许会加快响应速度?

chen3861229 commented 1 month ago

1.其实主要是这个置空的配置 const mediaMountPath = [""];

2.这个开关虽然可以加,但是部分人嫌配置项过多了,所以非必要暂时不打算新加了,其实代码中的处理有优先级的,检测到 mediaPathMapping 映射后为非 / 开头的相对文件路径,就直接重定向到自定义的地址了,没有走下边的 alist 那一套代码,所以不会存在效率上的问题,这个代码中已经是自动判断了,所以就不加开关手动指定了

Alano-i commented 1 month ago

感谢!


还发现一个问题,用这种方式做302直链播放,Mac版的 Infuse 可以正常播放,但是拖动进度条就会报错com.firecore.media.player错误1. 好像是缓存的问题造成的,下面的日志是正常播放+拖动一次进度条产生的日志,拖动就报错。请问这个应该如何处理?此前通过alist获取直链时没有这个问题。

2024/07/10 23:35:38 [warn] 24#24: *23335 js: notLocal: false
2024/07/10 23:35:38 [warn] 24#24: *23335 js: mount plex file path: /CloudNAS/115/影音视界/电影/黑寡妇 (2021)/黑寡妇 2021 Blu-ray 2160p x265 TrueHD7.1 2Audio TrueHD5.1 - @CHD.mkv
2024/07/10 23:35:38 [warn] 24#24: *23335 js: getRouteMode: redirect
2024/07/10 23:35:38 [warn] 24#24: *23335 js: mediaPathMapping: [[0,0,"/CloudNAS/115","http://10.0.0.50:9302"]]
2024/07/10 23:35:38 [warn] 24#24: *23335 js: strMapping replaceAll: /CloudNAS/115 => http://10.0.0.50:9302
2024/07/10 23:35:38 [warn] 24#24: *23335 js: mapped plex file path: http://10.0.0.50:9302/影音视界/电影/黑寡妇 (2021)/黑寡妇 2021 Blu-ray 2160p x265 TrueHD7.1 2Audio TrueHD5.1 - @CHD.mkv
2024/07/10 23:35:38 [warn] 24#24: *23335 js: filePath hit redirectStrmLastLinkRule: [[0,["http://172.","http://10.","http://192.","http://[fd00:"]]]
2024/07/10 23:35:39 [warn] 24#24: *23335 js: fetchStrmLastLink response.status: 302, contentType: undefined
2024/07/10 23:35:39 [warn] 24#24: *23335 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:39 [warn] 24#24: *23335 js: routeL1Dict add: [/library/parts/402024/1705417123/file.mkv:Infuse-Library/7.8] : [https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1]
2024/07/10 23:35:39 [warn] 24#24: *23335 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:39 [warn] 24#24: *23338 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:39 [warn] 24#24: *23338 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:39 [warn] 24#24: *23338 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:39 [warn] 24#24: *23338 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:39 [warn] 24#24: *23338 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:39 [warn] 24#24: *23338 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:39 [warn] 24#24: *23338 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:39 [warn] 24#24: *23338 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:40 [warn] 24#24: *23338 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:40 [warn] 24#24: *23338 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:40 [warn] 24#24: *23338 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:40 [warn] 24#24: *23338 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:40 [warn] 24#24: *23338 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:40 [warn] 24#24: *23338 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:40 [warn] 24#24: *23338 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:40 [warn] 24#24: *23338 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:40 [warn] 24#24: *23338 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:40 [warn] 24#24: *23338 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:40 [warn] 24#24: *23338 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:40 [warn] 24#24: *23338 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:40 [warn] 24#24: *23338 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:40 [warn] 24#24: *23338 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:40 [warn] 24#24: *23338 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:40 [warn] 24#24: *23338 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:41 [warn] 24#24: *23338 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:41 [warn] 24#24: *23338 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:41 [warn] 24#24: *23338 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:41 [warn] 24#24: *23338 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:41 [warn] 24#24: *23338 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:41 [warn] 24#24: *23338 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:41 [warn] 24#24: *23338 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:41 [warn] 24#24: *23338 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:41 [warn] 24#24: *23338 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:41 [warn] 24#24: *23338 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:41 [warn] 24#24: *23338 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:41 [warn] 24#24: *23338 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:41 [warn] 24#24: *23338 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:41 [warn] 24#24: *23338 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:41 [warn] 24#24: *23338 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:41 [warn] 24#24: *23338 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:42 [warn] 24#24: *23338 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:42 [warn] 24#24: *23338 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:42 [warn] 24#24: *23338 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:42 [warn] 24#24: *23338 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:42 [warn] 24#24: *23338 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:42 [warn] 24#24: *23338 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:42 [warn] 24#24: *23338 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:42 [warn] 24#24: *23338 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:42 [warn] 24#24: *23340 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/0/58/0000001580 while reading upstream, client: 10.0.0.50, server: default, request: "GET /library/metadata/284975?includeConcerts=1&includeExtras=1&includeOnDeck=1&includePopularLeaves=1&includePreferences=1&includeReviews=1&includeChapters=1&includeStations=1&includeExternalMedia=1&asyncAugmentMetadata=1&asyncCheckFiles=1&asyncRefreshAnalysis=1&asyncRefreshLocalMediaAgent=1&X-Plex-Product=Plex%20for%20Mac&X-Plex-Version=1.96.0.177-dc5df788&X-Plex-Client-Identifier=y2dkmy6p575nbwtomq0pyph4&X-Plex-Platform=macos&X-Plex-Platform-Version=14.1&X-Plex-Features=external-media%2Cindirect-media%2Chub-style-list&X-Plex-Model=standalone&X-Plex-Device-Name=Alano-MBP.local&X-Plex-Device-Screen-Resolution=1920x1080%2C1920x1080&X-Plex-Client-Profile-Name=Plex%20Desktop&X-Plex-Token=ApqjFLGBX49V5X3Qunx3&X-Plex-Provider-Version=6.5&X-Plex-Text-Format=plain&X-Plex-Drm=widevine%3Avideo&X-Plex-Language=zh HTTP/1.1", subrequest: "/library/metadata/284975", upstream: "http://10.0.0.10:32400/library/metadata/284975?includeConcerts=1&includeExtras=1&includeOnDeck=1&includePopularLeaves=1&includePreferences=1&includeReviews=1&includeChapters=1&includeStations=1&includeExternalMedia=1&asyncAugmentMetadata=1&asyncCheckFiles=1&asyncRefreshAnalysis=1&asyncRefreshLocalMediaAgent=1&X-Plex-Product=Plex%20for%20Mac&X-Plex-Version=1.96.0.177-dc5df788&X-Plex-Client-Identifier=y2dkmy6p575nbwtomq0pyph4&X-Plex-Platform=macos&X-Plex-Platform-Version=14.1&X-Plex-Features=external-media%2Cindirect-media%2Chub-style-list&X-Plex-Model=standalone&X-Plex-Device-Name=Alano-MBP.local&X-Plex-Device-Screen-Resolution=1920x1080%2C1920x1080&X-Plex-Client-Profile-Name=Plex%20Desktop&X-Plex-Token=ApqjFLGBX49V5X3Qunx3&X-Plex-Provider-Version=6.5&X-Plex-Text-Format=plain&X-Plex-Drm=widevine%3Avideo&X-Plex-Language=zh", host: "plex.walkcs.com:88"
2024/07/10 23:35:42 [warn] 24#24: *23340 js: === plexApiHandler: /library/metadata/284975, the NJS VM is destroyed ===
2024/07/10 23:35:42 [warn] 24#24: *23338 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:42 [warn] 24#24: *23338 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:42 [warn] 24#24: *23338 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:42 [warn] 24#24: *23338 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:43 [warn] 24#24: *23340 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:43 [warn] 24#24: *23340 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:43 [warn] 24#24: *23340 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:43 [warn] 24#24: *23340 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:43 [warn] 24#24: *23340 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:43 [warn] 24#24: *23340 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:43 [warn] 24#24: *23340 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:43 [warn] 24#24: *23340 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:43 [warn] 24#24: *23340 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:43 [warn] 24#24: *23340 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:43 [warn] 24#24: *23340 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:43 [warn] 24#24: *23340 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:43 [warn] 24#24: *23340 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:43 [warn] 24#24: *23340 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:43 [warn] 24#24: *23340 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:43 [warn] 24#24: *23340 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:44 [warn] 24#24: *23340 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:44 [warn] 24#24: *23340 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:44 [warn] 24#24: *23340 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:44 [warn] 24#24: *23340 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:44 [warn] 24#24: *23340 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:44 [warn] 24#24: *23340 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:44 [warn] 24#24: *23340 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:44 [warn] 24#24: *23340 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:44 [warn] 24#24: *23340 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:44 [warn] 24#24: *23340 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:44 [warn] 24#24: *23340 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:44 [warn] 24#24: *23340 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:44 [warn] 24#24: *23340 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:44 [warn] 24#24: *23340 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:44 [warn] 24#24: *23340 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:44 [warn] 24#24: *23340 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:45 [warn] 24#24: *23340 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:45 [warn] 24#24: *23340 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:45 [warn] 24#24: *23340 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:45 [warn] 24#24: *23340 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:45 [warn] 24#24: *23338 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/1/58/0000001581 while reading upstream, client: 10.0.0.50, server: default, request: "GET /library/metadata/300277?includeConcerts=1&includeExtras=1&includeOnDeck=1&includePopularLeaves=1&includePreferences=1&includeReviews=1&includeChapters=1&includeStations=1&includeExternalMedia=1&asyncAugmentMetadata=1&asyncCheckFiles=1&asyncRefreshAnalysis=1&asyncRefreshLocalMediaAgent=1&X-Plex-Product=Plex%20Web&X-Plex-Version=4.125.1&X-Plex-Client-Identifier=xdqp29jacnme0lnwmp8brr3y&X-Plex-Platform=Chrome&X-Plex-Platform-Version=126.0&X-Plex-Features=external-media%2Cindirect-media%2Chub-style-list&X-Plex-Model=bundled&X-Plex-Device=OSX&X-Plex-Device-Name=Chrome&X-Plex-Device-Screen-Resolution=1920x874%2C1920x1080&X-Plex-Token=Gmwp-rPqrroF5t1gjgP4&X-Plex-Provider-Version=6.5&X-Plex-Text-Format=plain&X-Plex-Drm=widevine&X-Plex-Language=zh HTTP/1.1", subrequest: "/library/metadata/300277", upstream: "http://10.0.0.10:32400/library/metadata/300277?includeConcerts=1&includeExtras=1&includeOnDeck=1&includePopularLeaves=1&includePreferences=1&includeReviews=1&includeChapters=1&includeStations=1&includeExternalMedia=1&asyncAugmentMetadata=1&asyncCheckFiles=1&asyncRefreshAnalysis=1&asyncRefreshLocalMediaAgent=1&X-Plex-Product=Plex%20Web&X-Plex-Version=4.125.1&X-Plex-Client-Identifier=xdqp29jacnme0lnwmp8brr3y&X-Plex-Platform=Chrome&X-Plex-Platform-Version=126.0&X-Plex-Features=external-media%2Cindirect-media%2Chub-style-list&X-Plex-Model=bundled&X-Plex-Device=OSX&X-Plex-Device-Name=Chrome&X-Plex-Device-Screen-Resolution=1920x874%2C1920x1080&X-Plex-Token=Gmwp-rPqrroF5t1gjgP4&X-Plex-Provider-Version=6.5&X-Plex-Text-Format=plain&X-Plex-Drm=widevine&X-Plex-Language=zh", host: "plex.walkcs.com:88"
2024/07/10 23:35:45 [warn] 24#24: *23338 js: === plexApiHandler: /library/metadata/300277, the NJS VM is destroyed ===
2024/07/10 23:35:45 [warn] 24#24: *23338 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:45 [warn] 24#24: *23338 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:45 [warn] 24#24: *23338 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:45 [warn] 24#24: *23338 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:45 [warn] 24#24: *23338 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:45 [warn] 24#24: *23338 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:45 [warn] 24#24: *23338 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:45 [warn] 24#24: *23338 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:45 [warn] 24#24: *23338 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:45 [warn] 24#24: *23338 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:45 [warn] 24#24: *23338 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:45 [warn] 24#24: *23338 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:45 [warn] 24#24: *23338 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:45 [warn] 24#24: *23338 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:45 [warn] 24#24: *23338 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:45 [warn] 24#24: *23338 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:46 [warn] 24#24: *23338 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:46 [warn] 24#24: *23338 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:46 [warn] 24#24: *23338 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:46 [warn] 24#24: *23338 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:46 [warn] 24#24: *23338 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:46 [warn] 24#24: *23338 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:46 [warn] 24#24: *23338 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:46 [warn] 24#24: *23338 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:46 [warn] 24#24: *23338 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:46 [warn] 24#24: *23338 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:46 [warn] 24#24: *23338 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:46 [warn] 24#24: *23338 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:46 [warn] 24#24: *23338 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:46 [warn] 24#24: *23338 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:46 [warn] 24#24: *23338 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:46 [warn] 24#24: *23338 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:47 [warn] 24#24: *23338 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:47 [warn] 24#24: *23338 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:47 [warn] 24#24: *23338 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:47 [warn] 24#24: *23338 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:47 [warn] 24#24: *23338 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:47 [warn] 24#24: *23338 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:47 [warn] 24#24: *23338 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:47 [warn] 24#24: *23338 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:47 [warn] 24#24: *23338 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:47 [warn] 24#24: *23338 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:47 [warn] 24#24: *23338 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:47 [warn] 24#24: *23338 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
2024/07/10 23:35:47 [warn] 24#24: *23338 js: redirect2Pan, UA: Infuse-Library/7.8
2024/07/10 23:35:47 [warn] 24#24: *23338 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:47 [warn] 24#24: *23338 js: redirect to: https://cdnfhnfile.115.com/63ff09c17E5%A6%87%202021%20Blu-ray%202160p%20x265%20TrueHD7.1%202Audio%20TrueHD5.1%20-%20%40CHD.mkv?t=1721915129&u=80005253&s=524288000&d=vip-3062568745-a2e8q75yjo40ih4z2-1&c=2&f=1&k=4c024e0068e847bca24a5c5f589622b9&us=5242880000&uc=10&v=1
2024/07/10 23:35:47 [warn] 24#24: *23338 js: === redirect2Pan: /library/parts/402024/1705417123/file.mkv, the NJS VM is destroyed ===
chen3861229 commented 1 month ago

1.这个需要参考,对于 "Emby for iOS"和"Infuse" 等进度条有 bug 的客户端不能直接 302 到网盘商的原始直链上,需要传递 302 之前的网址,也就是 http://10.0.0.50:9302/xxx 这种

// 指定客户端自己请求并获取 alist 直链的规则,代码优先级在 redirectStrmLastLinkRule 之后
// 特殊情况使用,则此处必须使用域名且公网畅通,用不着请保持默认
// 参数1: 0: startsWith(str), 1: endsWith(str), 2: includes(str), 3: match(/ain/g)
// 参数2: 匹配目标,对象为 Alist 接口返回的链接 raw_url
// 参数3: 指定转发给客户端的 alist 的 host 前缀,兼容 sign 参数
const cilentSelfAlistRule = [
  // "Emby for iOS"和"Infuse"对于 115 的进度条拖动依赖于此
  // 如果 nginx 为 https,则此 alist 也必须 https,浏览器行为客户端会阻止非 https 请求
  [2, strHead["115"], alistPublicAddr],
  // [2, strHead.ali, alistPublicAddr],
];

2.此时需要做以下两个更改

2.1 注释掉被默认配置影响的局域网 ip 网址自动获取重定向地址的行为, emby2Alist\nginx\conf.d\config\constant-strm.js

const redirectStrmLastLinkRule = [
  // [0, strHead.lanIp.map(s => "http://" + s)],
  // [0, alistAddr],
  // [0, "http:"],
  // 参数3: 请求验证类型,当前 alistAddr 不需要此参数
  // 参数4: 当前 alistAddr 不需要此参数,alistSignExpireTime
  // [0, "http://otheralist1.com", "sign", `${alistToken}:${alistSignExpireTime}`],
];

2.2 如果客户端不在局域网环境下,http://10.0.0.50:9302/xxx 这种地址需要改成公网 ip 或域名的方式,也就是公网需要畅通

Alano-i commented 1 month ago

如果把 http://10.0.0.50:9302/xxx 换成公网不如直接局域网地址去获取直链快,于是尝试了其他方法,将路由缓存配置的一级缓存设置成 false,infuse每次请求都去拿一次直链,infuse的拖动正常不报错了。

只是这种方法感觉不太优雅,infuse 拖动进度条得请求几十次直链。

还有一点就是用这种方式,即使播放失败似乎也无法回退到走自己服务器的流量了。

chen3861229 commented 1 month ago

1.这个兼容性和效率是没法兼得的,只能找个能接受的尝试了

2.播放失败是客户端行为,http 的设计规范默认就是单向通信的,客户端没有再新发送请求,所以服务端也是没法响应了

Alano-i commented 1 month ago

如果把 http://10.0.0.50:9302/xxx 换成公网不如直接局域网地址去获取直链快,于是尝试了其他方法,将路由缓存配置的一级缓存设置成 false,infuse每次请求都去拿一次直链,infuse的拖动正常不报错了。

经过两天的测试发现我说的这个方法还是有问题,拖动依然会报错(即使实时获取了每一次请求的302直链) 不过发现,直接将http://10.0.0.50:9302/xxx 通过http添加到infuse无论怎么拖都不会报错。

image

于是我还是采用了您提的方案:将 http://10.0.0.50:9302/xxx 这种地址改成域名的方式并且注释掉被默认配置影响的局域网 ip 网址自动获取重定向地址的行为。

采用这种方案其实只是为了解决 infuse 这一种客户端的问题,所以能否加一个类似

const cilentSelfAlistRule = [
  // "Emby for iOS"和"Infuse"对于 115 的进度条拖动依赖于此
  // 如果 nginx 为 https,则此 alist 也必须 https,浏览器行为客户端会阻止非 https 请求
  [2, strHead["115"], alistPublicAddr],
  // [2, strHead.ali, alistPublicAddr],
];

的配置项,针对 infuse 在外网播放才使用 http://10.0.0.50:9302/xxx 的域名进行重定向,其他播放器或者在内网还是采用 http://10.0.0.50:9302/xxx

谢谢!

ps: const cilentSelfAlistRule 是不是拼写错了,应该是 const clientSelfAlistRule ??

chen3861229 commented 1 month ago

针对 infuse 在外网播放

嗯,这个应该可以加个判断,稍后我改一下 这边我没测试过,得劳烦自己试一下了

const cilentSelfAlistRule 是不是拼写错了

多谢指正,这个快大半年这才有人提😂

Alano-i commented 1 month ago

大佬6啊,最新的调整中,像我这种没有使用alist,直接使用其他服务获取302的(配置了mediaPathMapping为 [0, 0, "/CloudNAS/115", "http://10.0.0.50:9302"])应该怎么设置当infuse在外网时通过 http://10.0.0.50:9302的域名来获取直链,其他客户端通过http://10.0.0.50:9302来获取直链。

看样子好像是调整 redirectStrmLastLinkRule 里的规则,不太确定。

chen3861229 commented 1 month ago

是的,之前的分组实现有 bug,新 PR 修复了, 打开默认的注释即可,以下代表, 针对 seekBug: ["Emby for iOS", "Infuse"], 在外网播放才使用 http://10.0.0.50:9302/xxx 的域名进行重定向(这里理解为目标地址为内网,所以远程客户端为内网条件是注释状态),其他播放器或者在内网还是采用 http://10.0.0.50:9302/xxx (这个是没有匹配到规则的默认结果)

// 指定是否转发由 njs 获取 strm/远程链接 重定向后直链地址的规则,例如 strm/远程链接 内部为局域网 ip 或链接需要验证
// 参数1: 分组名,组内为与关系(全部匹配),多个组和没有分组的规则是或关系(任一匹配),然后下面参数序号-1
// 参数2: 匹配类型或来源(字符串参数类型),默认为 "filePath": mediaPathMapping 映射后的 strm/远程链接 内部链接
// ,有分组时不可省略填写,可为表达式
// 参数3: 0: startsWith(str), 1: endsWith(str), 2: includes(str), 3: match(/ain/g)
// 参数4: 匹配目标,为数组的多个参数时,数组内为或关系(任一匹配)
const redirectStrmLastLinkRule = [
  // [0, strHead.lanIp.map(s => "http://" + s)],
  // [0, alistAddr],
  // [0, "http:"],
  // 参数5: 请求验证类型,当前 alistAddr 不需要此参数
  // 参数6: 当前 alistAddr 不需要此参数,alistSignExpireTime
  // [3, "http://otheralist1.com", "sign", `${alistToken}:${alistSignExpireTime}`],
  // useGroup01 同时满足才命中
  ["useGroup01", "filePath", 0, strHead.lanIp.map(s => "http://" + s)], // 目标地址为内网
  ["useGroup01", "r.args.X-Emby-Client", 0, strHead.xEmbyClients.seekBug], // 链接入参,客户端类型
  // docker 注意必须为 host 模式,不然此变量全部为内网ip,判断无效,nginx 内置变量不带$,客户端地址($remote_addr)
  // ["useGroup01", "r.variables.remote_addr", 0, strHead.lanIp], // 远程客户端为内网
];
Alano-i commented 1 month ago

http://10.0.0.50:9302/xxx 的域名配置在哪个位置呢,就像alist配置域名有个alistPublicAddr变量

chen3861229 commented 1 month ago

这个不用配置,默认 strHead.lanIp.map(s => "http://" + s) 中已经命中了这个字符串的开头了

// 字符串头,用于特殊匹配判断
const strHead = {
  lanIp: ["172.", "10.", "192.", "[fd00:"], // 局域网ip头
...

如果需要手动指定,可以将

["useGroup01", "filePath", 0, strHead.lanIp.map(s => "http://" + s)], // 目标地址为内网

改为更精确的

["useGroup01", "filePath", 0, ["http://10.0.0.50:9302"]], // 目标地址为内网
Alano-i commented 1 month ago

2.2 如果客户端不在局域网环境下,http://10.0.0.50:9302/xxx 这种地址需要改成公网 ip 或域名的方式,也就是公网需要畅通

按照之前大佬提供的思路,不是需要改成公网吗,新版的不需要了是吗

chen3861229 commented 1 month ago

哦,是需要,记错了 等下。。。规则逻辑反了

// 指定是否转发由 njs 获取 strm/远程链接 重定向后直链地址的规则,例如 strm/远程链接 内部为局域网 ip 或链接需要验证
// 参数1: 分组名,组内为与关系(全部匹配),多个组和没有分组的规则是或关系(任一匹配),然后下面参数序号-1
// 参数2: 匹配类型或来源(字符串参数类型),默认为 "filePath": mediaPathMapping 映射后的 strm/远程链接 内部链接
// ,有分组时不可省略填写,可为表达式
// 参数3: 0: startsWith(str), 1: endsWith(str), 2: includes(str), 3: match(/ain/g)
// 参数4: 匹配目标,为数组的多个参数时,数组内为或关系(任一匹配)
const redirectStrmLastLinkRule = [
  // [0, strHead.lanIp.map(s => "http://" + s)],
  // [0, alistAddr],
  // [0, "http:"],
  // 参数5: 请求验证类型,当前 alistAddr 不需要此参数
  // 参数6: 当前 alistAddr 不需要此参数,alistSignExpireTime
  // [3, "http://otheralist1.com", "sign", `${alistToken}:${alistSignExpireTime}`],
  // useGroup01 同时满足才命中
  ["useGroup01", "filePath", 0, ["公网地址"]], // 目标地址
  ["useGroup01", "r.args.X-Emby-Client", 0, strHead.xEmbyClients.seekBug], // 链接入参,客户端类型
  // docker 注意必须为 host 模式,不然此变量全部为内网ip,判断无效,nginx 内置变量不带$,客户端地址($remote_addr)
  // ["useGroup01", "r.variables.remote_addr", 0, strHead.lanIp], // 远程客户端为内网
];
chen3861229 commented 1 month ago

6a65a102c3ab8bd488faabb384e7de9ff5c64efb

可能是修复了,更多还需要更新代码自己测试下了,以下基于

(配置了mediaPathMapping为 [0, 0, "/CloudNAS/115", "http://公网地址:9302"])

实现了,前提 匹配了 ["useGroup01", "filePath", "startsWith", ["公网地址"]], // 目标地址 的,

客户端类型标识 seekBug: ["Emby for iOS", "Infuse"] 中的不走 redirectStrmLastLinkRule ,即走 "http://公网地址:9302"

不在指定客户端类型标识列表中的,会命中 redirectStrmLastLinkRule 走由脚本获取 "http://公网地址:9302" 重定向后的地址进行响应给客户端访问

const redirectStrmLastLinkRule = [
  // useGroup01 同时满足才命中
  ["useGroup01", "filePath", "startsWith", ["公网地址"]], // 目标地址
  ["useGroup01", "r.args.X-Emby-Client", "startsWith:not", strHead.xEmbyClients.seekBug], // 链接入参,客户端类型
  // docker 注意必须为 host 模式,不然此变量全部为内网ip,判断无效,nginx 内置变量不带$,客户端地址($remote_addr)
  // ["useGroup01", "r.variables.remote_addr", 0, strHead.lanIp], // 远程客户端为内网
];

https://github.com/chen3861229/embyExternalUrl/blob/main/FAQ.md#30redirectstrmlastlinkrule

chen3861229 commented 1 month ago

更新修复变量未导出 bug 后,且记起来是 plex 服务,"r.args.X-Emby-Client" 变量不可用,属于 emby 兼容客户端的特定标识,可以尝试下以下配置 "r.headersIn.User-Agent"

// 路径映射,会在 mediaMountPath 之后从上到下依次全部替换一遍,不要有重叠,注意 /mnt 会先被移除掉了
// 参数1: 0: 默认做字符串替换replace一次, 1: 前插, 2: 尾插, 3: replaceAll替换全部
// 参数2: 0: 默认只处理/开头的路径且不为 strm, 1: 只处理 strm 内部为/开头的相对路径, 2: 只处理 strm 内部为远程链接的
// 参数3: 来源, 参数4: 目标
const mediaPathMapping = [
  [0,0,"/CloudNAS/115","https://公网域名.xxx.com:88"],
];

// 指定是否转发由 njs 获取 strm/远程链接 重定向后直链地址的规则,例如 strm/远程链接 内部为局域网 ip 或链接需要验证
// 参数1: 分组名,组内为与关系(全部匹配),多个组和没有分组的规则是或关系(任一匹配),然后下面参数序号-1
// 参数2: 匹配类型或来源(字符串参数类型),默认为 "filePath": mediaPathMapping 映射后的 strm/远程链接 内部链接
// ,有分组时不可省略填写,可为表达式
// 参数3: 0: startsWith(str), 1: endsWith(str), 2: includes(str), 3: match(/ain/g)
// 参数4: 匹配目标,为数组的多个参数时,数组内为或关系(任一匹配)
const redirectStrmLastLinkRule = [
  // useGroup01 同时满足才命中
  ["useGroup01", "filePath", "startsWith", ["https://公网域名.xxx.com:88"]], // 目标地址
  ["useGroup01", "r.headersIn.User-Agent", "startsWith:not", ["Infuse"]], // 链接入参,客户端 UA
  // docker 注意必须为 host 模式,不然此变量全部为内网ip,判断无效,nginx 内置变量不带$,客户端地址($remote_addr)
  // ["useGroup01", "r.variables.remote_addr", 0, strHead.lanIp], // 远程客户端为内网
];
Alano-i commented 1 month ago

感谢!