简介
AList是一款阿里云盘的目录文件列表程序,后端基于golang最好的http框架gin,前端使用vue和ant design。
项目地址:
https://github.com/Xhofe/alist
https://github.com/Xhofe/alist-web
预览
如何部署
首先第一步,Star本项目AList(bushi
获取refresh_token
为什么不直接使用access_token,因为有效期只有两小时。
首先第一步需要获取refresh_token,这也是部署过程中最麻烦的一步。我尝试过直接通过login_token去登陆获取,但是会得到这个错误:
User not authorized to operate on the specified APIs you need access by oauth.
进入阿里云盘登录页,打开开发者工具,并开启Preserve log:
选择一种方式登录,我这里选择的是扫码其他的应该也差不多
找到https://auth.aliyundrive.com/v2/oauth/token_login这个请求并复制请求中的token
这是我们就需要一个模拟请求插件,这里我使用的是Postwomen,用刚刚复制的数据再次请求这个接口
然后我们就会得到一个goto的链接(在控制台就是看不到,是真滴奇怪,如果可以看到就没这么麻烦了),链接中有个code参数,我们再次复制它,然后用这个code请求https://websv.aliyundrive.com/token/get这个接口,注意这个code只能使用一次,所以这里没有打码了
前往AList-web下载打包好的前端,解压得到一个dist目录放到alist同级目录下
在同级目录下新建一个配置文件conf.yml,复制以下内容到该文件中
info:
title: AList #网站名称,如果填写,则会替换掉默认的
site_url: http://localhost #网站地址,前后端分离时必须正确填写
logo: #网站logo,如果填写,则会替换掉默认的
server:
port: "5244" #程序监听端口
search: false
static: dist
ali_drive:
api_url: https://api.aliyundrive.com/v2
root_folder: root #根目录
token:
access_token:
refresh_token: #必填!!!
max_files_count: 3000 #一次性最大文件数量
填入最开始获取到的refresh_token,然后自行修改配置文件中默认的值
现在的情况应该是,目录下有两个文件alist、conf.yml和一个文件夹dist,在该文件夹下面执行下面的命令(Linux)
chmod +x alist
nohup ./alist >log.log 2>&1 &
conf.yml中的info.site_url填写前端部署的域名,一定要正确填写,否则会报跨域的错误。
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/;
}
感谢您的来访,获取更多精彩文章请收藏本站。
