飞牛OS算是最近比较火的一个系统,安装方便,硬件兼容好,而且里面部署了那些常用的服务,其中就包含小雅Alist。
小雅alist可以搜索下,简单说就是利用阿里云的转存,将一些4K视频进行共享。包含一些热门的影视。
我这边主要想解决的是,部署完成之后,只出现一个版本号的,不出现其他的。这是因为小雅需要去云端下载资源文件。不巧的是这个网址在国内被封锁了。
你可以在本地访问:https://gitlab.com/xiaoyaliu/data/-/raw/main
解决方案:
让你的网络翻墙
换个docker,有些人专门为国内的用户增加设置一个网址。
坑
飞牛安装完成后,我使用potplayer进行登录。这边需要注意,IP地址后面需要跟上/dav。其次如果你使用的是飞牛自带的小雅超集,那么默认端口是15678,当然你可以自己去看下网址的端口号。
webdav 账号密码:
用户: guest
密码: guest_Api789
这时候问题出现,提示:无法在FTP/WebDAV/HTTP上进行修改该文件夹。
我网上查了一圈之后没有发现有这个问题的,于是我看了下小雅的官方文档 里面有个配置:guest强制登入功能。
于是找到飞牛的应用文件夹下,将guestlogin.txt进行上传即可。需要注意的是阿里云的下载速度就只有500K/s左右,但是根据我自己播放4K视频的时候大概要2M/s。实际测试下来,确实挺卡的,但是重在资源多。
2025-3-5 更新:
关于小雅登录界面只出现一个版本号的,好多人遇见。而且由于各个网络情况不一样,很多人没有办法将自己的网络翻墙,这边就来个终极解决方案。
以我使用的docker:registry.cn-guangzhou.aliyuncs.com/fnapp/xiaoyaliu_alist:latest,这个是飞牛官方做的一个代理链接,不过和网络上的大多数docker一样。
进入docker里面找到对应的update_data.sh。这个是用来拉取元数据的。以我为例:
我的这数据更新文件直接就在根文件夹下面。
使用 cat update_data.sh
命令查看内容,发现里面其实是有预设多个地址的,系统会判断哪个地址你可以访问,你使用bash update_data.sh
,会弹出提示,有效地址是xxxxx。然后它才会去更新的。
根据脚本的逻辑,他回去访问curl --ipv4 https://gitlab.com/xiaoyaliu/data/-/raw/main/version.txt 这个地址,如果返回的成功即可。但是我们如果自己手动访问这个网址会发现确实可以访问但是
1 2 3 4 5 You are currently viewing from a blocked IP address or country. Client IP: xxxxxxxxxxxxxxxx Ray ID: 91ae465f79efdbdd Location: CN
简而言之就是,现在是gitlab网站不允许对应国家的人访问,而且还不是简单的404,而是告诉你不能访问。
解决方案
解决很简单,脚本有问题我们改脚本。首先把这个脚本复制出来或者直接用我下面的:
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 33 34 35 36 37 38 39 40 41 42 43 44 45 #!/bin/bash base_urls=( "https://gitlab.com/xiaoyaliu/data/-/raw/main" "https://raw.githubusercontent.com/xiaoyaliu00/data/main" "https://cdn.wygg.shop/https://raw.githubusercontent.com/xiaoyaliu00/data/main" "https://fastly.jsdelivr.net/gh/xiaoyaliu00/data@latest" "https://521github.com/extdomains/github.com/xiaoyaliu00/data/raw/main" "https://cors.zme.ink/https://raw.githubusercontent.com/xiaoyaliu00/data/main" "https://git.jasonml.xyz/https://raw.githubusercontent.com/xiaoyaliu00/data/main/" "https://cdn.wygg.shop/https://raw.githubusercontent.com/xiaoyaliu00/data/main/" "https://gh.ddlc.top/https://raw.githubusercontent.com/xiaoyaliu00/data/main/" "https://git.886.be/https://raw.githubusercontent.com/xiaoyaliu00/data/main/" "https://gh.idayer.com/https://raw.githubusercontent.com/xiaoyaliu00/data/main/" "https://slink.ltd/https://raw.githubusercontent.com/xiaoyaliu00/data/main/" ) success=false for base_url in "${base_urls[@]}"; do remote_ver=$(curl --ipv4 ${base_url}/version.txt 2>/dev/null) if [ $? -eq 0 ]; then success=true download_url="${base_url}" echo "有效地址为:$download_url" break fi done if [ "$success" = false ]; then echo "找不到有效下载地址" exit 1 fi data_dir="/www/data" mkdir -p "${data_dir}" touch "${data_dir}/version.txt" local_ver=$(cat "${data_dir}/version.txt") if [ "$local_ver"x != "$remote_ver"x ] || [ ! -f "${data_dir}/tvbox.zip" ] || [ ! -f "${data_dir}/update.zip" ] || [ ! -f "${data_dir}/index.zip" ]; then echo "最新版本 $remote_ver 开始更新下载....." echo "" if curl --ipv4 --insecure -fsSL -o "${data_dir}/tvbox.zip" $download_url/tvbox.zip; then echo "成功更新 tvbox.zip"; fi if curl --ipv4 --insecure -fsSL -o "${data_dir}/update.zip" $download_url/update.zip; then echo "成功更新 update.zip"; fi if curl --ipv4 --insecure -fsSL -o "${data_dir}/index.zip" $download_url/index.zip; then echo "成功更新 index.zip"; fi if curl --ipv4 --insecure -fsSL -o "${data_dir}/version.txt" $download_url/version.txt; then echo "成功更新 version.txt"; fi else echo "数据版本已经是最新的无须更新" fi
测试下上面的哪个网址可以访问,全部不行这边还有点别的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 "https://raw.githubusercontent.com/xiaoyaliu00/data/main/" "https://cdn.wygg.shop/https://raw.githubusercontent.com/xiaoyaliu00/data/main" "https://fastly.jsdelivr.net/gh/xiaoyaliu00/data@latest/" "https://521github.com/extdomains/github.com/xiaoyaliu00/data/raw/main/" "https://cors.zme.ink/https://raw.githubusercontent.com/xiaoyaliu00/data/main/" "https://git.jasonml.xyz/https://raw.githubusercontent.com/xiaoyaliu00/data/main/" "https://cdn.wygg.shop/https://raw.githubusercontent.com/xiaoyaliu00/data/main/" "https://gh.ddlc.top/https://raw.githubusercontent.com/xiaoyaliu00/data/main/" "https://git.886.be/https://raw.githubusercontent.com/xiaoyaliu00/data/main/" "https://gh.idayer.com/https://raw.githubusercontent.com/xiaoyaliu00/data/main/" "https://slink.ltd/https://raw.githubusercontent.com/xiaoyaliu00/data/main/" "https://raw.yzuu.cf/xiaoyaliu00/data/main/" "https://raw.nuaa.cf/xiaoyaliu00/data/main/" "https://raw.kkgithub.com/xiaoyaliu00/data/main/" "https://ghp.ci/https://raw.githubusercontent.com/xiaoyaliu00/data/main/" "https://gitdl.cn/https://raw.githubusercontent.com/xiaoyaliu00/data/main/" "https://gh.con.sh/https://raw.githubusercontent.com/xiaoyaliu00/data/main/" "https://ghproxy.net/https://raw.githubusercontent.com/xiaoyaliu00/data/main/" "https://github.moeyy.xyz/https://raw.githubusercontent.com/xiaoyaliu00/data/main/" "https://gh-proxy.com/https://raw.githubusercontent.com/xiaoyaliu00/data/main/" "https://ghproxy.cc/https://raw.githubusercontent.com/xiaoyaliu00/data/main/" "https://gh.llkk.cc/https://raw.githubusercontent.com/xiaoyaliu00/data/main/" "https://gh-proxy.llyke.com/https://raw.githubusercontent.com/xiaoyaliu00/data/main/"
修改下脚本,把访问不了的全部删除,保存为update_data.sh
即可。r
最后将docker里面的映射路径写好:
- /vol1/@appshare/xiaoya/update_data.sh:/update_data.sh
重启docker之后就会发现系统在更新。
这边需要注意,update_data.sh的文件,要么给它增加可执行权限,要么直接给他变个用户。因为我们手动上传上去的文件所有者是admin或者你的登录名。所以,你要登录docker里面,直接用
chown root update_data.sh
将文件的用户改为系统的root用户,然后再重启docker即可。
总结
这次真的是折腾半天,不知道是不是官方故意为之,毕竟他们也提供代建服务。反正修改下脚本判断条件即可,难度不大,主要是docker的原文件我碰不到。所以只能出这种馊主意。