家庭影院系列(二)xiaoya(小雅)到底是什么?2024最新群晖搭建教程?一文搞懂所有
大家都知道xiaoya,网上各式各样的安装教程都有,很多新手只会按照这些方法进行安装,最后出了问题也不知道是什么原因,因为更详细的原理都讲得不明不白,问题一大堆
想必大家对AList这个开源的跨平台网盘聚合工具都不陌生,我们可以简单理解为通过Alist这个入口,链接到你所拥有的不同类型的网盘资源,让你更有效地使用网盘资源。
AList除了能把所有的网盘链接到一起之外,同时它还支持把链接的网盘通过一个网页展示出来供他人浏览使用。
所以网上出现了很多好心人,会分享自己聚合的网盘资源给他人使用,而比较出名的一个叫Liu Xiaoya的神秘人,他使用自己高超的计算机技术,把接近400个阿里云共享盘和30万的视频资源聚合在一起,并通过AList分享给别人使用。
这就是xiaoya AList 的由来,而这个资源的集合就被大家统称为xiaoya超集。
xiaoya把自己的资源分享给大家后,大家就都来访问小雅的网站,访问人数多了就导致网站很多时候都打不开。
所以xiaoya就想出了一个办法,提供了一个源码加密的Docker镜像让他们自己部署吧。
这样我们通过Docker的方式,就可以愉快的部署xiaoya到自己的群晖了。
准备
我们知道在要 AList上挂载阿里云盘,就必须要用到云盘的Token才能实现访问。
如果要自己部署xiaoya AList同样需要,这是因为我们在播放资源时,xiaoya会把资源转存到自己的云盘才能实现播放,所以我们提前准备下面几项资料:
token(访问阿里云盘)
open token(访问阿里云盘)
folder id(转存资源的文件夹)
接着来看看如何获取到这三个东西
token
浏览器打开https://alist.nn.ci/zh/guide/drivers/aliyundrive.html,点击获取 token按钮后,会出现一个二维码。
用阿里云盘手机APP扫描二维码后,再次点击使用阿里云APP扫描然后点击按钮,就会在二维码下面展示一个Token字符串。
我们把这个字符串复制下来,保存为一个txt文件,命名为 mytoken.txt。
前面的网址无法获取token到token,也可以使用https://aliyundriver-refresh-token.vercel.app/来扫码获取。
open token
浏览器打开https://alist.nn.ci/tool/aliyundrive/request.html页面,可以通过直接登录(需要网页登录阿里云盘)或者扫码来获取Open Token。
根据自己的情况,选择授权范围(演示选择资源库),并点击允许。
这样会得到一个非常较长的字符串,把这个字符串复制下来,同样保存为一个txt文件,命名为 myopentoken.txt。
folder id
打开阿里云盘的网页版,在资源库(因为前面授权了资源库)中新建一个xiaoya转存的文件夹,名称可以随便取。
进到文件夹里后,复制浏览器地址栏中"/"后的最后一串字符。
同样保存为一个txt文件,命名为 temp_transfer_folder_id.txt。
最后我们就有了三个txt文件,这三个文件是后面xiaoya Docker容器的必需参数,一定要正确获取,文件名也不能出错。
安装
打开群晖Container Manager,在注册表中搜索
xiaoya
,下载第一个镜像。
在等待下载过程中,新建一个用以存放xiaoya容器配置数据的文件夹,并把前面的三个txt文件上传进来。
回到Container Manager套件,运行下载的xiaoya镜像,修改名称为xiaoya(方便后面配置定时任务)。
增加端口映射(5678与容器80进行映射)。5678可以任意,只要没被占用即可。
文件夹映射。群晖路径为前面创建的文件夹,容器路径为
/data
其他设置保持默认,启动容器。
如果没有问题,会输出很多类似下图的日志信息。
过几分钟,浏览器打开【群晖IP:5678】就能看到如下界面。
现在点击元数据下的all.mp4,能正常播发就代表搭建成功。
同时在阿里云盘的转存文件夹中,也会出现刚才播放的资源。
不聪明的你肯定就会想到,随着时间的增加,播放的资源都会存在自己的云盘,那么云盘的空间总有一天会被占满。
难不成要手动一个个去删除?
这个问题很好解决,我们后面再说。
播放资源
我们可以在网页上直接播放xiaoya资源,不过十分不方便,有些特殊的音视频格式需要转码,在网页无法直接播放。
这时就需要第三方客户端登场了(支持webdav协议的客户端都行),下面是各平台推荐的客户端:
Win:Potplayer
macOS:Vidhub、infuse、HamHub
iOS:Vidhub、infuse、HamHub
appleTV:infuse、DivHub
安卓TV:kodi、tvbox
客户端添加的方式也非常简单,在各个客户端中选择webdav协议后,填入群晖的IP地址,路径填入/dav
,端口填入5678。
用户名和密码可以在前面搭建的xiaoya网页中找到,guest
和guest_Api789
。
不聪明的你肯定又会想到,如果把xiaoya映射到了公网,那岂不是人人都能访问了?那要怎么修改默认密码呢?
这就要说到配置文件了。
配置文件
我们回到群晖中,打开xiaoya的配置文件夹, 可以看到多出了好几个txt文件。
有几个文件的作用我们是知道的,但是其他几个就不知道了,不过在xiaoya文档中给出了详细的说明,有需要的可以直接去查看。
这里挑一个来讲,就是前面说到的修改密码。如果要修改默认密码,需要新建一个guestpass.txt
文件,文件的内容就是新的密码(要重启xiaoya容器才能生效)。
定时任务
前面的xiaoya搭建和配置算是成功了, 但是还有几个问题没有解决。
xiaoya容器
为了确保数据库和索引文件保持为最新,xiaoya采取了通过重启容器的方式进行更新,所以我们需要在群晖上配置一个计划任务来定时重启xiaoya容器。
打开群晖控制面板,新增一个计划任务,自定义脚本,常规里需要配置以root用户运行。
设置计划为每天5点执行。
脚本输入docker restart xiaoya
,这里的xiaoya就是前面我们新建容器的容器名。
这样每天群晖就会自动重启xiaoya,在更新数据的时候,同时帮我们完成签到。
清理转存
前面还有一个问题没有解决,就是云盘的转存目录随着时间的推移会不断增大。
一旦撑满空间,就会导致资源无法播放。
可以运行下面的shell脚本来解决。
```bash -c "$(curl -sLk https://xiaoyahelper.ddsrem.com/aliyun_clear.sh | tail -n +2)" -s 3`
不过老宁看了这个脚本的代码,它是去拉了一个alpine镜像,把脚本放到到镜像里面,再去启动这个keeper容器,加上里面又集成签到和操作xiaoya容器等操作,清理转存的工作也非常不智能。
我用起来非常不爽(代码看着也非常不爽),并且在最近一次xiaoya更新的时候,直接把我的xiaoya干蹦了。
所以老宁就自己写了一个脚本,里面没有那些重复和花里胡哨的功能。
清理超过5小时转存的文件(从最早的文件开始清理)
如果空间满了,则会循环自动删除文件直到空间够用(从最早的文件开始删)
使用的方法也非常击简单,把clear.py文件上传到xiaoya配置文件目录,复制文件的路径。
新增一个计划任务,设置每间隔3小时运行(注意:开始时间如果超过当前时间就是第二天才运行)。
配置脚本为python3 /volume1/docker/xiaoya/clear.py
,路径为前面复制的脚本路径。
然后选择脚本点击运行进行测试。提一句,如果在计划任务中设置了日志保持文件夹,就可以在文件夹里面看到所有计划任务执行的日志了。
后记
本来想把脚本封装成docker镜像的,再把xiaoya容器的一起弄成一个docker-compose文件会更加方便,没有时间搞了,先就这样。
想要脚本的,可以到我的论坛去下载https://www.synocircle.top
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
几小毛
校验提示文案
常常大哥
校验提示文案
jojo100
校验提示文案
zxw3081
校验提示文案
2588CJ
校验提示文案
黑海
校验提示文案
zzqa
校验提示文案
魔女买买买
校验提示文案
小智8556
校验提示文案
HugoLuo
校验提示文案
文木其
校验提示文案
值友5866523201
校验提示文案
值友1287713671
校验提示文案
尧久禾夌北
校验提示文案
酷客888
校验提示文案
AI小值-电脑数码
校验提示文案
wxxwxx305
校验提示文案
折章台柳
校验提示文案
蛙里奥
校验提示文案
达尔i
校验提示文案
几小毛
校验提示文案
值友6796717188
2024/11/08 13:01:22 请检查已正确配置 mytoken.txt myopentoken.txt temp_transfer_folder_id.txt 后再重启容器
2024/11/08 13:01:21 cat: can't open '/data/mytoken.txt': No such file or directory
2024/11/08 13:01:21 150 records have been updated into your database
2024/11/08 13:01:21 cp: can't create '/data/opentoken_url.txt': No such file or directory
2024/11/08 13:01:20 /tmp/gztmpXXXaAigGL/updateall: line 98: can't create /data/alist_auth_token.txt: nonexistent directory
2024/11/08 13:01:19 /data/pikpak.txt: No such file or directory (os error 2)
2024/11/08 13:01:18 数据版本已经是最新的无须更新
2024/11/08 13:01:18 有效地址为:
校验提示文案
尧久禾夌北
校验提示文案
mengdie101
校验提示文案
值友1287713671
校验提示文案
值友5866523201
校验提示文案
文木其
校验提示文案
2588CJ
校验提示文案
达尔i
校验提示文案
蛙里奥
校验提示文案
HugoLuo
校验提示文案
zxw3081
校验提示文案
折章台柳
校验提示文案
wxxwxx305
校验提示文案
小智8556
校验提示文案
魔女买买买
校验提示文案
jojo100
校验提示文案
常常大哥
校验提示文案
zzqa
校验提示文案
酷客888
校验提示文案