简介
AList是一款阿里云盘的目录文件列表程序,后端基于golang
最好的http
框架gin
,前端使用vue
和ant design
。没有专门学过前端,大佬轻喷?
发现任何bug请提issue,部署上遇到问题欢迎添加我的qq
173041547
。
项目地址:
更新
2021.11.03
- Release v1.0.6
- 没有变化
2020.12.31
- Release v1.0.5
- 自定义脚本
- 移动端文件列表优化
- 二维码分享(只在宽度小于600px的设备上显示)
- 去除对文件请求的缓存
- 更新提醒(可在配置文件中关闭)
2020.12.29
- Release v1.0.4
- 引入缓存,大幅优化了响应速度
2020.12.28
- Release v1.0.3
- 自定义页面底部链接
- 301跳转文件直链
- 体验优化
- 隐藏.password密码文件
- json绑定出错问题
预览

如何部署
首先第一步,Star本项目AList(bushi
获取refresh_token
为什么不直接使用access_token
,因为有效期只有两小时。
经Syc大佬的提醒,获取refresh_token
其实没这么麻烦,我们只需要登陆阿里云盘之后,打开开发者工具,切换到Application
选项卡,点开Local storage
,会有一个token
项,点开就可以看到refresh_token
了,此处感谢一下Syc大佬。

部署
使用gin作为静态资源服务器
- 前往AList Release下载对应系统的程序,解压得到一个运行文件
alist
- 前往AList-web下载打包好的前端,解压得到一个dist目录放到
alist
同级目录下 在同级目录下新建一个配置文件conf.yml
,复制以下内容到该文件中
1. info:
2. title: AList #网站名称,如果填写,则会替换掉默认的
3. site_url: https://alist.nn.ci #网站地址,前后端分离时必须正确填写
4. backend_url: https://alist.nn.ci #后端地址,用于文件直链复制,必填!!
5. logo: #网站logo,如果填写,则会替换掉默认的
6. footer_text: "Xhofe's Blog" #网页底部文字
7. footer_url: https://www.nn.ci #网页底部文字链接
8. music_img: https://img.oez.cc/2020/12/19/0f8b57866bdb5.gif #预览音乐文件时的图片
9. server:
10. port: "5244" #程序监听端口
11. search: false
12. static: dist
13. cache:
14. enable: true #是否开启缓存
15. expiration: 120 #缓存失效时间(单位:分钟)
16. cleanup_interval: 240 #清理失效缓存间隔
17. refresh_password: password #手动清理缓存密码
18. ali_drive:
19. api_url: https://api.aliyundrive.com/v2
20. root_folder: root #根目录
21. refresh_token: #必填!!!
22. max_files_count: 3000 #一次性最大文件数量
填入最开始获取到的refresh_token,然后自行修改配置文件中默认的值
现在的情况应该是,目录下有两个文件alist、conf.yml和一个文件夹dist,在该文件夹下面执行下面的命令(Linux)
1. chmod +x alist
2. nohup ./alist > log.log 2>&1 &
ok,程序已经跑起来了。你可以cat log.log
看看有没有报错。或者访问http://ip:5244进行查看。
自定义静态资源服务器
与前后端不分离操作步骤差不多,不同的地方在于:
- 下载AList-web的源码,修改
.env.production
中的VUE_APP_API_URL
为具体部署的后端地址(带后面的/api/
),然后yarn && yarn build
自行部署 conf.yml
中的info.site_url
填写前端部署的域名,一定要正确填写,否则会报跨域的错误。
反向代理
程序默认监听5244端口,要实现https访问,需要使用nginx反向代理,在配置文件中加入
1. location / {
2. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
3. proxy_set_header Host $http_host;
4. proxy_set_header X-Real-IP $remote_addr;
5. proxy_redirect off;
6. proxy_pass http://127.0.0.1:5244;
}
常见问题解答
- 如何给文件夹设置密码?
在要加密的目录下新建一个名称为.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
。
Buy me a coffee
If you are using this project and happy with it or just want to encourage me to continue creating stuff,buy me a coffee by appreciation button below 。
前后端源: 下载地址https://junq207.lanzous.com/b01bz0hxi 密码:54u8