简介

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

项目地址

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

预览

https://alist.nn.ci/
d81d2dab3e5f0.png

教程

1. 获取refresh_token

登陆阿里云盘之后,打开开发者工具,切换到Application选项卡,点开Local storage,会有一个token项,点开就可以看到refresh_token

de89d8acdcd75.png

2. 部署

前后端不分离

  • 前往AList Release下载对应系统的程序,解压得到一个运行文件alist
  • 前往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 #根目录
  access_token: 
  refresh_token: #必填!!!
  max_files_count: 3000 #一次性最大文件数量
  • 填入最开始获取到的refresh_token,然后自行修改配置文件中默认的值
  • 现在的情况应该是,目录下有两个文件alist、conf.yml和一个文件夹dist,在该文件夹下面执行下面的命令
chmod +x alist
nohup ./alist >log.log 2>&1 &

之后可以通过http://ip:5244访问查看

前后端分离

与前后端不分离操作步骤差不多,不同的地方在于:

  • 下载AList-web的源码,修改.env.production中的VUE_APP_API_URL为具体部署的后端地址(带后面的/api/),然后yarn
    && yarn build自行部署
  • conf.yml中的info.site_url填写前端部署的域名,一定要正确填写,否则会报跨域的错误

反向代理

程序默认监听5244端口,要实现https访问,需要使用nginx反向代理,在配置文件中加入

  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;
    }