分析原因:
经过我的多项测试,我发现Jellyfin的TMDB插件,主要应该就是用的http://api.themoviedb.org的域名进行数据交互。然而http://api.themoviedb.org经常被墙。之前有人说改hosts文件就行,但是最近http://api.themoviedb.org所对应的ip也被墙了,所以就算改hosts也没用。(因为hosts文件就是将域名和ip建立强映射关系的。有了hosts文件,系统在dns解析的时候会优先查看hosts文件有没有对应ip,有的话就直接使用,不进行dns解析了)。所以有时候,就算ping http://api.themoviedb.org这个网址都ping不通,就更别说从这个网址获取信息了
但是,http://themoviedb.org这个网址,除了http://api.themoviedb.org这个api,还有一个旧版的,是api.tmdb.org.经过测试,这个能用。但是比较狗血是,jellyfin的tmdb插件好像只能用http://api.themoviedb.org这个新的api网址。。
解决办法:
一、获取hosts(或hosts文件)
无论任何系统,最重要的就是我们可以将http://api.tmdb.org这个旧版的域名搜索到的ip和新的http://api.themoviedb.org这个域名对应上,然后写入hosts文件。这里提供两种方法,一种手动的,一种自动的:
手动:
进入这个网址,DNS Checker - DNS Check Propagation Tool,然后搜索api.tmdb.org,右边的单元框选A,(A就是ipv4地址,AAAA就是ipv6地址,别的不用管)找到中国地区的,然后将获取的ip记录下,随后改成AAAA,同样搜索这个地址,记录下。同样的方式再搜索image.tmdb.org。之后建立一个txt文件,在里面写入刚才的ip值+域名。按照这样的格式写就行:
2600:9000:25f4:ea00:10:fb02:4000:93a1 api.themoviedb.org
2600:9000:25f4:4800:10:fb02:4000:93a1 api.themoviedb.org
2600:9000:25f4:1600:10:fb02:4000:93a1 api.themoviedb.org
2600:9000:25f4:200:10:fb02:4000:93a1 api.themoviedb.org
2600:9000:25f4:f200:10:fb02:4000:93a1 api.themoviedb.org
2600:9000:25f4:ca00:10:fb02:4000:93a1 api.themoviedb.org
2600:9000:25f4:2e00:10:fb02:4000:93a1 api.themoviedb.org
2600:9000:25f4:fc00:10:fb02:4000:93a1 api.themoviedb.org
2400:52e0:1a01::1114:1 image.tmdb.org
13.226.244.122 api.themoviedb.org
13.226.244.108 api.themoviedb.org
13.226.244.124 api.themoviedb.org
13.226.244.10 api.themoviedb.org
143.244.50.212 image.tmdb.org
但是注意,刚我们记录下的http://api.tmdb.org的ip,要将其映射到http://api.themoviedb.org域名上。写完之后,重命名为hosts.txt,然后吧.txt后缀删掉,就可以得到一个编辑好的hosts文件了。
2. 自动:
使用我制作的自动获取IP的软件2024.8.14 获取hostsIP软件更新 Jellyfin刮削_哔哩哔哩_bilibili,进这个B站链接就能看到我编写的软件下载地址了。然后一键获取hosts文件
二、修改hosts
这里说几种情况。
首先看看你的Jellyfin是怎么安装的。
如果是安装在windows上,那么直接修改windows的hosts文件就行了(路径:C:\Windows\System32\drivers\etc\hosts)
如果是安装在群晖上,那么又分两种情况:
a) 是通过第三方套件中心安装的
这种情况我没完全测试过,理论上修改群晖的hosts文件就行。方式就是首先进入群晖web界面,进入控制面板,找到终端机和SNMP,打开SSH访问。然后再windows上使用SSH访问软件,比如powershell或者putty等等,SSH连接群辉后,获取root权限:
sudo -i
输入密码之后,使用vi命令编辑hosts文件
vi /etc/hosts
点击键盘的i进入编辑模式,复制刚刚获取到的hosts文件内容,然后直接在ssh软件中右键就能粘贴了
粘贴好后,按esc,输入:wq就能保存了
b) 是通过docker安装的
这种就比较麻烦,需要进入docker的jellyfin容器修改hosts文件,但是jellyfin容器一般都没有vi或者nano命令。。。所以我们要先进行vim或者nano命令的安装。不过幸好jellyfin好像是基于debian制作的,所以相对好安装一些、。
首先大概群晖web管理页面,找到docker-jellyfin容器-详情-终端机,点击新增,输入如下命令
apt-get update
apt-get install vim
如果没有报错就证明安装成功了。安装过程可能有点慢,虽然vim就不到10MB,但是架不住网络环境。。你懂的。。。
安装完成之后,使用如下命令编辑hosts文件即可
vim /etc/hosts
然后输入字母i进行编辑,编辑完成之后按esc,随后输入:wq进行保存即可
3. 万能法:
如果你有软路由(openwrt系统或者istoreos系统,或者小米的都行),这样的是最容易的。这样我们可以直接在软路由中修改hosts文件。(但是要注意,如果在路由器中修改了hosts文件,那么就不要在客户端中修改hosts文件了)
a) openwrt和istoreos:
这两个系统的hosts文件一般在/etc/hosts,直接使用ssh软件登入路由后台,然后使用
vi /etc/hosts
编辑hosts文件就行,方法和二-2-a相同
但是要注意,保存完成之后,openwrt可能还有dns的缓存机制,我们要清空dns缓存,所以要输入如下命令:
/etc/init.d/dnsmasq restart
这样就能清空dns缓存了。
b) 小米路由器
小米路由器的app支持自定义hosts文件,这点还是很人性化的。手机下载 小米wifi app,然后绑定登录账号绑定路由器。找到底下的工具箱,里面有一个自定义hosts。将我们获取的hosts内容输入到这里就行了,建议在电脑上获取完,发送给手机微信,然后用手机复制,再粘贴到小米wifi app里,不然输入到手麻。。。输入完点击配置就行了
温馨提示:文章内容系作者个人观点,不代表来时的路对观点赞同或支持。
版权声明:本文为转载文章,来源于 Alex ,版权归原作者所有,欢迎分享本文,转载请保留出处!(所分享的影音作品均转自网络,仅供测试和学习交流。请在下载后24小时内删除,请支持正版。如有侵权,请留言或邮件告知,万分感谢。)
发表评论