暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

阿里云盘的目录文件列表程序Alist

各种折腾 2021-08-18
2319

网盘列表软件很多,老苏之前分享过 Z-file
 和 ShareList
,这两款软件都支持多家第三方存储,可以直接将网盘从个人使用变成一个面向大众的资源网站,不过老苏觉得还是自己低调用用就好了,毕竟是会加重网盘厂商访问压力的。

『 在线文件目录Z-file 』
『 支持天翼云的在线文件目录ShareList 』

什么是 Alist ?

Alist
 是一款阿里云盘的目录文件列表程序,后端基于golang
 最好的 http
 框架 gin
 ,前端使用 vue
 和 ant design
 。

Alist
 和前面两款软件最大的不同在于仅支持阿里云盘。

refresh_token

在 『 能将阿里云盘挂载为webdav的webdav-aliyundriver 』 一文中,老苏介绍过两种获取 refresh_token
 的方法,但用这两种方法获取的 refresh_token
 在这个项目中却不灵了,具体表现在:

  1. 不能播放视频

  1. 不能下载文件

这显然不是我们希望的结果,按官方的说明,是因为 web
 版的 refresh_token
 有限制,所以需要抓取移动版的 refresh_token
 ,但是官方的文档写的太含糊,搞了半天才弄明白

打开下图红框中的地址:https://media.cooluc.com/decode_token/

看到的是不是和老苏一样?

必须往下拉往下拉往下拉才能看到教程,这坑踩得😶,害老苏花了半天时间找度娘

为了方便大家看,把官方教程贴过来了,老苏略做了补充

1、点击本页顶部 移动端网页登录入口
,按 F12 打开 chrome
 浏览器开发者工具,点击开发者工具 Network
 栏。

需要重新加载一次才能记录网络活动

windows 和 macos 下的快捷键不同,看提示操作就好了

一定要看到下图中红框中的内容再进行下一步的操作

2、输入阿里云盘账户信息进行登录(登录成功不会有任何提示),接着在开发人员工具找到并拷贝 login.do?appName=aliyun
 链接的 response
 数据。

3、粘贴 response
 数据到输入框,点击 解码Refresh Token
 按钮,页面会弹出你的 refresh_token

获取到 refresh_token
 等于已经成功了一半,接下来我们就可以进入 Alist
 的安装了

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 alist
 ,选择第一个 sbwml/alist
,双击直接下载。

在 docker
 文件夹中,创建一个新文件夹,并将其命名为 alist
,并在 alist
 中新建子文件夹 config

文件夹装载路径说明
docker/alist/config
/alist/config
存放数据库和设置文件

端口

本地端口
 直接用了默认的端口 5244

本地端口容器端口
52445244

环境

不需要做任何修改,哪怕上一步修改了 本地端口
 也不需要修改,因为这个 PORT
 指的是 容器端口

配置

在 File Station
 中打开 docker/alist/config

编辑 conf.yml
 文件

关于 conf.yml
 中可以看看官方的文件,里面有注释,应该比较好理解,地址:https://www.nn.ci/archives/alist.html

需要注意的是2个 password

  • server
     --> password
     是用于重构目录用的,老苏称之为 重构密码
    ,可以为空;

  • ali_drive
     --> drives
     --> password
     是访问网盘用的密码,老苏称之为 盘符密码
    ,如果为空就可以直接刷出文件列表,多个盘可以单独设置不同的密码;

当然最重要的还是填入之前获取的 refresh_token
 值,保存之后需要重新启动容器。

运行

在浏览器中输入 http://群晖IP:5244
,就能看到主界面

只是第一次会有报错信息 path not found.(第一次请先点击网页底部rebuild)
,需要点底部的 重构目录

弹出菜单中,重建深度用了-1
,输入前面设置的 重构密码
(如果前面设置了的话)

根目录下重建的时间取决于文件的数量,可能需要的时间会比较长一些

进入日志能看到有数据库插入操作

完成后需要输入 盘符密码
(如果前面设置了的话)

接着就能看到目录了

如果哪一级目录不显示,就重构一下目录即可

前面虽然重建深度设置了 -1,但是 max_files_count
 还是有限制的,不然这个重构时间会变得非常漫长

然后就 OK 了

再来试试电影,已经可以非常流畅的播放了

如果你把这个项目映射到公网,别人在看电影的时候并不会占用你的带宽,也不会在群晖里生成缓存,而是直接走的阿里云,这也是为啥老苏说要低调使用的原因。

唯一限制 Alist
 速度的可能就是 SQLite
 ,而这可以通过配置为 MySQL(MariaDB)
 来进行提升。

参考文档

Xhofe/alist: 一个阿里云盘列表程序
地址:https://github.com/Xhofe/alist

Xhofe/alist-web: 阿里云盘列表的前端
地址:https://github.com/Xhofe/alist-web

阿里云盘列表AList部署教程 - Xhofe’s Blog
地址:https://www.nn.ci/archives/alist.html

文章转载自各种折腾,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论