DDS-Derek / xiaoya-alist

小雅Alist的相关周边
GNU General Public License v3.0
5.17k stars 755 forks source link

使用ali2115.txt以后emby就不能播放视频了 #165

Open stiffme opened 3 months ago

stiffme commented 3 months ago

使用小雅web也能播放。 不使用ali2115.txt,也能播放。

2024-07-24 23:26:33.098 Info HttpClient: GET http://xiaoya.host:5678/d/每日更新/电视剧/国产剧/天行健/06.mkv
2024-07-24 23:26:33.474 Error Server: Error processing request
        *** Error Report ***
        Version: 4.8.8.0
        Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3
        Operating system: Linux version 4.4.302+ (root@build5) (gcc version 12.2.0 (GCC) ) #69057 SMP Fri Jan 12 17:02:28 CST 2024
        Framework: .NET 6.0.25
        OS/Process: x64/x64
        Runtime: system/System.Private.CoreLib.dll
        Processor count: 4
        Data path: /config
        Application path: /system
        MediaBrowser.Model.Net.HttpException: MediaBrowser.Model.Net.HttpException: Forbidden
           at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.SendAsyncInternal(HttpRequestOptions options, String httpMethod)
           at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.SendAsync(HttpRequestOptions options, String httpMethod)
           at Emby.Server.Implementations.HttpServer.HttpResultFactory.GetContent(StaticFileResultOptions options, Int64 offset, Int64 length, CancellationToken cancellationToken)
           at Emby.Server.Implementations.HttpServer.FileWriter.SetContentResponseHeaders(Nullable`1 reportedTotalContentLength, CancellationToken cancellationToken)
           at Emby.Server.Implementations.HttpServer.HttpResultFactory.GetStaticResult(IRequest requestContext, StaticResultOptions options)
           at Emby.Server.MediaEncoding.Api.Progressive.BaseProgressiveStreamingService.ProcessRequest(StreamRequest request, Boolean isHeadRequest)
           at Emby.Server.Implementations.Services.ServiceController.GetTaskResult(Task task)
           at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IServerApplicationHost appHost, IRequest httpReq, IResponse httpRes, IStreamHelper streamHelper, RestPath restPath, String responseContentType, CancellationToken cancellationToken)
           at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IRequest httpReq, ReadOnlyMemory`1 urlString, ReadOnlyMemory`1 localPath, CancellationToken cancellationToken)
        Source: Emby.Server.Implementations
        TargetSite: Void MoveNext()

同时我试过上面的URL,结果是正确的:

curl http://xiaoya.host:5678/d/每日更新/电视剧/国产剧/天行健/06.mkv -v
> GET /d/%e6%af%8f%e6%97%a5%e6%9b%b4%e6%96%b0/%e7%94%b5%e8%a7%86%e5%89%a7/%e5%9b%bd%e4%ba%a7%e5%89%a7/%e5%a4%a9%e8%a1%8c%e5%81%a5/06.mkv HTTP/1.1
> Host: xiaoya.host:5678
> User-Agent: curl/7.86.0
> Accept: */*
> 
< HTTP/1.1 302 Found
< Server: nginx
< Date: Wed, 24 Jul 2024 15:28:29 GMT
< Content-Type: text/html; charset=utf-8
< Content-Length: 281
< Connection: keep-alive
< Cache-Control: max-age=0, no-cache, no-store, must-revalidate
< Expires: Wed, 24 Jul 2024 15:42:29 GMT
< Location: https://cdnfhnfile.115.com/663d7872v=1&dl=1
< Referrer-Policy: no-referrer
< 
<a href="https://cdnfhnfile.115.com/663d78000&amp;uc=10&amp;v=1&amp;dl=1">Found</a>.

似乎emby不能跳转到115的直连?

dawnsummit commented 3 months ago

好像夸克,115的emby都不能播放。直链确实可以用potplayer打开。

stiffme commented 3 months ago

夸克的我可以用emby播放,似乎就是ali转存的115不行

zhsama commented 3 months ago

夸克的我可以用emby播放,似乎就是ali转存的115不行

quark可以播,阿里转115确实不行,alist直链到pot player是正常的

stiffme commented 3 months ago

我测试下来,似乎转存到115以后给的直连有问题,有时候会被115 cdn拒绝回复403.

比如

文件:  all_jf.mp4   新增下载直链:  https://cn-beijing-data.aliyundrive.net/S3vy3esI%2F2012363630%2F660ac40681dbadc5b86042b684c4f11567e4b706%2F660ac40687b852898bed4405a049b0844f2fd5d5?callback=eyJjYWxsYmFja1VybCI6Im
07-25-2024 17:13:27  已成功缓存了 2 个文件
获取到115下载新链接: https://cdnfhnfile.115.com/665e0f9382080a63adbd3077f6ff82913b196575/all_jf.mp4?t=1723606337&u=64970009&s=524288000&d=vip-9sy-1&c=2&f=1&k=aa440a83d72e773fea1872a630e11b43&us=5242880000&uc=10&v=1
重新获取115已有文件新链接: https://cdnfhnfile.115.com/665e0f9382080a63adbd3077f6ff82913b196575/all_jf.mp4?t=1723606337&u=64970009&s=524288000&d=vip-9y-1&c=2&f=1&k=aa440a83d72e773fea1872a630e11b43&us=5242880000&uc=10&v=1
重新获取115已有文件新链接: https://cdnfhnfile.115.com/665e0f9382080a63adbd3077f6ff82913b196575/all_jf.mp4?t=1723606337&u=64970009&s=524288000&d=vip-97y-1&c=2&f=1&k=aa440a83d72e773fea1872a630e11b43&us=5242880000&uc=10&v=1
[66a217376b9db926d4334e3aba172244e0cfeede]

然后我手工curl这个拦截会被403拒绝:

curl 'https://cdnfhnfile.115.com/660&uc=10&v=1' -v
* TLSv1.0 (OUT), TLS header, Certificate Status (22):
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS header, Finished (20):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS header, Finished (20):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
> GET /665e0f93820&uc=10&v=1 HTTP/1.1
> Host: cdnfhnfile.115.com
> User-Agent: curl/7.86.0
> Accept: */*
> 
* TLSv1.2 (IN), TLS header, Supplemental data (23):
< HTTP/1.1 403 Forbidden
< Server: AliyunOSS
< Date: Thu, 25 Jul 2024 09:24:17 GMT
< Content-Type: video/mp4
< Content-Length: 85
< Connection: keep-alive
< Content-Disposition: attachment
< Timing-Allow-Origin: *
< x-115-request-id: 66A219C1954D503136EE88E7
< 
{"status":403,"message":"invalid signature","request_id":"66A219C1954D503136EE88E7"}

这估计就是emby无法播放的原因。。 但是这个问题不是每次都发生,有时候115 cdn是好的,有时候就会403 感觉是alist的问题。

dawnsummit commented 3 months ago

我测试下来,似乎转存到115以后给的直连有问题,有时候会被115 cdn拒绝回复403.

比如

文件:  all_jf.mp4   新增下载直链:  https://cn-beijing-data.aliyundrive.net/S3vy3esI%2F2012363630%2F660ac40681dbadc5b86042b684c4f11567e4b706%2F660ac40687b852898bed4405a049b0844f2fd5d5?callback=eyJjYWxsYmFja1VybCI6Im
07-25-2024 17:13:27  已成功缓存了 2 个文件
获取到115下载新链接: https://cdnfhnfile.115.com/665e0f9382080a63adbd3077f6ff82913b196575/all_jf.mp4?t=1723606337&u=64970009&s=524288000&d=vip-9sy-1&c=2&f=1&k=aa440a83d72e773fea1872a630e11b43&us=5242880000&uc=10&v=1
重新获取115已有文件新链接: https://cdnfhnfile.115.com/665e0f9382080a63adbd3077f6ff82913b196575/all_jf.mp4?t=1723606337&u=64970009&s=524288000&d=vip-9y-1&c=2&f=1&k=aa440a83d72e773fea1872a630e11b43&us=5242880000&uc=10&v=1
重新获取115已有文件新链接: https://cdnfhnfile.115.com/665e0f9382080a63adbd3077f6ff82913b196575/all_jf.mp4?t=1723606337&u=64970009&s=524288000&d=vip-97y-1&c=2&f=1&k=aa440a83d72e773fea1872a630e11b43&us=5242880000&uc=10&v=1
[66a217376b9db926d4334e3aba172244e0cfeede]

然后我手工curl这个拦截会被403拒绝:

curl 'https://cdnfhnfile.115.com/660&uc=10&v=1' -v
* TLSv1.0 (OUT), TLS header, Certificate Status (22):
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS header, Finished (20):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS header, Finished (20):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
> GET /665e0f93820&uc=10&v=1 HTTP/1.1
> Host: cdnfhnfile.115.com
> User-Agent: curl/7.86.0
> Accept: */*
> 
* TLSv1.2 (IN), TLS header, Supplemental data (23):
< HTTP/1.1 403 Forbidden
< Server: AliyunOSS
< Date: Thu, 25 Jul 2024 09:24:17 GMT
< Content-Type: video/mp4
< Content-Length: 85
< Connection: keep-alive
< Content-Disposition: attachment
< Timing-Allow-Origin: *
< x-115-request-id: 66A219C1954D503136EE88E7
< 
{"status":403,"message":"invalid signature","request_id":"66A219C1954D503136EE88E7"}

这估计就是emby无法播放的原因。。 但是这个问题不是每次都发生,有时候115 cdn是好的,有时候就会403 感觉是alist的问题。

我试过很多遍,都是403错误,只有刚开始的时候成功过,后来都不行了。

stiffme commented 3 months ago

我也是这个情况。 我的ali2115.txt里面的cookie使用的是浏览器的cookie,我用token似乎不行

zhengsun2020 commented 3 months ago

我这里也是这样的,不带115就没问题,而 115获得的连接总是 403 (但是emby中如果开了转码 就用ffprobe读取并转就没问题了)所以这个可能是 Emby的问题,115 有些什么规范 Emby访问的时候没有遵守或者啥

Command line: /opt/emby-server/system/EmbyServer.dll -programdata /var/lib/emby -ffdetect /opt/emby-server/bin/ffdetect -ffmpeg /opt/emby-server/bin/ffmpeg -ffprobe /opt/emby-server/bin/ffprobe -restartexitcode 3 -updatepackage emby-server-deb_{version}_arm64.deb
Operating system: Linux version 5.4.0-135-generic (buildd@bos02-arm64-072) (gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)) #152-Ubuntu SMP Wed Nov 23 20:19:17 UTC 2
Framework: .NET 6.0.14
OS/Process: arm64/arm64
Runtime: opt/emby-server/system/System.Private.CoreLib.dll
Processor count: 4
Data path: /var/lib/emby
Application path: /opt/emby-server/system
MediaBrowser.Model.Net.HttpException: MediaBrowser.Model.Net.HttpException: _**Forbidden**_
   at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.SendAsyncInternal(HttpRequestOptions options, String httpMethod)
   at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.SendAsync(HttpRequestOptions options, String httpMethod)
   at Emby.Server.Implementations.HttpServer.HttpResultFactory.GetContent(StaticFileResultOptions options, Int64 offset, Int64 length, CancellationToken cancellationToken)
   at Emby.Server.Implementations.HttpServer.FileWriter.SetContentResponseHeaders(Nullable`1 reportedTotalContentLength, CancellationToken cancellationToken)
   at Emby.Server.Implementations.HttpServer.HttpResultFactory.GetStaticResult(IRequest requestContext, StaticResultOptions options)
   at Emby.Server.MediaEncoding.Api.Progressive.BaseProgressiveStreamingService.ProcessRequest(StreamRequest request, Boolean isHeadRequest)
   at Emby.Server.Implementations.Services.ServiceController.GetTaskResult(Task task)
   at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IServerApplicationHost appHost, IRequest httpReq, IResponse httpRes, RestPath restPath, String responseContentType, CancellationToken cancellationToken)
   at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IRequest httpReq, ReadOnlyMemory`1 urlString, ReadOnlyMemory`1 localPath, CancellationToken cancellationToken)
Source: Emby.Server.Implementations
TargetSite: Void MoveNext()
zhsama commented 3 months ago

我这里也是这样的,不带115就没问题,而 115获得的连接总是 403 (但是emby中如果开了转码 就用ffprobe读取并转就没问题了)所以这个可能是 Emby的问题,115 有些什么规范 Emby访问的时候没有遵守或者啥

Command line: /opt/emby-server/system/EmbyServer.dll -programdata /var/lib/emby -ffdetect /opt/emby-server/bin/ffdetect -ffmpeg /opt/emby-server/bin/ffmpeg -ffprobe /opt/emby-server/bin/ffprobe -restartexitcode 3 -updatepackage emby-server-deb_{version}_arm64.deb
Operating system: Linux version 5.4.0-135-generic (buildd@bos02-arm64-072) (gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)) #152-Ubuntu SMP Wed Nov 23 20:19:17 UTC 2
Framework: .NET 6.0.14
OS/Process: arm64/arm64
Runtime: opt/emby-server/system/System.Private.CoreLib.dll
Processor count: 4
Data path: /var/lib/emby
Application path: /opt/emby-server/system
MediaBrowser.Model.Net.HttpException: MediaBrowser.Model.Net.HttpException: _**Forbidden**_
   at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.SendAsyncInternal(HttpRequestOptions options, String httpMethod)
   at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.SendAsync(HttpRequestOptions options, String httpMethod)
   at Emby.Server.Implementations.HttpServer.HttpResultFactory.GetContent(StaticFileResultOptions options, Int64 offset, Int64 length, CancellationToken cancellationToken)
   at Emby.Server.Implementations.HttpServer.FileWriter.SetContentResponseHeaders(Nullable`1 reportedTotalContentLength, CancellationToken cancellationToken)
   at Emby.Server.Implementations.HttpServer.HttpResultFactory.GetStaticResult(IRequest requestContext, StaticResultOptions options)
   at Emby.Server.MediaEncoding.Api.Progressive.BaseProgressiveStreamingService.ProcessRequest(StreamRequest request, Boolean isHeadRequest)
   at Emby.Server.Implementations.Services.ServiceController.GetTaskResult(Task task)
   at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IServerApplicationHost appHost, IRequest httpReq, IResponse httpRes, RestPath restPath, String responseContentType, CancellationToken cancellationToken)
   at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IRequest httpReq, ReadOnlyMemory`1 urlString, ReadOnlyMemory`1 localPath, CancellationToken cancellationToken)
Source: Emby.Server.Implementations
TargetSite: Void MoveNext()

请问如何使用ffprobe

zhengsun2020 commented 3 months ago

Emby如果设置中的用户选项中开着转码权限,用户在用 自带的客户端或者Web观看就会自动转码 转码后就会启用ffprobe读取http连接,就没有问题支持302的115

zhsama commented 3 months ago

Emby如果设置中的用户选项中开着转码权限,用户在用 自带的客户端或者Web观看就会自动转码 转码后就会启用ffprobe读取http连接,就没有问题支持302的115

已开启硬解,且web可以正常播放,但是emby客户端无法播放,就很怪。。。

image
zhengsun2020 commented 3 months ago

image 是这个地方

jacky940810 commented 3 months ago

兄弟们我也遇到同样的问题了,添加了ali2115文件(内容如下)之后emby无法转存到115,我是用几百MB的电视剧测试的,上周还是可以的,是不是有新的风控策略 purge_ali_temp=true cookie="d5e0692e0dc6dc196e2132fa63ec424dd36dd61f" purge_pan115_temp=true dir_id=0 image

jacky940810 commented 3 months ago

看了一下日志无法添加115网盘呀 image 但是alist-tvbox是正常的,这可咋办

zhengsun2020 commented 3 months ago

我没用tvbox的版本,我是原版

zhengsun2020 commented 3 months ago

换cookie试试

jacky940810 commented 3 months ago

您说的对 我重启了docker并更换了cookie后修复了该问题

JacobChen22 commented 1 month ago

同样的问题,有人解决了吗? 日志里面是:MediaBrowser.Model.Net.HttpException: Forbidden

zhengsun2020 commented 1 month ago

解决不了,Emby直接播放(不转码)不支持带着Cookie过去,如果启动了转码就交给了 FFMpeg,就带过去了

jokunhe commented 4 weeks ago

换cookie试试

同样的问题,请问更换的是什么模式的cookie ,115的么。 我换了几个版本的cookie都不行

jokunhe commented 4 weeks ago

有解决办法了。 别用6908的端口看 ,用2345的端口 就没有这个问题了

zhengsun2020 commented 3 weeks ago

这个我早就发现了,后来我也没继续关注 忘了说了