LuckyPuppy514 / jproxy

介于 Sonarr / Radarr 和 Jackett / Prowlarr 之间的代理,主要用于优化查询和提升识别率 | A proxy between Sonarr / Radarr and Jackett / Prowlarr, mainly used to optimize search and improve recognition rate
MIT License
240 stars 28 forks source link

TMDB URL 无效 #85

Closed kristianvmd closed 8 months ago

kristianvmd commented 9 months ago

部署环境(windows / docker)

docker

我是用的http代理,不知道是不是这个原因,提示是TMDB URL 无效 docker run --name jproxy \ --restart=always \ -e PUID=0 \ -e PGID=0 \ -e TZ=Asia/Shanghai \ -e JAVA_OPTS="-Xms512m -Xmx512m" \ -e HTTP_PROXY=http://192.168.31.100:7890 \ -e HTTPS_PROXY=http://192.168.31.100:7890 \ -p 8117:8117 \ -v /volume1/docker/jproxy/database:/app/database \ -d luckypuppy514/jproxy:latest

简要描述复现问题的操作,以及出现的具体问题

相关日志

docker 请执行 docker logs -f jproxy 并重新执行复现问题的操作截取重新操作后的日志 windows 在 logs 目录下

 ERROR [xec-2] com.lckp.jproxy.util.CheckUtil.checkTmdbApi(CheckUtil.java:156)                  : TMDB URL 无效:I/O error on GET request for "https://api.themoviedb.org/3/movie
LuckyPuppy514 commented 9 months ago

请认真看教程,你配置代理的方式错了

https://github.com/LuckyPuppy514/jproxy#docker

-e JAVA_OPTS="-Xms512m -Xmx512m"

改为

-e JAVA_OPTS="-Xms512m -Xmx512m -Dhttp.proxyHost=192.168.31.100 -Dhttp.proxyPort=7890"
kristianvmd commented 9 months ago

抱歉

LuckyPuppy514 commented 9 months ago

这说明你的代理设置有问题,要用 docker 内外 IP,你要确保你两个容器处于同一个子网中 并且看你的端口号应该是用的 Clash,还要确保你的 Clash 开启 allow-lan 允许内网其他设备访问 然后你可以使用以下命令确保你的代理可用,如果下面命令没有反应或超时,说明 jproxy 容器无法访问你的代理,请自行检查网络和代理

docker exec -it jproxy curl -x "http://172.17.0.3:7890" "https://api.themoviedb.org"

正常应该返回类似以下内容

<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>openresty</center>
</body>
</html>
kristianvmd commented 9 months ago

两个容器处于同一个子网的,allow-lan也开了,我返回的就是你发的:

root@icloud:~# docker exec -it jproxy curl -x "http://172.17.0.1:7890" "https://api.themoviedb.org"
<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>openresty</center>
</body>
</html>
LuckyPuppy514 commented 9 months ago

那就进 JProxy 容器内部,执行

echo $JAVA_OPTS
curl -x "http://172.17.0.3:7890" "https://api.themoviedb.org"

然后截图发出来看看

kristianvmd commented 9 months ago
root@icloud:~# docker exec -it jproxy sh
# echo $JAVA_OPTS
-Xms512m -Xmx512m -Dhttp.proxyHost=172.17.0.1 -Dhttp.proxyPort=7890
# curl -x "http://172.17.0.3:7890" "https://api.themoviedb.org"
curl: (7) Failed to connect to 172.17.0.3 port 7890 after 0 ms: Connection refused
# curl -x "http://172.17.0.1:7890" "https://api.themoviedb.org"
<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>openresty</center>
</body>
</html>
LuckyPuppy514 commented 9 months ago

怎么一会 172.17.0.3,一会 172.17.0.1,你自己先确定好自己的代理,现在看起来没有问题,你确定保存还是提示连接超时?

kristianvmd commented 9 months ago

怎么一会 172.17.0.3,一会 172.17.0.1,你自己先确定好自己的代理,现在看起来没有问题,你确定保存还是提示连接超时?

我只是删过一次IP变了,我确定保存还是提示连接超时,测试了几次都不行

LuckyPuppy514 commented 9 months ago

那你重新拉下最新版的镜像,重新创建容器再试试吧

kristianvmd commented 9 months ago

昨天就试过重新创建,而且我还换了个设备试了下,也是不行的。

LuckyPuppy514 commented 9 months ago

删除镜像,重拉后重新创建,还有可以试试 socks 代理,怎么设置请看 README

kristianvmd commented 9 months ago

删除镜像重新创建试了,也不行,socks代理下执行docker exec -it jproxy curl -x "http://172.17.0.1:17891"提示 Proxy CONNECT aborted,http代理正常的只不过还是提示TMDB URL 无效

LuckyPuppy514 commented 9 months ago

socks 代理你怎么还用 http 协议,应该是

docker exec -it jproxy curl -x "socks://172.17.0.1:17891" "https://api.themoviedb.org"
kristianvmd commented 9 months ago

,http代理正常的只不过还是提示TMDB URL 无效

呃呃不好意思,没留意,现在提示这个

curl: (60) SSL: no alternative certificate subject name matches target host name                                                                                                              'api.themoviedb.org'
More details here: https://curl.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
LuckyPuppy514 commented 9 months ago

这个应该没啥问题,你尝试按 README 文档使用 socks 代理创建容器了吗 如果还不行,只能加Q群:921905633 找我,我远程看看了

NNuuNN commented 8 months ago

wtf。。。搞了一晚上。。。把地址换成api.tmdb.org搞定了。。。

kristianvmd commented 8 months ago

wtf。。。搞了一晚上。。。把地址换成api.tmdb.org搞定了。。。

求教,你最后是怎么搞定的

NNuuNN commented 8 months ago

wtf。。。搞了一晚上。。。把地址换成api.tmdb.org搞定了。。。

求教,你最后是怎么搞定的

你上面的流程我都跑了一遍,没问题,但是用默认的https://api.themoviedb.org就是红叉 在系统设置-基础设置-TMDB 那把服务地址改为api.tmdb.org 保存就绿勾了

kristianvmd commented 8 months ago

wtf。。。搞了一晚上。。。把地址换成api.tmdb.org搞定了。。。

求教,你最后是怎么搞定的

你上面的流程我都跑了一遍,没问题,但是用默认的https://api.themoviedb.org就是红叉 在系统设置-基础设置-TMDB 那把服务地址改为api.tmdb.org 保存就绿勾了

这里是绿勾了,但qbittorrent那里变红勾了,你qbit那里没问题的?

NNuuNN commented 8 months ago

wtf。。。搞了一晚上。。。把地址换成api.tmdb.org搞定了。。。

求教,你最后是怎么搞定的

你上面的流程我都跑了一遍,没问题,但是用默认的https://api.themoviedb.org就是红叉 在系统设置-基础设置-TMDB 那把服务地址改为api.tmdb.org 保存就绿勾了

这里是绿勾了,但qbittorrent那里变红勾了,你qbit那里没问题的?

嗯,这个就需要你测试下了,比如代理,qb,jproxy是否在一个网络中,我测试了很久,最终是clash在bridge,qb jp在host下,地址你要测试下,局域网地址,127,或者172反正都试试

我在想我们俩遇到的这些问题,就themoviedb红叉,tmdb绿勾的情况,是否跟我们用的代理服务支不支持udp有关。

yztz commented 6 months ago

-Dhttp.proxyHost=XXX -Dhttp.proxyPort=XXX 改成 -Dhttps.proxyHost=XXX -Dhttps.proxyPort=XXX