平台介绍

NasTools

NasTools是一个开源项目,主要为自动整理和归集NAS(网络附加存储)中的媒体资源。它主要提供了以下几项功能:

  • PT自动检索下载:通过RSS订阅和PT网站搜索匹配的资源,自动下载到NAS本地,同时支持豆瓣收藏的电影电视剧后台自动检索下载。
  • 媒体识别和重命名:监控下载软件,下载完成后自动识别真实名称,并将其硬链接到媒体库并重命名。该功能可以确保媒体文件正确地归类和命名,方便后续的检索和管理。
  • 消息服务:支持ServerChan、微信、Telegram、Bark等图文消息通知,让用户可以直接在手机上控制NasTools。
  • 其他功能:PT站自动签到、Emby/Jellyfin播放状态通知、字幕下载等。

目前NasTools主要贡献者所属仓库已经停止维护。

OpenWrt

OpenWrt是一个针对嵌入式设备(例如路由器)的自由和开放源代码的操作系统。它基于Linux,并提供了一种替代设备厂商提供的固件的选择。OpenWrt的目标是提供一个灵活、可定制和易于使用的操作系统,使用户能够完全控制他们的设备。

OpenWrt的主要特点包括:

  • 自由和开放源代码:OpenWrt是一个开放源代码项目,任何人都可以查看、修改和分发它的代码。

  • 轻量级和高度可定制:OpenWrt专注于运行在资源有限的设备上,它的设计使其尽可能占用更少的内存和处理器资源。用户可以根据自己的需求选择和安装软件包,以满足特定的功能要求。

  • 软件包管理系统:OpenWrt提供了一个软件包管理系统,使用户能够轻松安装、更新和卸载软件包。这使得用户可以根据自己的需求扩展设备的功能。

  • 安全性:OpenWrt积极致力于安全性,及时修复安全漏洞并提供安全更新。

  • 社区支持:OpenWrt拥有一个活跃的社区,用户可以在社区中获得支持、讨论问题和分享经验。

通过使用OpenWrt,用户可以将普通的嵌入式设备(如路由器)转变为功能强大的网络设备,具备诸如虚拟专用网络(VPN)、防火墙、网络存储、代理服务器等高级功能。

安装

OpenWrt需要安装iStore。

在iStore中安装NAS媒体工具,刷新页面后,在 服务-NasTools 中,将镜像自定义为:

miraclemie/nas-tools:latest

原因为作者在2.9.2版本将一些功能进行阉割,我们直接安装网友提供的2.9.1版本docker镜像即可。

随后进行安装,由于镜像会比较大,耐心等待安装完成即可。

配置

安装完后,打开3003端口,填入默认用户名:admin,密码:password 后即可进入首页。

TMDB搜刮器

TMDB是The Movie Database的简称,是一个面向电影和电视节目的在线数据库和社区。它提供了广泛的电影和电视节目的信息,包括演员、导演、剧情简介、海报、预告片以及用户评分等。

TMDB成立于2008年,旨在为用户提供一个全面而准确的电影和电视节目数据库。它的目标是成为全球最大的、最全面的电影和电视节目信息资源之一。

在TMDB上,用户可以浏览电影和电视节目的详细信息,包括发行日期、片长、制片国家、流派等。用户还可以查看电影和电视节目的演职员表,了解背后的人员信息。而且,用户可以为自己喜欢的电影和电视节目添加评分和评论,与其他用户分享观影体验。

TMDB还提供了一套开放的API,允许开发者在自己的应用程序中访问和使用TMDB的数据。这使得开发者可以创建各种电影和电视节目相关的应用,如电影推荐系统、观影日志和社交平台等。

利用TMDB的API,我们就可以为NasTools支撑影音元数据的获取。

打开官网:https://www.themoviedb.org/
注册登录后,打开:https://www.themoviedb.org/settings/api ,将API 密钥进行复制,填入NasTools中的 设置-基础设置-媒体-TMDB API Key 中,保存即可配置完成

媒体库目录配置

每个资源类型分为2个目录,一个是资源目录,另外一个是通过识别资源目录的资源并通过搜刮信息后重新同步后到的另外一个映射目录。

在资源存放的目录提前新建目录,在 设置-媒体库、设置-同步目录 中可以参考我的配置进行设置:

索引器Jackett

那么我们最重要的问题是从哪里获取到资源。

那么大名鼎鼎的Jackett就来了。Jackett是一个开源的网络代理服务器应用程序,用于帮助用户通过一个统一的接口搜索和获取多个私有和公共的BitTorrent跟踪器(Trackers)的内容。它的主要目的是为其他下载工具(如Sonarr、Radarr、Lidarr等)提供一个通用的接口,使它们能够轻松地搜索和下载各种种类的内容。

Jackett的工作原理是通过连接到各种BitTorrent跟踪器,并将这些跟踪器的搜索结果转化为一个统一的格式,然后通过API提供给其他应用程序使用。这样,用户可以在这些应用程序中使用Jackett作为一个集中的搜索引擎,而不需要单独配置每个跟踪器的接口。

使用Jackett,用户可以添加和配置多个BitTorrent跟踪器的连接,并通过关键字搜索这些跟踪器上的内容。Jackett将搜索结果返回给用户,并提供种子的详细信息、下载链接以及其他相关的元数据。

Jackett支持众多的BitTorrent跟踪器,包括私有的和公共的,用户可以根据自己的需求添加所需的跟踪器。它还提供了一些高级功能,如自动过滤和排除不需要的结果、支持代理服务器、支持多个语言界面等。

安装

同样的我们在iStore中搜索安装Jackett。

在OpenWrt的 服务-Jackett 中,设置好配置存放地址等后,使用默认镜像进行安装即可。

配置跟踪器

安装完成后,打开9117端口,点击首页的Add Indexer,筛选TypePublicLanguage一般看个人选择en_US/zh-CN。然后选择你感兴趣的Categories。 然后批量勾选左侧的复选框,然后点击下方的Add Selected。等待添加完后,复制右上角API Key,添加到NasTools的 设置-索引器-Jackeet中即可。由于Docker容器网络的缘故,127.0.0.1地址可能无法连接的话,配置时可以换成OpenWrt的Lan口地址。

配置下载器Qbittorrent

那么资源可以获取了,但是我们缺少一个专业的BT下载器用来下载资源,我日常用的是Aria2,因为Chrome有插件可以远程连接非常方便,但是我试了好久配置不到NasTools中,所以只能换Qbittorrent了。

安装配置

安装还是在iStore进行,随后在相关页面配置安装,安装完后,在NasTool的 设置-下载器-Qbittorrent配置相应信息即可。

下载目录按照之前的目录设置进行配置

媒体服务器

如果你的OpenWrt所在的机器配置比较高,CPU支持硬解码等能力的话,可以安装Jellyfin对下载的媒体进行管理,并进行解码播放。

Jellyfin是一个开源的媒体服务器软件,旨在提供用户自己的媒体内容的流媒体服务。它允许用户将自己的电影、电视节目、音乐和照片等媒体文件组织起来,并通过网络访问和播放这些文件。

Jellyfin可以在多个平台上运行,包括Windows、Linux、macOS等,用户可以将其安装在自己的计算机、服务器或NAS(网络附加存储)设备上。一旦安装完成,用户可以通过支持Jellyfin的客户端应用程序或者Web浏览器来访问和管理媒体库。

使用Jellyfin,用户可以上传、导入和组织自己的媒体文件。它支持多种媒体格式,包括视频(如MP4、MKV)、音频(如MP3、FLAC)、图片等。用户可以创建不同的媒体库和播放列表,以便更好地组织和浏览自己的内容。

Jellyfin提供了强大的流媒体功能,它可以将媒体文件转码和流式传输到支持的客户端设备,包括智能手机、平板电脑、智能电视和游戏机等。用户可以通过这些设备上的Jellyfin客户端应用程序或者Web界面来浏览和播放自己的媒体文件。

Jellyfin还提供了一些高级功能,例如用户权限和访问控制,用户可以创建多个用户账号,并为不同的用户分配不同的权限和访问级别。此外,Jellyfin还支持元数据的自动识别和收集,它可以从互联网数据库中获取电影和电视节目的信息、艺术品和剧集等。

Jellyfin是一个功能强大的媒体服务器软件,它允许用户创建自己的媒体库并通过网络进行流媒体播放。它是一个自由、开源和可定制的解决方案,适用于那些希望掌握自己媒体内容的用户。

安装

安装需要预留2GB Docker空间。

在iStore中安装。

在服务-Jellyfin中配置媒体目录等信息,并进行安装。

配置

登录后,在设置-控制台-API密钥中,生成秘钥,并在NasTools中进行配置。

在媒体库中,添加之前设置的links目录为媒体库。Jellyfin会自动扫描相关资源。

字幕

如果我们获取到资源没有字幕的情况,我们需要有一个字幕服务为我们搜刮字幕。ChineseSubFinder正是这样的服务,并可以集成到NasTools中。

ChineseSubFinder是一个开源的字幕搜索和下载工具,旨在帮助用户查找和获取中文字幕。它专注于为用户提供中文电影、电视剧和综艺节目的字幕资源,使用户能够更方便地观看和理解这些内容。

ChineseSubFinder的工作原理是通过连接到各种字幕资源网站和社区,自动搜索并匹配中文字幕。它使用智能算法进行字幕匹配,能够根据视频文件的属性、标题和其他信息来寻找最匹配的字幕文件。

使用ChineseSubFinder,用户只需提供待匹配的视频文件,工具将自动搜索并返回相应的中文字幕文件。用户可以选择下载并应用这些字幕文件,以便在观看视频时显示相应的中文字幕。

ChineseSubFinder支持多种视频格式,包括常见的MP4、MKV等,同时也支持多种字幕格式,如SRT、ASS等。它提供了一个简单易用的用户界面,使用户能够轻松地进行搜索、下载和管理字幕文件。

ChineseSubFinder是一个开源项目,这意味着用户可以自由地查看、修改和贡献代码。它的开放性使得开发者和字幕爱好者能够共同改进和扩展这个工具,以满足不同用户的需求。

总结来说,ChineseSubFinder是一个方便的工具,可帮助用户搜索和下载中文字幕。它提供了自动化的字幕匹配功能,使用户能够轻松地为中文电影、电视剧和综艺节目获取合适的字幕文件。无论是想提高中文听力理解能力,还是需要字幕翻译来理解视频内容,ChineseSubFinder都是一个有价值的资源。

安装

在iStore中搜索ChineseSubFinder并安装,在配置页面配置

注意:媒体目录为之前NasTools设置的目录,例如我的是:/WD/NAS/media/

安装完后,打开服务页面。

配置

为ChineseSubFinder提供字幕来源。

https://assrt.net/user/register.xml 注册一个账号,并复制API。

在ChineseSubFinder中配置:

并设置TMDB API到ChineseSubFinder。

在实验室中,生成API key,并填入NasTools中:

此时就算配置完成了,在订阅资源时,会自动搜索相应的字幕并下载。

进阶-企业微信通知与交互

NasTools原生提供多种消息通知方式,其中在我看来在使用层面上最方便的莫过于微信通知。(配置上一点也不方面 /(ㄒoㄒ)/~~

要达到微信通知与交互功能的,只能通过企业微信来进行实现,需要个人注册一个企业微信组织。注册过程不再阐述,网上有很多例子可以进行参考。下面简单说明一下配置过程。

注意:需要用到一台IP不变的公网服务器+一个域名。如果没有公网服务器,可以使用其他通知方案,可以参考其他文章进行配置。

创建应用

登录: https://work.weixin.qq.com/wework_admin/frame#apps

在下方 “自建” 一栏选择创建应用。可见范围选择自己,Logo和介绍可以自己自定义。

创建完成后,我们就可以拿到AgentId和Secret了。

接下来需要配置服务器相关内容了,目前企业微信应用发送消息需要配置“企业可信IP”,而配置“企业可信IP”需要先配置“可信域名”。。估计是因为太多人用企业微信用作机器人通知消息上了,腾讯不得不提高点使用门槛。。

虽然明面上要求域名所有者必须是公司主体相关的,见: https://open.work.weixin.qq.com/wwopen/common/readDocument/40754 。 但目前好像只要可以校验域名所有权就可以成功添加可信域名。

如果没有域名,也可以通过配置接受消息服务器URL,同样可以解除添加可信IP限制,但是要对一个callback接口搭建一个服务。。较为麻烦,本篇不再阐述。

总之,添加完“企业可信IP”后,我们需要在服务器添加一个反向代理。我这里以Nginx为例进行配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#PROXY-START/ww

location ^~ /qyproxy
{
proxy_pass https://qyapi.weixin.qq.com/;
proxy_set_header Host qyapi.weixin.qq.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_http_version 1.1;
# proxy_hide_header Upgrade;

add_header X-Cache $upstream_cache_status;
#Set Nginx Cache

proxy_set_header Accept-Encoding "";
sub_filter "/qyproxy" "";
sub_filter_once off;
set $static_file0hdNzNtp 0;
if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
{
set $static_file0hdNzNtp 1;
expires 1m;
}
if ( $static_file0hdNzNtp = 0 )
{
add_header Cache-Control no-cache;
}
}
#PROXY-END/

这样 Nastools访问/qyproxy 请求即可转发到qyapi.weixin.qq.com,这样就可以符合可信ip的要求了。

那么,如果需要交互的话,即我在微信端向应用发送消息,这个消息如何转发到NasTools上呢。 这就需要我们用frp进行内网穿透了,将3003端口转发到服务器的指定端口(例如3003)上。

然后配置服务器防火墙端口开放,然后在企业微信中,应用页面设置API接收。然后路径就填ip:3003/wechat即可。在保存前把配置信息录入NasTools中。

即可配置完成。

使用

在创建的应用中,直接发送你要订阅的资源的名称即可。NasTools会自动订阅并搜索相关资源并下载。

如果是未完结的电视剧或者综艺节目,在订阅之后,如果有新出的剧集,会自动搜索并下载。

之后,我们可以通过Jellyfin或者Kodi对资源进行播放。