现在拥有阿里云盘账号的伙伴应该很多了,大部分都有1T的存储容量,小部分有6T,重要的是上传下载的速度很快,相对于其他的网盘,要么是传输速度慢,要么是存储容量太低,所以阿里云盘算是目前最好的免费网盘了,当然,以后什么情况就不知道了
今天发现了一个阿里云盘的目录文件列表程序,之前有做过OneDrive的的目录文件列表教程,使用起来还是挺方便的,就是传输速度差了些,所以今天来试下阿里云盘
先介绍下这个程序
AList是一款阿里云盘的目录文件列表程序,后端基于golang
最好的http
框架gin
,前端使用vue
和ant design
Github地址:Xhofe/alist-web (github.com)
支持的功能
- 自动刷新
token
,refresh_token
自动更新,失效时间未知,本人使用过程中没有失效过。 - 图片、视频、音频预览
- 目录加密
Readme
渲染- 自定义根目录
- 文件直链下载
- …
宝塔部署网站就不多说了,按正常的步骤创建网站目录就行,开放5244端口,如果是https,后面需要添加反向代理
获取refresh_token
登录阿里云盘官网
,打开开发者工具,切换到Application
选项卡,点开Local storage
,会有一个token
项,点开就可以看到refresh_token
了
部署程序
- 前往AList Release下载对应系统的程序,解压得到一个运行文件
alist,放到网站根目录
- 前往AList-web下载打包好的前端,解压得到一个dist目录放到
alist
同级目录下 - 在同级目录下新建一个配置文件
conf.yml
,复制以下内容到该文件中,按照提示填写,token就是之前在官网获取的
info:
title: AList #网站名称,如果填写,则会替换掉默认的
site_url: https://alist.nn.ci #网站地址,前后端分离时必须正确填写
backend_url: https://alist.nn.ci #后端地址,用于文件直链复制,必填!!
logo: #网站logo,如果填写,则会替换掉默认的
footer_text: "Xhofe's Blog" #网页底部文字
footer_url: https://www.nn.ci #网页底部文字链接
music_img: https://img.oez.cc/2020/12/19/0f8b57866bdb5.gif #预览音乐文件时的图片
server:
port: "5244" #程序监听端口
search: false
static: dist
cache:
enable: true #是否开启缓存
expiration: 120 #缓存失效时间(单位:分钟)
cleanup_interval: 240 #清理失效缓存间隔
refresh_password: password #手动清理缓存密码
ali_drive:
api_url: https://api.aliyundrive.com/v2
root_folder: root #根目录
refresh_token: #必填!!!
max_files_count: 3000 #一次性最大文件数量
- 现在的情况应该是,目录下有两个文件
alist
、conf.yml
和一个文件夹dist
,在该文件夹下面执行下面的命令(Linux)
chmod +x alist
nohup ./alist > log.log 2>&1 &
程序跑起来了,可以cat log.log看看有没有错误,日志还是比较详细的,哪里出了错误都标了出来
反向代理
程序默认监听5244端口,要实现https访问,需要使用nginx反向代理
常见问题解答
- 如何给文件夹设置密码?
在要加密的目录下新建一个名称为.password-要设置的密码
的文件或者文件夹就可以了。 - 如何设置根目录?
修改配置文件中的ali_drive.root_folder
为想要设置的文件夹的file_id
即可。 - 如何自定义网页底部链接?
修改配置文件中的footer_text
和footer_url
为要设置的内容,或者不填则不会显示。 - 怎么复制文件直链?
进入文件预览,可以预览的文件复制按钮在右上角,不可预览的复制按钮在正中间(backend_url
必须设置正确)。 - 修改网站icon?
替换掉dist
目录下的favicon.ico
即可。 - 如何开关缓存?
配置文件中的cache.enable
设置为true
或false
即可,打开会占用更多的内存,但会大幅优化使用体验,默认打开。经测试下载地址是会失效的,所以请自行设置缓存的时间。下个版本将给文件去掉缓存,只缓存文件夹。更新文件的时候可以手动刷新缓存。 - 如何刷新缓存?
程序会自动按照配置文件中的cache.cleanup_interval
自动清理过期缓存,如需手动刷新,手动访问后端地址/cache/配置文件中设置的刷新密码
,如https://alist.nn.ci/cache/alist
。 - 如何更新?
前端:下载新的打包好的文件,删掉原来的dist文件夹,解压新的dist放入原来的位置即可。