趁着阿里云还没收费,多用用小雅吧 -- xiaoya杂谈
一、写在前面
折腾历程
本人49年入国军,折腾的较晚。开始懵懂的玩Alist,在Padavan老毛子上装Alist, 知道有小雅以后又在Armbian上装Alist+小雅。
百兆口+usb供电不足,移动硬盘总掉盘,然后我又换到瘦客户机CentOS。
接下来,小雅的不稳定,让我有了忧患意识。用PVE,搞了几个LXC,又是备份又是快照的。还多开了小雅,反正1个坏了,用另外一个就好了。再坏,恢复备份。
最近小雅作者说流量扛不住了,把小雅的关键更新文件(version.txt,tvbox.zip等)放到了国外服务器。于是乎大家又开始另辟蹊径上网用小雅。
前几天,小雅作者自己也承认,容器启动动不动就会出问题,于是给出了新的解决方案。个人感觉算是告一段落了。
无奈最阿里云api接口收费搞的沸沸扬扬。就感觉一切刚刚踏上正轨,就要结束了一样。但心中那团火不灭,总想着还能给大家带来点余热,索性分享出来,大家且用且珍惜吧。
本文包含的和不包含的
那些全家桶,tvbox,infuse等等,都是锦上添花的。看大家喜好。我本人因为没需求,所以就没折腾。想看这部分内容的朋友可以滑走了,别喷我就行。
我只想跟大家说说我理解的工作原理,心得,还有个人有限经验。最起码,能保证基础的东西稳定,可靠,好用。希望真正解决大家的问题。
二、知己知彼百战百胜 - 我来用大白话讲工作原理
小雅做了什么事儿? 简单说,她用爬虫把网上资源都搜刮来以后,整合到一起了。所以你会发现,一旦某些不稳定的共享资源取消了,小雅里面也就消失或者报错了。
你使用小雅的原理:小雅上的资源,你如果点开观看,小雅会做如下事情:
1.取得该文件实际保存地址
2.把文件作为分享,保存在你的阿里云盘分享目录中。
3.你播放的时候,其实是在播放自己网盘里面刚刚保存的文件。
所以,小雅没存东西,她只是把资源的路径整合在一起,然后按需保存文件到你的网盘供你观看。
那么问题来了:
1.我的网盘没那么大,保存那么多东西装不下怎么办?
2.资源列表咋更新?
3.为啥启动后只有版本号?
4.为啥我三要素都是对的,还是启动失败?
5.为啥我这报错无法获取version文件
我们一 一解答。
为啥这么受欢迎?高清,免费,没广告,日更,大而全,谁不喜欢?
1.安装四部曲之一:安装小雅容器
网上教程很多,不赘述,具体看这里: 如何设置xiaoya的docker (notion.site)
提前准备好token,refreshtoken,共享文件夹folderid,一个命令搞定。群晖图形化安装,网站上也详细介绍了。
然后一键安装
bash -c "$(curl http://docker.xiaoya.pro/update_new.sh)"
如果是用host模式安装,则用
bash -c "$(curl http://docker.xiaoya.pro/update_new.sh)" -s host
划重点: 这是小雅容器的安装,基础的基础。
安装好以后,你能看到多了一个xiaoya容器
这时候,访问你的 ip:5678 就可以进入小雅了。 想套娃到你的Alist中,请参考我之前的文章:
2.安装四部曲之二:设置小雅容器定时重启,更新资源列表
有人服务器,比如NAS不是24小时开机,而是每天开关机,那这步忽略吧。
linux 基本都一样 crontab -e
添加一行:(我每天凌晨2点自动重启xiaoya容器,更新资源列表。大家酌情修改)
0 2 * * * docker restart xiaoya
Armbian 需要重启crontab服务
群晖更简单,定时任务添加一个就可以了。
3.安装四部曲之三 -- 安装 xiaoyakeeper。
干啥用的?
1. 如上所说,存到你网盘里的视频文件,可以按需自动清理
2.定期自动更新小雅容器
一劳永逸的 小雅 转存 清理 工具
模式0:每天自动清理一次。如果系统重启需要手动重新运行或把命令加入系统启动。
bash -c "$(curl -s https://xiaoyahelper.ddsrem.com/aliyun_clear.sh | tail -n +2)" -s 0 -tg
模式1:一次性清理,一般用于测试效果。
bash -c "$(curl -s https://xiaoyahelper.ddsrem.com/aliyun_clear.sh | tail -n +2)" -s 1 -tg
模式2:已废弃,不再支持
模式3:创建一个名为 xiaoyakeeper 的docker定时运行小雅转存清理并升级小雅镜像
bash -c "$(curl -s https://xiaoyahelper.ddsrem.com/aliyun_clear.sh | tail -n +2)" -s 3 -tg
模式4:同模式3
模式5:与模式3的区别是实时清理,只要产生了播放缓存一分钟内立即清理。签到和定时升级同模式3
bash -c "$(curl -s https://xiaoyahelper.ddsrem.com/aliyun_clear.sh | tail -n +2)" -s 5 -tg
其它模式:也可以把脚本下载下来自己魔改。
签到功能说明:
1、执行时机和清理缓存完全相同
2、可以手动创建/etc/xiaoya/mycheckintoken.txt,定义多个网盘签到的32位refresh token,每行一个,不添加文件就是默认小雅转存的网盘签到。
3、自动刷新/etc/xiaoya/mycheckintoken.txt、/etc/xiaoya/mytoken.txt(可能可以延长refresh token时效,待观察)
关于模式0/3/4/5定时运行的说明:
1、默认从运行脚本的下一分钟开始,每天运行一次
2、运行的时间也可以通过手动创建/etc/xiaoya/myruntime.txt修改,比如06:00,18:00就是每天早晚6点各运行一次
关于自动升级:
1、定时升级的命令保存在/etc/xiaoya/mycmd.txt中,删除该文件变成定时重启小雅
2、完成清理和签到后自动执行/etc/xiaoya/mycmd.txt中的命令,该文件中的内容默认升级小雅镜像,可以修改该文件改编脚本的行为,不建议修改。
关于tg推送:
所有模式加上-tg功能均可绑定消息推送的TG账号,只有第1次运行需要加-tg参数
我个人推荐模式5,完全不占用自己的网盘空间,不会因为空间满了无法播放而报错。后面的-tg 对我来说没啥用,所以我也干掉了。
bash -c "$(curl -s https://xiaoyahelper.ddsrem.com/aliyun_clear.sh | tail -n +2)" -s 5
安装好以后,多了个xiaoyakeeper 容器,放那里就可以了,不用管,它会默默的工作。
验证下效果,播放个文件,你就看到它帮马上帮你清理掉,网盘干干净净。
4.安装四部曲之四 -- 添加自动下载关键文件定时任务
这是最新的,站内似乎还没人提到过哟
添加定时任务,每小时定时拉取关键资源文件,保证容器每次启动成功。
有时各种原因会导致启动时获取数据包连接不畅顺,为了启动时更顺畅,可以试试一键更新一下,我在update_new.sh脚本里添加了一个目录映射 -v /etc/xiaoya/data:/www/data
执行,如果xiaoya配置默认路径是 /etc/xiaoya 那么 -s 的参数可以忽略
bash -c "$(curl http://docker.xiaoya.pro/update_data.sh)"
包含了:
1. 下载文件,数据包保存到 /etc/xiaoya/data
2. 注入定时任务crontab
3. 编辑 download_url.txt
也就是每小时去抓一次文件,中间网络不稳定都无所谓,反正只要有一次成功,/etc/xiaoya/data 目录下就有可用的文件。这样启动稳定性大大增加,不会一会儿有内容一会儿没内容
这个sh文件我看了下,会添加定时任务,每一小时更新下关键启动文件:tvbox.zip update.zip index.zip version.txt
执行该命令前,/etc/xiaoya 下面是没有 data文件夹的
我们来执行命令,第一次会自动创建 /etc/xiaoya/data 文件夹,并下载几个关键文件,如果小雅容器有更新,也会一并升级。
执行过后,可以看到 /etc/xiaoya/data 下的文件了
我们再看看定时任务,已经自动添加好了。每小时会自动运行该脚本,有关键文件更新下载和容器更新 则更新,没有则保持不变。
最后的效果
xiaoya_update 定时运行,每小时检查关键文件更新、和小雅容器更新,保证顺利启动
xiaoya 容器每天早上定时重启,获取最新文件列表
xiaoyakeeper (尊敬的清道夫大人)默默的守护者你,你看一个他删一个,网盘里干净整洁
现在我的小雅很少出问题了。
如上磨磨唧唧说了一大堆,就是给大家讲讲原理,以后碰到问题也知道咋解决。
三、踩过的坑 -- 常见问题
绝大多数问题都是因为网络,我大连配置的小雅,从来没折腾过。不用定时更新,不用留学,就是稳定。上海的就不行,隔三差五出问题。
1. 如果出现了重启后只有一个版本号,那就说明网络没有获取到数据
要么启动的时候超时了,要么这些文件取不到。通过步骤四可以解决。
2. 如果步骤四也报错,那估计你要另辟蹊径一下了。
创建容器时,加一个环境变量 http_proxy 值为你的xx地址比如 http://192.168.1.6:8890
如果是https的, https_proxy 对应 https://192.168.1.6:8890
已有容器,增加个环境变量即可。
3.我已经很努力了,所有token都取了很多次,还报错,类似: Tokenverifyfailed:The token was expected to have 3 parts, but got 1.
告诉你,不是你的错,是验证你的refreshtoken不成功,换个opentokenurl 就可以了。修改 /etc/xiaoya/opentoken_url.txt 文件
这里有2个地址,换成另外一个试试,基本都奏效。(这个问题困扰了我好久,xiaoya群里直说换个refreshtoken --没用,最后我自己研究出来这个解决方案)
https://api-cf.nn.ci/alist/ali_open/token
https://api.xhofe.top/alist/ali_open/token
4. 报错诸如cant get file id
一定是网盘满了,按照我的方式部署,step3 xiaoyakeeper,你不会遇见这个问题的。
5.我都装好了,小雅里面好多东西,我有点没方向了。
小雅装好,以下方式可以选择
ip:5678 网页直接观看,可以充分利用搜索功能有方向的看,别瞎看,浪费自己生命,你看不完的,哈哈哈。
配置webdav,客户端看,webdav 账号密码 用户: guest 密码: guest_Api789
套娃到自己的Alist,可以参考我之前的文章。
执行下面代码获取令牌
把令牌填到 Authorization, Server 选用本地的docker 地址,不要填账号和密码
docker exec -i xiaoya sqlite3 data/data.db <
select value from x_setting_items where key = "token";
EOF
自己的xiaoya直接放公网? 那改下密码吧
设置强制登入,和自定义密码
把密码保存到 /etc/xiaoya/guestpass.txt (不过不要设置稀奇古怪的符号,例如;“~@()*$ 之类的)
如果你的xiaoya放在公网,为了防止别人蹭网,可以设置强制登入,新增 /etc/xiaoya/guestlogin.txt 这个文件,重启即可,文件有没有内容无所谓,如果取消强制登入就删除这个文件。强制登入的账号为 dav,密码使用 /etc/xiaoya/guestpass.txt 里设置的,同时webdav连接使用 dav 这个用户
上述2个功能设置好后需要重启docker才会生效。
我一般都豆瓣找自己想看的,然后去 主页 | 小雅的分类 Alist (xiaoya.pro) 搜索,得到路径后去自己的alist对应目录去播放。
6.其他问题
见招拆招吧,评论区见,我自信的认为,你把4个步骤都做了,90%的问题都能解决。
四、有感而发
最近很多朋友比较担忧阿里云API收费,这些东西都会挂云云。 我比较同意xiaoya作者的看法。
互联网嘛,总有一些人为爱发电,比如我就乐于分享,哈哈哈。相信新的政策出来,大家会有新的方式方法的。不必过于担忧、过分唱衰带节奏。
那么今天呢?今朝有酒今朝醉,且用且珍惜就是了。折腾是一种乐趣,分享是一种精神,能帮到大家,我很荣幸。
感谢各位看官耐心阅读到此。我是以浪得虚名,浪是浪的难受的[浪]。 喜欢数码、喜欢研究、喜欢讲原理、喜欢分享。
从来不索要点赞收藏打赏,我也是其他作者的阅读者,我会因为喜欢才会赞,觉得对自己有用才会收藏,心情激动才会打赏,哈哈哈哈。
能力一般水平有限,任何问题,错误,疏漏,欢迎大家指教。评论区见!
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
老食芭蕉该6子
校验提示文案
值友9678638349
校验提示文案
yyb1994
校验提示文案
我是你的小黄瓜
校验提示文案
橘柑007
校验提示文案
包心菜布丁
校验提示文案
徐菊长
校验提示文案
雪夜吴钩
校验提示文案
ml830917
校验提示文案
没得取
校验提示文案
值友9678638349
校验提示文案
小钵子甜酒
校验提示文案
减肥的熊猫
校验提示文案
camson
校验提示文案
你先等一下
校验提示文案
佳明2017
校验提示文案
ademumu
校验提示文案
24kwater
校验提示文案
值友3656106815
校验提示文案
wzpok
校验提示文案
橘柑007
校验提示文案
我是你的小黄瓜
校验提示文案
零栋
校验提示文案
ademumu
校验提示文案
猪头智智
校验提示文案
随风而行之之
校验提示文案
weidooooo
校验提示文案
佳明2017
校验提示文案
你先等一下
校验提示文案
camson
校验提示文案
减肥的熊猫
校验提示文案
张喻钧
校验提示文案
小钵子甜酒
校验提示文案
藏器
校验提示文案
王腾洲
校验提示文案
yyb1994
校验提示文案
值友9678638349
校验提示文案
值友9678638349
校验提示文案
你先等一下
校验提示文案
老食芭蕉该6子
校验提示文案