AList是一款支持多种存储的目录文件列表程序,后端基于gin,前端使用react。
刚刚写了近两个小时的教程 结果没有保存我裂开
这篇的质量可能有点差
我没有耐心了:liulei:
项目地址

我搭建的网盘

支持的存储[](https://alist-doc.nn.ci/docs/intro#支持的存储 "Direct link to heading")

安装

一键脚本

仅支持Linux-x86_64/aarch64平台。

安装[](https://alist-doc.nn.ci/docs/install/script#安装 "Direct link to heading")

curl -fsSL "https://nn.ci/alist.sh"|bash -s install
danger

已经安装过再次执行安装会删除之前的数据,更新请使用更新命令。

更新[](https://alist-doc.nn.ci/docs/install/script#更新 "Direct link to heading")

curl -fsSL "https://nn.ci/alist.sh"|bash -s update

卸载[](https://alist-doc.nn.ci/docs/install/script#卸载 "Direct link to heading")

curl -fsSL "https://nn.ci/alist.sh"|bash -s uninstall

自定义路径[](https://alist-doc.nn.ci/docs/install/script#自定义路径 "Direct link to heading")

默认安装在/opt/alist,要自定义安装路径,添加安装路径为第二个参数,必须是绝对路径(路径以alist结尾时直接安装到给定路径,否则会安装在给定路径alist目录下),如安装到/root

# 安装
curl -fsSL "https://nn.ci/alist.sh"|bash -s install /root
# 更新
curl -fsSL "https://nn.ci/alist.sh"|bash -s update /root
# 卸载
curl -fsSL "https://nn.ci/alist.sh"|bash -s uninstall /root

宝塔操作

点击宝塔左侧的网站,新建一个网站,类型选择静态/PHP就可以了。填入你的域名,新建网站完成。

建议先申请一个ssl证书开启https,因为此程序的部分功能需要https支持。

点击设置-配置文件。将默认文件的以下内容删除:

#禁止访问的文件或目录
location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
{
    return 404;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
    expires      30d;
    error_log /dev/null;
    access_log /dev/null;
}

location ~ .*\.(js|css)?$
{
    expires      12h;
    error_log /dev/null;
    access_log /dev/null; 
}

然后在你删除的任意地方加入:

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_set_header Range $http_range;
    proxy_set_header If-Range $http_if_range;
    proxy_redirect off;
    proxy_pass http://127.0.0.1:5244;
    # 上传的最大文件尺寸
    client_max_body_size 20000m;
}


保存即可。

完成!打开你新建网站时填入的域名就可以打开了。

手动安装

获取Alist[](https://alist-doc.nn.ci/docs/install/manual#获取alist "Direct link to heading")

打开AList Release下载要部署的系统对应的文件,最新的版本前端已经与后端打包在一起,无需再次下载前端文件。

运行起来[](https://alist-doc.nn.ci/docs/install/manual#运行起来 "Direct link to heading")

Linux[](https://alist-doc.nn.ci/docs/install/manual#linux "Direct link to heading")

# 解压下载对文件得到可执行文件:
tar -zxvf alist-xxxx.tar.gz
# 赋予程序执行权限:
chmod +x alist-xxxx
# 运行程序
./alist-xxxx

其中的xxxx是指不同系统/架构对应的名称,一般Linux-x86/64是alist-linux-amd64,如果你的glibc版本过低,建议下载musl版本

守护进程[](https://alist-doc.nn.ci/docs/install/manual#守护进程 "Direct link to heading")

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

[Unit]
Description=alist
After=network.target

[Service]
Type=simple
WorkingDirectory=path_alist
ExecStart=path_alist/alist-xxxx -conf data/config.json
Restart=on-failure

[Install]
WantedBy=multi-user.target

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

  • 启动: systemctl start alist
  • 关闭: systemctl stop alist
  • 自启: systemctl enable alist
  • 状态: systemctl status alist
  • 重启: systemctl restart alist

Windows

当看到输出start server @ 0.0.0.0:5244且之后没有报错后,就表示运行成功了,首次运行会输出初始密码,程序默认监听5244端口,现在打开http://ip:5244就可以看见登陆页面了,webdav相关请看WebDav。Windows如果不想使用黑窗口模式运行可以使用如下.vbs脚本启动:

启动.vbs

Set ws = CreateObject("Wscript.Shell")
ws.run "alist-windows-4.0-amd64.exe",vbhide

停止.vbs

Dim Wsh
Set Wsh = WScript.CreateObject("WScript.Shell")
Wsh.Run "taskkill /f /im alist-windows-4.0-amd64.exe",0
Set Wsh=NoThing
WScript.quit

alist-windows-4.0-amd64.exe是你Alist程序的文件名,如果没改默认就是这个,放到和Alist启动程序同级目录即可

![WindowsShell]()

https://www.bilibili.com/video/BV1DG411s7j5?t=268.1

使用Docker

初始密码请查看日志输出:

docker logs alist
# 或者
docker exec -it alist ./alist -password

稳定版[](https://alist-doc.nn.ci/docs/install/docker#稳定版 "Direct link to heading")

docker run -d --restart=always -v /etc/alist:/opt/alist/data -p 5244:5244 --name="alist" xhofe/alist:latest

开发版[](https://alist-doc.nn.ci/docs/install/docker#开发版 "Direct link to heading")

不推荐,这有可能无法正常使用

docker run -d --restart=always -v /etc/alist:/opt/alist/data -p 5244:5244 --name="alist" xhofe/alist:v2

指定版本[](https://alist-doc.nn.ci/docs/install/docker#指定版本 "Direct link to heading")

具体见 https://hub.docker.com/r/xhofe/alist

挂载网盘

阿里云盘

token

官方获取token方式访问
或使用https://media.cooluc.com/decode_token/

根目录file_id[](https://alist-doc.nn.ci/docs/driver/aliyundrive#根目录file_id "Direct link to heading")

打开阿里云盘官网,点进去你要设置的文件夹时url后面的一串,如https://www.aliyundrive.com/drive/folder/5fe01e1830601baf774e4827a9fb8fb2b5bf7940 就是5fe01e1830601baf774e4827a9fb8fb2b5bf7940
file_id

OneDrive

如果你的账号不支持API,(比如学校账号未验证管理员,或者是管理员禁用了API),那么你还可以通过webdav的方式来挂载。具体见 webdav

视频教程[](https://alist-doc.nn.ci/docs/driver/onedrive#视频教程 "Direct link to heading")

https://www.bilibili.com/video/BV1Rb4y1E7NV

First[](https://alist-doc.nn.ci/docs/driver/onedrive#first "Direct link to heading")

首先打开https://tool.nn.ci/onedrive/request

创建应用[](https://alist-doc.nn.ci/docs/driver/onedrive#创建应用 "Direct link to heading")

你也可以选择跳过此步,使用默认提供的client,但是需要组织管理员批准。
  • 在打开的页面,选择所在区域,点击创建应用
  • 登陆后选择「注册应用程序」,输入「名称」,选择「任何组织目录中的账户和个人」(注意这里不要看位置选择而是看文字,部分人可能是中间那个选项,不要选成单一租户或者其他选项,否则会导致登陆时出现问题),输入重定向 URL 为 https://tool.nn.ci/onedrive/callback ,「注册」即可,然后可以得到client_id
    client_id
  • 注册好应用程序之后,选择「证书和密码」,点击「新客户端密码」,输入一串密码,选择时间为最长的那个,点击「添加」
    (注:在添加之后输入的密码之后会消失,请记录下来 client_secret 的值)
    client_secret
  • 选择「API 权限」,点击 「MicroSoft Graph」,在「选择权限」中输入 file,勾选 「Files.read」(注:Files.read 是只读最小权限,图中权限较大,也同样可以),点击「确定」
    api

获取刷新令牌[](https://alist-doc.nn.ci/docs/driver/onedrive#获取刷新令牌 "Direct link to heading")

将上一步骤中获得的client_id和client_secret填入https://tool.nn.ci/onedrive/request 这个页面,点击获取刷新令牌,就可以得到刷新令牌了

获取Sharepoint site_id[](https://alist-doc.nn.ci/docs/driver/onedrive#获取sharepoint-site_id "Direct link to heading")

如果需要挂载Sharepoint,完成上一步后,在显示刷新令牌的界面会出现一个输入站点地址,输入站点地址后点击获取site_id即可。

添加账号[](https://alist-doc.nn.ci/docs/driver/onedrive#添加账号 "Direct link to heading")

将上述过程中获取得到的值依次填入即可。

根目录路径[](https://alist-doc.nn.ci/docs/driver/onedrive#根目录路径 "Direct link to heading")

默认为/,如果需要自定义,就填路径就行,从根路径开始,和本地路径一样,比如/test

天翼云盘

个人云[](https://alist-doc.nn.ci/docs/driver/189#个人云 "Direct link to heading")

使用189Cloud或者189CloudPc均可。区别为:

  • 189Cloud使用web端api
  • 189CloudPc使用客户端api

首选推荐使用 189CloudPC ,如正在使用189Cloud报错的重新添加一个189CloudPC即可修复

用户名[](https://alist-doc.nn.ci/docs/driver/189#用户名 "Direct link to heading")

即用于登陆的手机号

密码[](https://alist-doc.nn.ci/docs/driver/189#密码 "Direct link to heading")

即用于登陆的密码

排序与排序方向[](https://alist-doc.nn.ci/docs/driver/189#排序与排序方向 "Direct link to heading")

自行选择

根目录ID[](https://alist-doc.nn.ci/docs/driver/189#根目录id "Direct link to heading")

与阿里云盘类似,官网url最后面一串,如:

家庭云[](https://alist-doc.nn.ci/docs/driver/189#家庭云 "Direct link to heading")

使用189CloudPc

使用电脑浏览器,打开开发者工具,切换仿真设备选择手机设备,打开https://h5.cloud.189.cn/main.html#/family ,进入你想挂载的文件夹,可在网络中看到请求,然后找到所需参数:

189family

视频教程[](https://alist-doc.nn.ci/docs/driver/189#视频教程 "Direct link to heading")

https://www.bilibili.com/video/BV16A4y197De

添加天翼云盘时:设备ID不存在,需要二次设备校验[](https://alist-doc.nn.ci/docs/driver/189#添加天翼云盘时设备id不存在需要二次设备校验 "Direct link to heading")

可能是触发了防控,修改密码后重新添加。

谷歌云盘

谷歌云盘官方文档给出的说明较少
所以我也是自己瞎捣鼓的
昨天捣鼓好了今天就忘了
我也没办法了
官方给出的工具
利用工具捣鼓吧
希望有大佬可以在评论区留下方法
我捣鼓好了就忘了:xiaoku:

123云盘

https://www.123pan.com/

填写账号密码即可。

用户名[](https://alist-doc.nn.ci/docs/driver/123#用户名 "Direct link to heading")

即用于登陆的手机号

密码[](https://alist-doc.nn.ci/docs/driver/123#密码 "Direct link to heading")

即用于登陆的密码

根目录file_id[](https://alist-doc.nn.ci/docs/driver/123#根目录file_id "Direct link to heading")

与阿里云盘类似,官网url最后面一串,如:
123

蓝奏云

由于每个人的链接可能不一样,所以cookie挂载也需要填写share url,随便一个分享链接就可以。

cookie[](https://alist-doc.nn.ci/docs/driver/lanzou#cookie "Direct link to heading")

只填写外链分享地址与分享密码即可。
蓝奏云的分享只能分享一个文件夹内的文件,所以看不到文件夹是正常现象。
另外lanzou type记得选择为cookie

百度云盘

刷新令牌[](https://alist-doc.nn.ci/docs/driver/baidu#刷新令牌 "Direct link to heading")

点此获取刷新令牌。

根目录路径[](https://alist-doc.nn.ci/docs/driver/baidu#根目录路径 "Direct link to heading")

要挂载的根目录,默认为/

Download api[](https://alist-doc.nn.ci/docs/driver/baidu#download-api "Direct link to heading")

  • official: 官方接口,非常稳定,但是对于较大文件需要修改UA且速度慢
  • crack:非官方接口,无需修改UA且部分文件可能不限速,但是可能会不稳定

    夸克网盘


找到如图的这个
然后pdir_fid后的为根目录file_id
往下翻即可翻找到cookie

迅雷网盘

下载报错临时解决方案[](https://alist-doc.nn.ci/docs/driver/thunder#下载报错临时解决方案 "Direct link to heading")

访问xxxxxx-aliyun04-vip-lixian.xunlei.com的请求遭到拒绝

您未授权,无法查看此网页

HTTP ERROR 403

  1. 可以下载器手动指定ua AndroidDownloadManager/11 (Linux; U; Android 11; M2004J7AC) (链接不限速)
  2. 或者后台设置ua为 AndroidDownloadManager/11 (Linux; U; Android 11; M2004J7AC) Alist添加账号里面开启代理,需要重启alist(链接限速)
    以上两个选项就是这个问题的临时解决方法

推荐你看这个视频来了解如何添加:[](https://alist-doc.nn.ci/docs/driver/thunder#推荐你看这个视频来了解如何添加 "Direct link to heading")

https://www.bilibili.com/video/BV1yu411z7ZF/## 纯享版-一镜到底:[](https://alist-doc.nn.ci/docs/driver/thunder#纯享版-一镜到底 "Direct link to heading")

https://www.bilibili.com/video/BV18v4y1N7AY/## 图片操作[](https://alist-doc.nn.ci/docs/driver/thunder#图片操作 "Direct link to heading")

XunLei1


XunLei2


XunLei3


XunLei4

不填默认为根目录

其他网盘

如果你还想添加其他网盘账号请查看官方文档

其他功能

Alist后台选择元消息 即可自定义一些功能
如 密码查看 隐藏文件 游客自行上传文件等等

其他的我不需要赘述
路径的话教大家一个笨方法

比如我想加密这个文件夹
只需要复制我加深那段文字丢到后台路径那里即可.

再例如我想隐藏这个路径下
045922.mp4这个文件只需要如图这样子填写
简单易懂

教程就到这里了