阿里云盘列表AList部署教程 暂无演示
阿里云盘列表AList部署教程手机扫码预览

阿里云盘列表AList部署教程

售价:
¥10 积分
  • 普通用户购买价格 : 10积分
  • VIP会员购买价格 :5积分
QQ咨询
  • 免费售前咨询
  • 免费安装指导
  • 付费安装资源
  • 付费终身升级
  • QQ保障售后服务
  • 网站应急咨询顾问

升级尊贵会员
享受全站VIP待遇

312+
会员已经加入
  • 文章介绍
  • 评价建议
  • 简介

    AList是一款阿里云盘的目录文件列表程序,后端基于golang最好的http框架gin,前端使用vue和ant design。没有专门学过前端,大佬轻喷😘

     

    点击链接加入群聊【Alist使用交流】:https://jq.qq.com/?_wv=1027&k=OVPJcv2b
    或搜索群号:920516758
    更新计划:https://www.notion.so/AList-993f3a1a43fc464588f018b46369672e ,有好的建议可以评论或在issue中告诉我。
    本程序仅供学习研究使用!!!发现任何bug请提issue,部署上遇到问题欢迎加群交流。

     


    项目地址:

    预览

    如何部署

    首先第一步,Star本项目AList(bushi

    获取refresh_token

    • 傻瓜方法:https://media.cooluc.com/get_token/(已弃用)
    • 手动方法:https://media.cooluc.com/decode_token/
    • 二次验证账户 ¹ :二次验证账户指的是通过 “傻瓜方法” 获取refresh_token出现应用内部错误或通过“手动方法”获取出现二次验证的账户。遇到这种情况的账户无法通过以上两种方式获取refresh_token,只能使用 安卓设备 安装 阿里云盘 客户端进行获取。具体方法如下:1、下载 阿里云盘 客户端,安装并登录账户。

      2、下载 MT管理器 并安装。

      3、使用 MT管理器 进入 Android/data/com.alicloud.databox/files/logs/trace/用户UUID²/yunpan 目录,该目录下保存很多 .log (如:2021-04-20-12.log)日志文件,打开文件日期最新的 log 日志文件。在文本内搜索 refreshToken (通常在第 7 行),该字符后面的一串字符则是需要获取的 refresh_token,把它拷贝出来即可。

      用户UUID² :用户UUID是一串由数字和字母组成的字符串,该字符由阿里云盘自动生成,每个账户都具备唯一的UUID。如果手机上曾经登录过多个账户,无法判断哪个UUID对应的账号。这种情况下建议使用 MT管理器 删除 Android/data/com.alicloud.databox/files/logs 目录,重新登录阿里云盘客户端,此时日志路径只存在当前最后登录的账户UUID。

    部署

    使用gin作为静态资源服务器

    • 前往AList Release下载对应系统的程序,解压得到一个示例配置文件和一个系统名称文件夹里面包含运行文件alist
    • 前往AList-web下载打包好的前端,解压得到一个dist目录放到alist同级目录下
    • 在同级目录下新建一个配置文件conf.yml,复制以下内容到该文件中,或直接使用示例配置文件进行修改
    info:
      title: AList #标题
      logo: "" #网站logo 如果填写,则会替换掉默认的
      footer_text: Xhofe's Blog #网页底部文字
      footer_url: https://www.nn.ci #网页底部文字链接
      music_img: https://img.xhofe.top/2020/12/19/0f8b57866bdb5.gif #预览音乐文件时的图片
      check_update: true #前端是否显示更新
      script: #自定义脚本,可以是脚本的链接,也可以直接是脚本内容
      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
      download: true
      static: dist
      site_url: '*'
      password: password #用于重建目录
    ali_drive:
      api_url: https://api.aliyundrive.com/v2
      max_files_count: 200
      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
    Shell
    • 填入最开始获取到的refresh_token,然后自行修改配置文件中默认的值
    • 现在的情况应该是,目录下有两个文件alistconf.yml和一个文件夹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
     
    5 directories, 12 files
    Shell

    在该文件夹下面执行下面的命令(Linux)

    chmod +x alist
    nohup ./alist > log.log 2>&1 &
    Shell

    ok,程序已经跑起来了。你可以cat log.log看看有没有报错。或者访问 http://ip:5244 进行查看。

    守护进程(可选)

    vim /usr/lib/systemd/system/alist.service 添加以下内容,其中path_alist为alist所在的路径

    [Unit]
    Description=alist
    After=network.target
     
    [Service]
    Type=simple
    WorkingDirectory=path_alist
    ExecStart=path_alist/alist -conf conf.yml
    Restart=on-failure
     
    [Install]
    WantedBy=multi-user.target
    Shell

    然后systemctl daemon-reload重载配置,现在你就可以使用这些命令来管理程序了:

    • 启动: systemctl start alist
    • 关闭: systemctl stop alist
    • 重启: systemctl stop alist
    • 状态: systemctl status alist
    • 启用: systemctl enable alist
    • 禁用: systemctl disable alist

    使用mysql(可选)

    需要使用utf8mb4编码,修改database部分配置:

    database:
      type: mysql
      user: 用户名
      password: 密码
      host: 127.0.0.1
      port: 3306
      name: 数据库名
    Yml

    自定义静态资源服务器

    与使用gin作为静态资源服务器操作步骤差不多,不同的地方在于:

    • 下载AList-web的源码,修改 .env.production 中的 VUE_APP_API_URL 为具体部署的后端地址,然后 yarn && yarn build 自行部署
    • conf.yml 中的 server.site_url 填写前端部署的域名或者默认为’*’,需要正确填写,否则会报错。
    • 建议直接使用gin作为静态资源服务器,使用nginx的话因为路由使用了history模式(没有#号好看一点),所以还需要设置一下nginx:

    参考:https://router.vuejs.org/zh/guide/essentials/history-mode.html

    反向代理

    程序默认监听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;
        }
    Shell

    常见问题解答

    • 如何给文件夹设置密码?
      在要加密的目录名称后面加上.password-密码,列表中会自动消除后面的密码部分。
    • 如何隐藏文件夹
      在要隐藏的文件夹名称后面加上.hide即可。
    • 如何重建目录树
      点击网页底部的rebuild按钮,输入配置文件中设置的server.password确定即可。
    • 如何设置根目录?
      修改配置文件中的 ali_drive.root_folder 为想要设置的文件夹的 file_id 即可。文件夹的file_id是什么?根目录就是root,其他目录为点进文件夹之后的url中 folder/ 后面那一串
    • 如何自定义网页底部链接?
      修改配置文件中的 footer_text 和 footer_url 为要设置的内容,或者不填则不会显示。
    • 怎么复制文件直链?
      点进文件,右上角有复制直链的按钮。
    • 修改网站icon?
      替换掉dist目录下的favicon.ico即可。
    • 为什么新上传的文件不显示/删除了的文件还在?
      列表展示的是本地数据库里的数据,更新文件之后需要重建。
    • 如何更新?
      前端:下载新的打包好的文件,删掉原来的dist文件夹,解压新的dist放入原来的位置即可。后端:pkill alist 停掉老的进程,删除旧的alist,下载新的alist,查看配置文件,补上新的配置项,再次运行即可。
    • 运行显示检查更新之后直接报错?
      可能是无法访问到GitHub的api,可以在命令行后面加上-skip-update跳过检查更新。
    • 怎么指定路径重建?
      在哪个路径点rebuild就是在哪里重建。
    • The input parameter limit is not valid. limit should be less than 200?
      Xhofe/alist-web#22

    一键部署 Alist

    如果你觉得以上部署方法比较麻烦,可以使用由本站提供的一键部署脚本!
    只需在你的服务器执行一行命令即可完成部署。

    bash -c "$(curl -sS https://www.cooluc.com/alist-install.sh)"
    Shell

    使用 Docker 部署 Alist

    https://media.cooluc.com/source/Alist

    wordpress是一个优秀的CMS,你可以搭载各种个性化的网站
    NewWordPress-主题森林 » 阿里云盘列表AList部署教程

    常见问题FAQ

    美化包支持最新版本吗?
    最新美化支持永久更新!

    发表评论