阿里云盘列表程序Alist

阿里云盘列表程序Alist

前面写了基于onedrive的oneindexn列表程序,流程有些许的复杂,但是长期稳定没问题,我比较喜欢。

上篇又写了“开箱即用”的网盘kiftd,基于个人或小团体的网盘。

今天写一个阿里云盘搭建的个人网盘,不过不是很推荐,玩玩就可以。(阿里的很多项目都是做一半凉凉,譬如雅虎中国、口碑、豌豆荚、虾米音乐等等,所以本人对于阿里云盘也是持有怀疑态度)

优点:满速下载

确定:每次更新文件需要重建目录。

流程:

  • 注册阿里云盘账号
  • 获取阿里云盘refresh_token
  • 部署alsit
  • 运行测试
  • 其它

第一步,注册阿里云盘账号

自行注册

阿里云盘官网:https://www.aliyundrive.com

第二步,获取阿里云盘refresh_token

通过PC浏览器F12开发者获取的refreshtoken不可用!!!

使用网易模拟器(MuMu)或者安卓手机,安装ES文件浏览器app和阿里云盘app,来获取阿里云盘日志中的refresh_token

手机和模拟器操作差不多,这里以网易模拟器为例:

1.先安装ES文件浏览器app和阿里云盘app

https://qnimg.ffing.cn/wp-content/uploads/2021/08/image-82-545x1024.png?imageView2/0/q/75|watermark/1/image/aHR0cHM6Ly9xbmltZy5mZmluZy5jbi9mbl9sb2dvLnBuZw==/dissolve/55/gravity/SouthEast/dx/0/dy/0

2.登录阿里云盘app

3.打开ES文件浏览器app,分析文件

(通过获取最新文件,我们可以得到刚刚安装并登录的阿里云盘app的日志文件)

https://qnimg.ffing.cn/wp-content/uploads/2021/08/image-83-571x1024.png?imageView2/0/q/75|watermark/1/image/aHR0cHM6Ly9xbmltZy5mZmluZy5jbi9mbl9sb2dvLnBuZw==/dissolve/55/gravity/SouthEast/dx/0/dy/0

4.查看最新文件

https://qnimg.ffing.cn/wp-content/uploads/2021/08/image-84-544x1024.png?imageView2/0/q/75|watermark/1/image/aHR0cHM6Ly9xbmltZy5mZmluZy5jbi9mbl9sb2dvLnBuZw==/dissolve/55/gravity/SouthEast/dx/0/dy/0

5.找到以安装阿里云盘app当天时间命名的log文件

(会发现有3个以日期命名的文件,找到最大的文件,里面有我们需要的refresh_token)

https://qnimg.ffing.cn/wp-content/uploads/2021/08/image-85-566x1024.png?imageView2/0/q/75|watermark/1/image/aHR0cHM6Ly9xbmltZy5mZmluZy5jbi9mbl9sb2dvLnBuZw==/dissolve/55/gravity/SouthEast/dx/0/dy/0

6.打开我们找到日期命名的日志文件

从文件内容中搜索“refreshtoken”即可,如果没有文本编辑工具可以上传到阿里云盘后,再下载本地搜索关键字。

https://qnimg.ffing.cn/wp-content/uploads/2021/08/image-86-572x1024.png?imageView2/0/q/75|watermark/1/image/aHR0cHM6Ly9xbmltZy5mZmluZy5jbi9mbl9sb2dvLnBuZw==/dissolve/55/gravity/SouthEast/dx/0/dy/0

7.搜索关键字refreshtoken

将获取到值保存好,一会要用到

https://qnimg.ffing.cn/wp-content/uploads/2021/08/image-87.png?imageView2/0/q/75|watermark/1/image/aHR0cHM6Ly9xbmltZy5mZmluZy5jbi9mbl9sb2dvLnBuZw==/dissolve/55/gravity/SouthEast/dx/0/dy/0

第三步,部署alist

1.下载这两个项目,放在一个目录中

alist-服务程序:https://github.com/Xhofe/alist

alist-web页面:https://github.com/Xhofe/alist-web

alist-服务程序项目:alist和conf.yml(配置模板example修改)

alist-web页面项目:dist目录

最终目录树如下

$ tree
.
├── alist
├── conf.yml
└── dist
    ├── favicon.ico
    ├── index.html
    └── static
        ├── css
        │   ├── about.f0b54b1c.css
        │   ├── app.4f0c3e9a.css
        │   └── chunk-vendors.8f913079.css
        ├── img
        │   └── alist.bcb68ba0.png
        └── js
            ├── about.8108f65b.js
            ├── app.34cb39e5.js
            └── chunk-vendors.131f0f41.js

2.修改配置文件conf.yml

info:
  title: AList #标题
  logo: "" #网站logo 如果填写,则会替换掉默认的
  footer_text: Xhofe's Blog #网页底部文字
  footer_url: https://www.nn.ci #网页底部文字链接
  music_img: https://img.oez.cc/2020/12/19/0f8b57866bdb5.gif #预览音乐文件时的图片
  check_update: true #前端是否显示更新
  script: #自定义脚本,可以是脚本的链接,也可以直接是脚本内容,如document.querySelector('body').style="background-image:url('https://api.mtyqx.cn/api/random.php');background-attachment:fixed"
  autoplay: true #视频是否自动播放
  preview:
    text: [txt,htm,html,xml,java,properties,sql,js,md,json,conf,ini,vue,php,py,bat,gitignore,yml,go,sh,c,cpp,h,hpp] #要预览的文本文件的后缀,可以自行添加
server:
  address: "0.0.0.0"
  port: "5244"
  search: true
  static: dist
  site_url: '*'
  password: password #自行修改!用于网页底部重建目录!!!
ali_drive:
  api_url: https://api.aliyundrive.com/v2
  max_files_count: 50 #重建目录时每次请求的文件
  drives:
  - refresh_token: xxx #refresh_token!!!
    root_folder: root #根目录的file_id
    name: drive0 #盘名,多个盘不可重复
    password: pass #自行修改!该盘密码,空则不设密码,修改需要重建生效!!!
    hide: false #是否在主页隐藏该盘,不可全部隐藏,至少暴露一个
  - refresh_token: xxx
    root_folder: root
    name: drive1
    password: pass
    hide: false
database:
  type: sqlite3
  dBFile: alist.db

配置文件中需要修改3个重要部分(紫色标注项) ,其他默认也可以自行查看作者文档

refresh_token:需要把刚刚获取到refreshtoken值

password:用来重建目录使用,密码错误将不能重构目录

3.将alist添加可执行权限

chmod +x alist

4.添加systemctl服务

创建服务文件

vim /usr/lib/systemd/system/alist.service

脚本内容如下:(Alist路径填写自己的!!!)

[Unit]
Description=alist
After=network.target
 
[Service]
Type=simple
WorkingDirectory=Alist项目路径
ExecStart=Alist项目路径/alist -conf conf.yml
Restart=on-failure
 
[Install]
WantedBy=multi-user.target

重新加载配置

systemctl daemon-reload
  • 启动: systemctl start alist
  • 关闭: systemctl stop alist
  • 自启: systemctl enable alist
  • 状态: systemctl status alist

5.防火墙放行端口(默认5244,可在配置文件中自行修改)

放行5244(懒人也可以直接关闭防火墙)

firewall-cmd --zone=public --add-port=5244/tcp --permanent

第四步,运行测试

1.启动alist

systemctl start alist

2.浏览器打开alist

http://你的服务器域名或IP:5244,第一次打开提示404,我们需要点击底部的“重构目录”来初始化目录列表。

https://qnimg.ffing.cn/wp-content/uploads/2021/08/image-90-1024x678.png?imageView2/0/q/75|watermark/1/image/aHR0cHM6Ly9xbmltZy5mZmluZy5jbi9mbl9sb2dvLnBuZw==/dissolve/55/gravity/SouthEast/dx/0/dy/0

3.“重构目录”初始化目录列表

需要输入我们配置中的两个密码(如果是公开云盘,建议将两个密码都设置为空

https://qnimg.ffing.cn/wp-content/uploads/2021/08/image-92-1024x692.png?imageView2/0/q/75|watermark/1/image/aHR0cHM6Ly9xbmltZy5mZmluZy5jbi9mbl9sb2dvLnBuZw==/dissolve/55/gravity/SouthEast/dx/0/dy/0

4.OK

https://qnimg.ffing.cn/wp-content/uploads/2021/08/image-93-1024x622.png?imageView2/0/q/75|watermark/1/image/aHR0cHM6Ly9xbmltZy5mZmluZy5jbi9mbl9sb2dvLnBuZw==/dissolve/55/gravity/SouthEast/dx/0/dy/0

其它

  • 为什么新上传的文件不显示/删除了的文件还在?

列表展示的是本地数据库里的数据,更新文件之后需要重建。

  • 重构目录失败

可删除目录下的alist.db数据库后,重新运行alist

  • 反代
    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_redirect off;
        proxy_pass http://127.0.0.1:5244;
    }
  • 目录列表默认目录

修改配置文件中的root_folder 值:为想要设置的文件夹的file_id即可。

文件夹的file_id是什么?根目录就是root,其他目录为点进文件夹之后的url中folder/后面那一串(登录阿里云盘网页版获取)

https://qnimg.ffing.cn/wp-content/uploads/2021/08/image-94-1024x549.png?imageView2/0/q/75|watermark/1/image/aHR0cHM6Ly9xbmltZy5mZmluZy5jbi9mbl9sb2dvLnBuZw==/dissolve/55/gravity/SouthEast/dx/0/dy/0
  • 如何给文件夹设置密码?
    在要加密的目录名称后面加上.password-密码,列表中会自动消除后面的密码部分。
  • 如何隐藏文件夹
    在要隐藏的文件夹名称后面加上.hide即可。
  • 如何重建目录树
    点击网页底部的rebuild按钮,输入配置文件中设置的password确定即可。
  • 如何自定义网页底部链接?
    修改配置文件中的footer_textfooter_url为要设置的内容,或者不填则不会显示。
  • 怎么复制文件直链?
    点进文件,右上角有复制直链的按钮。
  • 修改网站icon?
    替换掉dist目录下的favicon.ico即可。
  • 修改网站左上角图片
    替换掉dist/static/img目录下的alist.bcb68ba0.png即可。
  • 修改网站底部
    可修改dist/static/js目录下的app.402841f5.js。
good good study, day day up!

发表评论

textsms
account_circle
email

阿里云盘列表程序Alist
前面写了基于onedrive的oneindexn列表程序,流程有些许的复杂,但是长期稳定没问题,我比较喜欢。 上篇又写了“开箱即用”的网盘kiftd,基于个人或小团体的网盘。 今天写一个阿里云盘…
扫描二维码继续阅读
2021-08-28