前言

前阵子趁着国补买了台电视,一直苦于没有相当优雅的全自动本地追番追剧方案,一直看码率高达 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 端对字幕支持还有问题,但问题都不大,关键是全自动的,折腾难度大大降低。

飞牛影视 电影墙

自动追番计划

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

首先需要 蜜柑计划 ,一个二次元动画动漫聚集平台,相对于更传统的 漫猫动漫 我认为他的交互更优雅,访问更快,同时他提供其他平台不可企及的 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 分享的文件”这种相对不灵活的方式,比如飞牛影视带特效的字幕文件加载不出来会卡掉或者没特效,比如还不支持音频直通等,不过话说回来,免费的要什么自行车(