caryyu / jellyfin-plugin-opendouban

Douban metadata provider for Jellyfin
188 stars 15 forks source link

【IP异常检测】 可否增加接口查询间隙时间 #28

Closed virualv closed 2 years ago

virualv commented 2 years ago

用一次豆瓣就提示ip异常了 可否增加一个接口查询间隙时间配置 或者添加一个10s内的随机时间值作为每次查询间隔,来降低被侦测

caryyu commented 2 years ago

@virualv 目前暂不支持,后面可以考虑扩展一下,只能等待解封了,一般等几个小时就好了。

caryyu commented 2 years ago

@virualv 目前服务端启动参数可以支持设置 Cookie 了,意味着可以自行在浏览器登录进去,然后利用 Chrome 的插件获取 Cookie 设置到服务端即可跳过 IP 异常检测(据我所知,登录的用户豆瓣是不会进行限制拦截的!)

Tip: 请纠正我,如果我说的不对,谢谢 :)

virualv commented 2 years ago

可以,但是豆瓣反爬严格。如果直接登录后接口访问过度频繁不确定会不会封禁账户

caryyu commented 2 years ago

@virualv 如果某次 API 调用超过间隙时间那 API 返回值应该是空还是 Pending 住?如果是后者,那么请求的并发数也有存在被超过的问题,最终都会直接反应到客户端,最后导致客户端的搜刮会是失败的,本质均会导致客户端搜刮产生问题;不知道你那边有没有更好的建议。

virualv commented 2 years ago

设置调用间隙时间的目的是降低访问豆瓣的频次,避免高频访问豆瓣触发豆瓣自身保护机制而被短时封禁。如果服务端 API 如果是接收到一次调用去访问一次豆瓣,那么调用延时在客户端做就已经可以达到效果了,不必要在服务端做。这样也只是延长了刮削时间,不会影响到正常刮削。

: ask me anything :) @.***> 于2022年7月25日周一 19:14写道:

@virualv https://github.com/virualv 如果某次 API 调用超过间隙时间那 API 返回值应该是空还是 Pending 住?如果是后者,那么请求的并发数也有存在被超过的问题,最终都会直接反应到客户端,最后导致客户端的搜刮会是失败的,本质均会导致客户端搜刮产生问题;不知道你那边有没有更好的建议。

— Reply to this email directly, view it on GitHub https://github.com/caryyu/jellyfin-plugin-opendouban/issues/28#issuecomment-1193913117, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKDXWCD5QM5MBNQE23ZMYQLVVZZHTANCNFSM5NFKKYGQ . You are receiving this because you were mentioned.Message ID: @.***>

caryyu commented 2 years ago

@virualv 插件目前都是被动接收到 Jellyfin 下发的搜刮调用命令以同步方式进行的,如果 Pending 插件的同步操作我猜测 Jellyfin 也有超时限制的(没具体研究过),没想明白插件如何做到延时来调用(进行大量堵塞嘛?)。

virualv commented 2 years ago

Libitum/jellyfin-plugin-douban里有用到最小请求间隔,但是我不会C#所以没法帮你捋清它的实现逻辑,你可以参考一下这个

: ask me anything :) @.***> 于2022年7月27日周三 21:30写道:

@virualv https://github.com/virualv 插件目前都是被动接收到 Jellyfin 下发的搜刮调用命令以同步方式进行的,如果 Pending 插件的同步操作我猜测 Jellyfin 也有有超时限制的(没具体研究过),没想明白插件如何做到延时来调用(进行大量堵塞嘛?)。

— Reply to this email directly, view it on GitHub https://github.com/caryyu/jellyfin-plugin-opendouban/issues/28#issuecomment-1196766694, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKDXWCH2SV2FO6KQRDMMFELVWE2Y3ANCNFSM5NFKKYGQ . You are receiving this because you were mentioned.Message ID: @.***>

caryyu commented 2 years ago

@virualv 你应该指的是这个: https://github.com/Libitum/jellyfin-plugin-douban/blob/master/Jellyfin.Plugin.Douban/Configuration/PluginConfiguration.cs#L11

这个参数我在它的仓库全局搜索了一下并没有找到引用的地方,我猜应该没有使用到,照理说插件很难自己来定义搜刮频率,该频率应该由 Jellyfin 的主 Server 来决定。