没想到自己咕咕咕这么久,直到现在才开写的今年第一篇文章就是 NSFW 向的,多少还是有点……尴尬。
其实这篇文章我在写之前想了一阵子该不该发的,但是怎么说呢,毕竟也是自己折腾过的东西,不分享又觉得可惜,不甘心,所以还是发出来了。¯\_(ツ)_/¯
一、MetaTube 介绍
官网:https://metatube-community.github.io/
项目地址:https://github.com/metatube-community/jellyfin-plugin-metatube
用过 Jellyfin 的朋友都知道,Jellyfin 已经内置了很多好用的刮削器了,完全可以胜任国内外一般电视剧电影的作品信息收集整理工作。可惜在成人电影这块,尤其是市场规模庞大的日本成人电影这块,Jellyfin 自带的那些刮削器就显得有些无能为力了。
在 MetaTube 之前,我也是有测试过一些类似的刮削器,只是不知道是我太笨了使用方法不对还是因为和 Jellyfin 本身适配性就不好,总之就是觉得体验不是很好。
直到我偶然之前在 Github 上查找 Jellyfin 插件项目查到了 MetaTube。
MetaTube 是一个开源项目,我个人觉得它比较好的地方是对日本成人影片的支持很不错(支持多个数据源),而且还内置有演员提供源,在刮削影片信息的同时也会帮用户建立演员的档案,可以说是非常贴心了。
不同于 Jellyfin 上的其它刮削器,MetaTube 是客户端(即 Jellyfin 上安装的对应插件)和服务器端配合着一起使用的。具体来说,我们刮削成人影片的数据时,服务器端会先在支持的源数据网站访问拉取数据并将其处理成适合 Jellyfin 使用的数据后,再经由客户端写入 Jellyfin 的影片数据库。
MetaTube 支持的成人影片检索网站挺多的,以后可能还会加别的,我就不一个一个列出来了,大家可以在后端代码的这个文件夹里看到支持的网站:https://github.com/metatube-community/metatube-sdk-go/tree/main/provider
二、Metatube(Debian)服务端搭建
前面提到,MetaTube 是分为客户端和服务端两样的,客户端就不提了,也就是我们平时装的 Jellyfin 插件,服务端这边是需要我们用 VPS 另外搭建的,所以需要单独说一下。
关于服务端的搭建,作者提供了多种的搭建方式,具体的可以看这里:https://metatube-community.github.io/wiki/server-deployment/
对于本人来说,因为我手上有 VPS,也不想因为这个单独去装 Docker(可能我是少数不喜欢 Docker 的人吧?),所以 Docker 那种部署方式或者是 Heroku 这种部署方式我就不考虑了,只说说在 VPS 上直接部署服务端的方式。
当然了,对于没有动手能力或者不想因为这个就去用 VPS 的朋友,作者的页面里也提供了一些免费的后端分享(https://metatube-community.github.io/wiki/free-servers/),用这些免费的就不需要再看搭建这步了,看后面插件的安装设置教程即可。不过还是提醒一下,虽然只是一个很小的东西,但是用他人服务的时候还是记得多考虑下安全性和稳定性的问题。
好了,直接开始说搭建吧!
首先我们需要做的是在 VPS 里下载保存好作者编译好的服务端二进制文件,这里就以保存到 /home/www/download 文件夹下为例:
wget -P /home/www/download https://github.com/metatube-community/metatube-server-releases/releases/download/v1.1.0/metatube-server-linux-amd64-v3.zip
这里注意下载的链接要根据自己的情况修改,我下载的是适用 64 位系统的 V3 版客户端(据作者说 V3 版效率更高但是需要新版 CPU 支持),MetaTube 服务端的各个版本可以在 https://github.com/metatube-community/metatube-server-releases/releases 找到。
下载好之后,先把二进制文件压缩包解压,这里需要用的 unzip,如果你的 VPS 没有安装的话记得先安装一下。
安装 unzip(以 Debian 系统为例):
apt install unzip
解压二进制文件压缩包:
cd /home/www/download unzip metatube-server-linux-amd64-v3.zip
解压完成之后会获得 metatube-server-linux-amd64-v3 这个文件,这就是程序运行的二进制文件了,如果没有什么配置需要,可以直接运行,这样服务端就算是弄好了:
cd /home/www/download ./metatube-server-linux-amd64-v3
当然,这种直接运行的方式并不是很好很安全,所以在确定运行没问题之后,我们最好还是配置一些参数来运行,Metatube 支持的参数如下:
参数名 | 可选值 | 默认值 | 备注 |
PORT | int<0-65535> | 8080 | 监听端口号,按需修改 |
TOKEN | string | 无 | 访问密钥,按需配置,若部署在本地则没有配置的必要 |
DSN | string | 内存模式 | 数据库服务地址,按需配置,小白建议使用默认值 |
DB_MAX_IDLE_CONNS | int | false | 最大空闲数据库连接数,建议使用默认值 |
DB_MAX_OPEN_CONNS | int | 0 | 最大数据库连接数,建议使用默认值 |
DB_PREPARED_STMT | bool | 0 | Prepared Statement,建议使用默认值 |
DB_AUTO_MIGRATE | bool | false | 数据库表自动迁移,建议使用默认值 |
REQUEST_TIMEOUT | string | 1m | 请求超时时长,默认一分钟 |
上面的参数比较重要的就是前面三个了,port 用于设置 MetaTube 服务端通过什么端口可以访问,token 可以理解为访问密码,不设置的话就是可以直接访问不需要验证,dsn 用于设置服务端刮削的数据存储模式,如果是想长久使用 MetaTube 的话,建议配置一下,默认的内存模式可能在重启机器之后丢失原来刮削的数据(指服务端而不是实际在 Jellyfin 上存储的数据)。
下面以带前三个参数运行举例:
cd /home/www/download ./metatube-server-linux-amd64-v3 -port 8081 -token 123456789 -dsn /home/www/download/metatube.db
以上参数指定之后,Metatube 服务端将运行在 8081 端口,密钥(密码)为 123456789,Metatube 的数据库将保存在/home/www/download/metatube.db 文件内(以 SQLite 引擎保存的)。
说完运行的问题,接着就是设置 MetaTube 跟随 VPS 一起开机自启动了,不然的话我们需要每次手动敲命令让 MetaTube 服务端运行起来,太麻烦了。由于博主用的是 Debian 系统,这里就只提供用 systemd 设置 MetaTube 自启动方式了。
首先需要在/etc/systemd/system文件夹下创建一个 service 文件,我这里就直接叫 meta.service 了,将下面的内容复制在这个文件里保存:
[Unit] Description=meta After=network.target [Service] Type=simple ExecStart=/home/www/download/metatube-server-linux-amd64-v3 -port 8081 -token 123456789 -dsn /home/www/download/metatube.db WorkingDirectory=/home/www/download Restart=always RestartSec=10 [Install] WantedBy=multi-user.target
这是一个非常简单的 systemd 自启动文件,具体的含义就不展开说了,感兴趣的可以去查查 systemd 的一些配置方法自己看着修改,比较重要的是 ExecStart 和 WorkingDirectory 这两项,前者要写 Metatube 的执行命令(含你要配置的参数),后者是配置工作目录,都别忘了根据自己的情况修改。
文件保存好之后,使用 systemctl 操作激活就可以了:
systemctl enable meta.service
到这里,服务端的配置算是做完了。如果你还想要给服务端绑定域名并使用 HTTPS 访问的话,可以再配合和 Nginx 和 Apache 一起使用,这里就略过了,需要的我以后再来补充吧~
三、MetaTube 插件的安装与配置
弄完了上面的服务端,接着安装对应的 Jellyfin 插件配置就可以了,因为这部分比较简单,我就直接复制一下作者提供的安装步骤了:
1.进入 Jellyfin 控制台 > 插件 > 存储库,点击添加
2.输入存储库名称:MetaTube
3.输入存储库URL:https://raw.githubusercontent.com/metatube-community/jellyfin-plugin-metatube/dist/manifest.json
4.在插件目录下找到 MetaTube,点击安装 重启Jellyfin
安装说明参考:https://metatube-community.github.io/wiki/plugin-installation/
安装好 MetaTube 的插件后,在插件目录里找到 MetaTube,点击它就能打开设置页面。
由于是针对初期配置的说明,关于 MetaTube 那些具体选项的作用我就不一一细说了,只说下怎么填写我们前面搭建好的服务端信息。
Server:填写服务端的地址和端口,比如 http://example.com:8081
Token:填写服务端配置的密钥(密码),没有就留空
只是想要连接配置好服务端,写好这两项就够了,后面的都是针对刮削器的设置,大家根据自己的情况设置即可。
搞定设置之后,记得点下最下面的 Save 按钮保存配置,剩下的就是和我们平常使用 Jellyfin 刮削器一样了,可以直接在媒体库设置里指定使用 MetaTube 作为数据提供源~
四、MetaTube 的日后更新
在配置好服务端和插件之后,并不是就一劳永逸了,我们还是有必要跟随 MetaTube 保持更新的。
Jellyfin 插件这边比较好说,Jellyfin 它自己就会帮我们更新了,而服务端这边的话,需要我们先停止运行中的程序:
systemctl stop meta
之后正常下载新版的服务端然后覆盖旧的二进制文件,再执行下面的命令重新运行就可以了:
systemctl start meta
结束
关于 MetaTube 的教程就写这么多了,其实这个插件包含的功能我看了下还挺多的,只是没那么仔细的去研究。如果你是成人影片爱好者且又苦于 Jellyfin 缺少一个好用的刮削器的话,可以试试 MetaTube,我觉得还挺好用的。_(:з)∠)_