飞牛小雅超集部署指南

飞牛OS算是最近比较火的一个系统,安装方便,硬件兼容好,而且里面部署了那些常用的服务,其中就包含小雅Alist。

小雅alist可以搜索下,简单说就是利用阿里云的转存,将一些4K视频进行共享。包含一些热门的影视。
我这边主要想解决的是,部署完成之后,只出现一个版本号的,不出现其他的。这是因为小雅需要去云端下载资源文件。不巧的是这个网址在国内被封锁了。
195-飞牛小雅超集部署指南-2025-01-21-15-02-14
你可以在本地访问:https://gitlab.com/xiaoyaliu/data/-/raw/main

解决方案:

  1. 让你的网络翻墙
  2. 换个docker,有些人专门为国内的用户增加设置一个网址。

  1. 飞牛安装完成后,我使用potplayer进行登录。这边需要注意,IP地址后面需要跟上/dav。其次如果你使用的是飞牛自带的小雅超集,那么默认端口是15678,当然你可以自己去看下网址的端口号。
    195-飞牛小雅超集部署指南-2025-01-23-15-01-33
    webdav 账号密码:
    用户: guest
    密码: guest_Api789
    这时候问题出现,提示:无法在FTP/WebDAV/HTTP上进行修改该文件夹。
    195-飞牛小雅超集部署指南-2025-01-23-15-00-07
    我网上查了一圈之后没有发现有这个问题的,于是我看了下小雅的官方文档里面有个配置:guest强制登入功能。
    195-飞牛小雅超集部署指南-2025-01-23-15-04-52
    于是找到飞牛的应用文件夹下,将guestlogin.txt进行上传即可。需要注意的是阿里云的下载速度就只有500K/s左右,但是根据我自己播放4K视频的时候大概要2M/s。实际测试下来,确实挺卡的,但是重在资源多。

2025-3-5 更新:

关于小雅登录界面只出现一个版本号的,好多人遇见。而且由于各个网络情况不一样,很多人没有办法将自己的网络翻墙,这边就来个终极解决方案。
以我使用的docker:registry.cn-guangzhou.aliyuncs.com/fnapp/xiaoyaliu_alist:latest,这个是飞牛官方做的一个代理链接,不过和网络上的大多数docker一样。

  1. 进入docker里面找到对应的update_data.sh。这个是用来拉取元数据的。以我为例:
    195-飞牛小雅超集部署指南-2025-03-04-11-21-32

    我的这数据更新文件直接就在根文件夹下面。

  2. 使用 cat update_data.sh命令查看内容,发现里面其实是有预设多个地址的,系统会判断哪个地址你可以访问,你使用bash update_data.sh,会弹出提示,有效地址是xxxxx。然后它才会去更新的。
    195-飞牛小雅超集部署指南-2025-03-04-11-23-38
    根据脚本的逻辑,他回去访问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. 解决很简单,脚本有问题我们改脚本。首先把这个脚本复制出来或者直接用我下面的:
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之后就会发现系统在更新。
195-飞牛小雅超集部署指南-2025-03-04-12-50-41

这边需要注意,update_data.sh的文件,要么给它增加可执行权限,要么直接给他变个用户。因为我们手动上传上去的文件所有者是admin或者你的登录名。所以,你要登录docker里面,直接用

chown root update_data.sh

将文件的用户改为系统的root用户,然后再重启docker即可。

总结

这次真的是折腾半天,不知道是不是官方故意为之,毕竟他们也提供代建服务。反正修改下脚本判断条件即可,难度不大,主要是docker的原文件我碰不到。所以只能出这种馊主意。