前言

前阵子趁着国补买了台电视,一直苦于没有相当优雅的全自动本地追番追剧方案,一直看码率高达 1Mbps 的”超清”流媒体,原本想着既然电视本身自带 USB3.0,那么用机械硬盘 +KODI 的方案也能勉强用一下。

实际强行用下来也是发现了诸如,机械硬盘移动容易坏、没有背景墙、字幕难找、不能全自动等相当不优雅的痛点,而后看到了 CN 大佬的 比之前更进一步的终极看番工具栈 - ControlNet Blog于是萌生了上 NAS 的想法。

电视配置和信息

解决方案

为了解决以上问题,我们需要一个更加完善的系统,这个系统将会搭载在一个上 24 小时开机的家庭服务器上,这个服务器可以是 NAS,也可是软路由,或者是存算分离的 Linux 服务器。

考虑到不折腾,本人选择了自己 DIY 一个基于低功耗 x86 平台的 NAS。考虑到折腾软路由可能会让网络没那么稳定,就没有打算在这套系统里使用软路由。家里现在是一台 ASUS 的硬路由,一台 NAS,一台高性能的 Linux 服务器用于游戏服务器和爬虫脚本等等,然后是一台台式机用于日常游戏和学习。这样的设计是为了让每个设备都有自己的用途,不会因为一台设备的问题导致其他设备无法使用。这篇文章主要会讨论 NAS 上的部署。

解决方案

综上所述各种痛点,我们要对齐颗粒度,从痛点中来,到重点中去,为更优雅的观影方式赋能 打造更先进、更优雅和更进一步的完善系统,这个系统是 7x24 小时的、高可靠的、低能耗的家庭服务器,可以是 NAS 亦可以是其他树莓派等轻型 Linux 上。

基于上班天天写代码~~~ 看着就烦~~~ 懒得折腾的实际,不考虑折腾,最终选择了自己 DIY 一套基于完整 x86 平台的低功耗服务器,同时考虑到公网 IPV6+DDNS 的方案会导致整个家庭网络处于极度不安全的全暴露状态,所以还需要可靠的私有组网方案。

硬件方案

这里使用了一台惠普 800 G3 SFF 准系统小主机,Q270 方案,带奔腾 G4560T,详细配置清单如下:

  • CPU 英特尔奔腾 G4560T, 双核四线程 2.9G, 额定 35WTDP
  • 内存: 三星 DDR4 2400Mhz 8G 单条
  • SSD: 卖家一并购买的, 来路不明的三星 NVME 256G SSD
  • 显卡: UHD610
  • 电源: 惠普 80plus 铂金 180W
  • 内置 IO: 3 个 SATA, 一个 M.2(系统盘占用), 1 个 CPU 直通 PCIE3.0x16, 一个 PCIE3.0x1, 一个南桥 PCIE1.0x16
  • 外部前置 IO: 2 个 USB3.0(HightSpeed) 2 个 USB2.0(HightSpeed) 一个 USB Type-C

虽然里面只有三个 SATA,但是胜在 USB 口多,后期真的不够用了,外接硬盘笼也是可以的。

系统选择

NAS 系统现在主要是四个:TrueNAS,Unraid 和黑群晖

  • TrueNAS,前身是 FreeNAS(基于 FreeBSD),是 FreeNAS 在 Debian 上的重构,商业公司支持,开源软件,个人用户免费
  • Unraid,基于 Slackware Linux,有堪称完美的 Docker 和虚拟机支持,商业公司支持,闭源软件,个人用户收费,买断制
  • 黑群晖,界面 UI 友好,系统兼容性一般,而且不免费不开源也不接受收费,需要破解,系非正版软件

综上所述,结合自己不折腾的想法,只是单纯看个视频和放个文件,对速度和性能毫无要求,能拖动 4K HDR 视频,能转码 4K 视频即可,选择了最方便部署的飞牛 OS

飞牛 OS 的部署非常简单,只需要找个 U 盘,上飞牛官网下载镜像,然后用 rufus 烧录进去,随后关闭安全启动用 UEFI 启动即可,过程是全图形化的。

飞牛支持 RAID 模式、BASIC 模式和 Linear 模式,现在只有一个硬盘,于是就选择最基础的 BASIC 模式了,等新硬盘到了之后再考虑用 Linear 模式或者 RAID 模式

飞牛 WEB 后台

基础配置和基本服务

qBittorrent 下载和 PeerBanHelper 防吸血

qBittorrent 直接使用飞牛商店提供的套件即可,直接跑在宿主机而的,即开即用。不过要针对自己的网络环境做一些配置,以及

qBittorrent 默认无限制做种,强烈建议打开分享率高于阈值则停止做种功能,否则上行吃满不说,还容易被运营商当成 PCDN,被封网就得不偿失了。

tracker 可以加强种子检索能力,我用的是 adysec/tracker(24 年停止维护)animeTrackerList (๑•̀ㅂ•́)و✧

媒体库和电影墙

飞牛影视?

蓝毛和 CN 大佬都极力推荐 jellyfin,但是我觉得配置挺麻烦的,而且搜刮和字幕下载依赖各种插件而不是官方支持,以及动不动就服务器解码就很头痛。

飞牛 OS 提供了一键解决方案即飞牛影视,页面优雅、简单上手、自动生成背景墙,虽然检索能力还有点问题,经常乱检索,以及 TV 端对字幕支持还有问题,但问题都不大,关键是全自动的,折腾难度大大降低。

飞牛影视 电影墙

JellyFin!

飞牛影视确实好用,页面优雅、简单上手,但是对杜比视界、8KHDR10 等次时代格式支持不好,对 ASS 特效字幕支持不友好,文件搜刮设定也不够灵活。

因此最后还是选择了 JellyFin 作为最终的影视管理工具,我承认,JellyFin 这个海报屏保真的太戳我 XP 了,而且全平台客户端均为网页套壳,使得可以通过 JellyFin 提供的 CSS 接口,载入自己的 CSS 文件,进而实现全平台通用的页面高度定制。

电视 JellyFin 媒体页

JellyFin 屏保

JellyFin 屏保

MxPlay

前面提到,JellyFin 全平台客户端均为网页套壳,播放器也是网页,所以对次时代格式和 ASS 特效字幕支持仍不友好,这里选择的是 MxPlayPro 作为电视端和手机端的外置播放器。

至少在我的设备上,MxPlay 可以完美兼容各类视频格式,同时对于 JellyFin 也能完美地加载来自服务器的字幕文件和字幕所需字体文件,至于进度回传亦没有问题, 一开始用的 VLC 就是因为进度回传才弃坑的(

MxPlay 播放器

外挂字幕字体文件 [拨雪寻春]葬送的芙莉莲

外挂字幕 ASS 特效 [诸神字幕]忧国的莫里亚蒂

外挂字幕 ASS 特效 [诸神字幕]忧国的莫里亚蒂

至于桌面端

这边目前用电脑看比较少,到是没啥所谓,但值得一提的是,MicrosoftEdge 并不(实际上)支持 HEVC 全硬解,但是用 Chrome 就没这个问题( 微软果然还是不够巨硬

自动追番计划

手动去找动画资源然后手动处理,是一件非常不优雅、非常难堪的事情,所以我们需要一些工具,将其彻底自动化。

首先需要 蜜柑计划 ,一个二次元动画动漫聚集平台,相对于更传统的 漫猫动漫 我认为他的交互更优雅,访问更快,同时他提供其他平台不可企及的 RSS 订阅服务,可以根据订阅的内容,自动生成 RSS 链接,随即交给 qBittorrent 进行全自动下载。

其次,需要 ASS,即便是蜜柑支持生成 RSS 链接,但因为每个字幕组的名字风格和资源内容都不同,手动整理就会很麻烦,这时候就需要 ASS,他可以直接在后台选择番剧,亦或是通过 RSS,自动获取蜜柑上的番剧信息,随后自动处理命名和归档使其符合自己的规范,然后自动推送给 qBittorrent 下载,并在下载完成(下载 + 做种) 后,自动删除遗留在 qBittorrent 列表中的内容。

ASS 番剧管理页面(图片来源于 ASS 官方)

IPV6+DDNS?IPV6+ 组网?

虽然 NAS 是内网为主,但终究还是要实现公网访问的,不然就没办法在公司备份文件 看番 了。我坐标广东新会,用的是移动的 500Mbps/50Mbps 家庭宽带,且有公网 IPV6 而无公网 IPV4,手机移动网络和公司网络同样提供公网 IPV6。

我一开始用的是 IPV6+DDNS 的方案,但一方面是 HTTPS 证书自动化很复杂,其次是路由器防火墙不能只针对某个端口放行,直接导致了整个局域网公网裸奔,毕竟 HTTP 无证书 +DDNS+IPV6 直通 + 关闭防火墙 +SMB+RDP 太危险了,只要设备本身的防火墙出现漏洞被打穿,特别是家里有众多智能家居设备,对于整个局域网来说就是灾难级的。

后来看到 比 zerotier 更好的内网穿透方案——Tailscale | 瓦解的生活记事 的文章和 JUP 的极力推荐,进而上了 TailScale 进行组网,在双 IPV6 直通的情况下,延迟相当理想,只有 40ms 左右,而对于非双 IPV6 直通的情况下,由于我这靠近香港,再加上移动外网出口大,即便绕行中转,也才 200ms 左右。

总之,用组网方案就是一劳永逸的,只要设备本地不中毒、TailScale 官方不整蛊作怪、TailScale 账密不泄露,组网就是绝对安全的,因为组网下,不再需要关闭防火墙、不再需要本地公网暴漏。

总结

emmmm,这篇文章实际上是收到 CN 大佬的文章启发的,很多内容无论是软件设置还是文章本身都是抄过来的, 与此同时分享一下自己的经验和不一样的地方,希望对大家有所帮助。

也是上了班之后就对折腾这种东西越来越不上心了,相对于传统需要折腾的开源软件,现在还是更喜欢成熟的商业产品,即便是他收费的。

虽然飞牛 OS 还有很多十分不完善的地方,比如文件是基于飞牛系统上的账号和“XX 分享的文件”这种相对不灵活的方式,比如飞牛影视带特效的字幕文件加载不出来会卡掉或者没特效,比如还不支持音频直通等,不过话说回来,免费的要什么自行车(