本来只想着弄离线下载,结果发现Alist还挺有意思的,就直接也搞一下吧,依旧是使用的雨云服务器,使用的是江苏宿迁的NAT模式服务器,配置为2核2G,便宜大碗。

部署Alist

使用docker部署,安装docker的文章很多,随便找一个就行,或者看我博客中的文章,里面也有

  1. 创建目录

    1
    mkdir /home/alist
  2. 进入目录

    1
    cd /home/alist
  3. 创建并编辑配置文件docker-compose.yml

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    services:
    alist:
    image: 'xhofe/alist:latest'
    container_name: alist
    volumes:
    - '/etc/alist:/opt/alist/data'
    - '/home/aria2/aria2-downloads:/aria2-downloads' #这里的/home/aria2/aria2-downloads就是部署aria2下载文件的地方,根据自己的情况修改,若是完全按我之前文章操作的,就不用改了
    ports:
    - '5244:5244'
    environment:
    - PUID=0
    - PGID=0
    - UMASK=022
    restart: unless-stopped
  4. 启动容器

    根据docker安装情况不同,可能没有docker-compose命令,换成docker compose即可

    1
    docker-compose up -d
  5. 查看管理员账户密码

    Alist首次启动时会自动创建admin用户并生成一个随机密码,在日志中查看

    1
    docker logs alist

    image-20241113090935124

  6. 开放端口

    image-20241113090602279

  7. 通过IP访问

    显示此页面即可

    image-20241113091055819

  8. 使用cloudflare配置域名访问

    添加CNAME记录,要开启代理,否则之后的Origin Rules不生效

    image-20241113091425797

    创建一个Origin Rules

    image-20241113091550996

  9. 之后就可以使用子域名进行访问了

    image-20241113091655915

挂载网盘

Alist可以挂载众多网盘,这样方便查找和下载不同网盘的文件

具体操作官网文档挺详细的,有问题的话可自行查阅[Alist文档](蓝奏云优享版 | AList文档),我这里就写一下Aria2和蓝奏云优享版的挂载操作,其他的云盘自行查看文档

挂载Aria2下载目录

  1. 使用管理员账号登录后点击页面下方的管理

  2. 点击存储➡️添加

    image-20241113091852872

  3. 填写参数,保存即可

    QQ截图20241113091952

  4. 然后就可以在主页中看到Aria2目录

    image-20241113092607491

  5. 里面就是aria2下载的文件,可以对其中的文件进行下载或者删除

    image-20241113092633348

挂载蓝奏云优享版

这个版本的蓝奏云貌似有问题,挂载不上,但是优享版没问题

  1. 登录蓝奏云优享版,查看文件夹ID

    为了区分普通文件和挂载到Alist文件,我新建了一个Alist文件夹,进入这个文件夹,查看地址栏中的文件夹ID

    image-20241113093741582

    image-20241113093805942

  2. 填写用户名和密码以及根文件夹ID即可,Web代理要打开,WebDAV策略选择302重定向

    image-20241113093955335

  3. 然后就可以在主页中看到了

    image-20241113094038449

  4. 可以在里面看到蓝奏云优享版中的文件并下载

    image-20241113094531425

    看不到文件的话右下角刷新一下

    image-20241113094557034

Alist配合Aria2实现离线下载并上传至云盘

  1. 因为需要文件互通,所以需要挂载一个公共的目录

    进入aria目录,停止aria2容器

    1
    cd /home/aria2/
    1
    docker compose stop

    修改配置文件

    1
    vim docker-compose.yml 

    volume参数下添加挂载目录- /home/alist/temp/aria2:/opt/alist/data/temp/aria2

    image-20241113110115234

    保存后启动容器

    1
    docker compose up -d

    进入alist目录,停止容器

    1
    cd /home/arialist/
    1
    docker compose stop

    修改配置文件

    1
    vim docker-compose.yml

    volume参数下添加挂载目录- /home/alist/temp/aria2:/opt/alist/data/temp/aria2

    image-20241113110309587

    保存后启动容器

    1
    docker compose up -d
  2. 配置aria后台:打开Alist的管理➡️设置➡️其他

    image-20241113095245664

  3. 填写Aria2地址和密钥

    就是之前AriaNG中配置RPC时的地址和密钥,地址要包括后面的/jsonrpc

    image-20241113095401877

  4. 配置aria前台:本地设置

    image-20241113112750167

  5. 配置Aria2

    image-20241113112816361

  6. 测试

    复制一个下载链接➡️进入自己想上传的云盘➡️点击右下角的离线下载➡️选择aria2并输入链接

    image-20241113112056725

    若是正常的话,会在AriaNG中看到正在下载的任务,下载速度受服务器下载速度影响

    image-20241113112132146

    下载完成后会自动上传至所选云盘,比如我这里就是蓝奏云优享版,若没出现新文件就点击右下角的刷新,上传速度受服务器上传速度和网盘的限速

    image-20241113112319641

  7. 可能出现无法创建指定目录的错误,这是目录操作权限不够,修改一下即可

    image-20241113112418048

    进入aria2容器

    1
    docker exec -it aria2-pro /bin/bash

    使用chmod命令修改文件夹权限

    1
    chmod 777 /opt/alist/data/temp/aria2/

    退出容器

    1
    exit

    这样问题就解决了

安全设置

毕竟是运行在公网上的服务,而且绑定了各个网盘的账号密码或者cookie,所以需要额外设置一下保证安全性

如果只是个人使用的话,就直接禁止游客访问即可,alist默认就是禁止游客访问

若是需要开放给其他人使用,则可以按我的设置

  1. 新建虚拟存储,文件夹和文件夹数量为0

    image-20241113114008948

  2. 添加元信息,为刚才的虚拟存储添加说明

    image-20241113114050638

  3. 设置好之后进入虚拟存储会显示如下界面

    image-20241113114126254

  4. 开启游客访问,管理➡️用户➡️编辑

    image-20241113114241436

  5. 停用的勾选去掉,基本路径选择刚才创建的虚拟存储

    image-20241113114403878

  6. 这样游客就无法查看文件了,但会得到操作提示,可留下联系方式或其他内容引导用户,用户联系你之后你就创建个账号,比如新建个123的用户

    image-20241113114549231

  7. 若有的文件夹并不想让其他人看,就需要使用别名

  8. 在存储中新建一个别名,路径中填写想让用户看见的文件夹,每行填写一个

    image-20241113114655002

  9. 保存后修改用户的基本路径为别名

    image-20241113114821276

  10. 这样指定的用户就只能看到你想让他看到的内容

    image-20241113114921482