程序
后端程序 https://github.com/Xhofe/alist
前端程序 https://github.com/Xhofe/alist-web
演示
Feihong's Drive https://cloud.feihong.me
以上演示地址由 Feihong 提供。
需要
- 宝塔面板
- Nginx
- Supervisor管理器
部署
1.进入宝塔面板 -> 网站 -> 添加站点
- 域名:填写列表程序的将要使用域名
- FTP:不创建
- 数据库:不创建
- PHP版本:纯静态
2.创建好后直接进入网站根目录,删除里面的404.html、index.html
3.去AList Release(https://github.com/Xhofe/alist/releases) 下载对应系统的程序后端,上传至根目录并解压
PS:也可以直接点击目录列表左上角的远程下载,URL添加下载地址
4.前往AList-Web Release(https://github.com/Xhofe/alist-web/releases) 下载打包好的前端,解压得到一个dist目录放到alist同级目录下,具体操作同上。
5.在同级目录下新建一个conf.yml配置文件,复制以下内容到该文件中:
info:
title: GXNAS网盘 #网盘的标题
logo: https://pan.gxnas.com:1443/static/img/alist.bcb68ba0.png #网站logo外网链接
footer_text: GXNAS博客 #网盘首页底部文字
footer_url: https://wp.gxnas.com #网盘首页底部文字的链接
music_img: https://img.oez.cc/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
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,把上一步骤获取到refresh_token填写上来
root_folder: root #默认为阿里云网盘的根目录,如果想使用子文件夹做为根目录的,此处需要填写在第20步获取到root_folder的id
name: drive0 #网盘的名称,如果要挂载多个网盘,此名称不可以重复。drive0只是示例,不是一定要用这个名字,可随意修改
password: '' #访问该网盘需要输入的密码。留空(填写'')则访问该网盘不需要密码,修改需要重启生效
hide: false #是否在主页隐藏该盘,不可全部隐藏,至少要显示一个
- refresh_token: xxx #只有一个盘的话,该段完全可以删除。如果有多个网盘,请按照上面的规则继续添加
root_folder: root
name: drive1
password: pass
hide: false
database:
type: sqlite3
dBFile: alist.db
6.获取refresh_token,登录云盘: (https://www.aliyundrive.com/)
7.打开开发者工具(F12),刷新页面,切换到Application选项卡,点开Local storage,会有一个Token项,点开就可以看到refresh_token,保存后面数值。
8.填入刚获取到的refresh_token,填写到第 5 步中配置文件中对应的值,其他值根据需要可以修改,也可以默认。
9.如果你现在配置完成后网站根目录下应该有两个文件 alist、conf.yml 和一个 dist 文件夹。
PS如果你不是宝塔面板,请在该文件夹下面执行下面的命令(Linux)如果不是宝塔可以用运行以下命令执行启动。
chmod +x alist
nohup ./alist >log.log 2>&1 &
10.宝塔面板 -> 软件商店 -> 搜索Supervisor管理器守护进程并安装。
11.设置Supervisor并确定。
- 名称:Alidrive
- 启动用户:root
- 运行目录:填写网站目录(例如:/www/wwwroot/ali/)
- 启动命令:nohup ./alist >log.log 2>&1 &
- 进程:1
浏览
现在可以浏览器中打开:服务器IP:5244进行访问了。
问题解答
1.首次运行网页会显示报错
不要慌,点一下下面的“重构目录”,输入目录深度(根据实际情况填写,-1为不限制深度的全搜索)和配置文件设置的重建目录密码,点“OK”
2.如何给文件夹设置密码?
登录阿里云网盘网站的管理后台,在要加密的目录名称后面加上.password-密码,列表中会自动消除后面的密码部分。
3.如何隐藏文件夹
在要隐藏的文件夹名称后面加上.hide即可。
4.如何重建目录树
点击网页底部的rebuild(重构目录)按钮,输入配置文件中设置的server.password确定即可。
5.如何设置根目录?
修改配置文件中的ali_drive.root_folder 为想要设置的文件夹的file_id即可。文件夹的file_id是什么?根目录就是root,其他目录为点进文件夹之后的url中folder/后面那一串
6.如何自定义网页底部链接?
修改配置文件中的footer_text和footer_url为要设置的内容,或者不填则不会显示。
7.怎么复制文件直链?
点进文件,右上角有复制直链的按钮。
8.修改网站icon?
上传你自己想替换的的favicon.ico,把配置里面改成你自己 http:// 格式的网盘链接即可。
9.为什么新上传的文件不显示/删除了的文件还在?
列表展示的是本地数据库里的数据,更新文件之后需要重建。
10.运行显示检查更新之后直接报错?
可能是无法访问到GitHub的api,可以在命令行后面加上-skip-update跳过检查更新。
11.怎么指定路径重建?
在哪个路径点rebuild(重构目录)就是在哪里重建。
12.重建目录提示“The input parameter limit is not valid. limit should be less than 200”报错的解决?
把配置文件的 max_files_count: 后面的数字改成 200。