目录列表程序AList使用教程-最新版v2.0.5

一只鱼 2年前 (2021) 一只鱼
3,339 0


简介
AList是一款支持多种存储的目录文件列表程序,后端基于go-fiber,前端使用react。

点击链接加入群聊【Alist使用交流】:https://jq.qq.com/?_wv=1027&k=OVPJcv2b
或搜索群号:920516758

项目地址
https://github.com/Xhofe/alist
https://github.com/Xhofe/alist-web
预览
https://alist.nn.ci (稳定版本,即Github Release的最新版本)
https://alist.now.sh (开发版本,随着GitHub提交更新)
目录列表程序AList使用教程-最新版v2.0.5
部署
手动部署
运行起来
打开AList Release下载要部署的系统对应的文件
解压下载对文件得到可执行文件:tar -zxvf alist-xxxx.tar.gz(Linux)
赋予程序执行权限:chmod +x alist-xxxx
运行程序:./alist-xxxx
完成,后台默认密码为alist
守护进程
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-xxxx -conf conf.yml
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
使用Docker
开发版:docker run -d –restart=always -p 5244:5244 –name="alist" xhofe/alist:v2
稳定版:docker run -d –restart=always -p 5244:5244 –name="alist" xhofe/alist:latest
指定版本:具体见https://hub.docker.com/r/xhofe/alist
源码运行
首先需要有nodejs、yarn、golang>1.17的环境

构建前端
clone https://github.com/Xhofe/alist-web 这个项目,执行yarn&& yarn build,得到dist目录下的目标文件

构建后端
将上一步dist目录下的文件全部拷贝至 https://github.com/Xhofe/alist 项目下的public目录,然后:

appName="alist"
builtAt="$(date +'%F %T %z')"
goVersion=$(go version | sed 's/go version //')
gitAuthor=$(git show -s --format='format:%aN <%ae>' HEAD)
gitCommit=$(git log --pretty=format:"%h" -1)
gitTag=$(git describe --long --tags --dirty --always)
ldflags="\
-w -s \
-X 'github.com/Xhofe/alist/conf.BuiltAt=$builtAt' \
-X 'github.com/Xhofe/alist/conf.GoVersion=$goVersion' \
-X 'github.com/Xhofe/alist/conf.GitAuthor=$gitAuthor' \
-X 'github.com/Xhofe/alist/conf.GitCommit=$gitCommit' \
-X 'github.com/Xhofe/alist/conf.GitTag=$gitTag' \
"
go build -ldflags="$ldflags" alist.go

反向代理
程序默认监听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;
    }

使用
添加账号
所有账号的必填项:

name(名称):唯一标识符,也是当有多个账号时展示的路径
index(索引):当有多个账号时,用于排序,越小越靠前
proxy(带理):是否允许服务器中转下载
本地存储
只需填写根目录路径即可,可以是绝对路径,也可以是程序所在的相对路径

阿里云盘
refresh_token(刷新令盘):如何获取参见https://media.cooluc.com/decode_token/
根目录file_id:打开阿里云盘官网,点进去你要设置的文件夹时url后面的一串,如https://www.aliyundrive.com/drive/folder/5fe01e1830601baf774e4827a9fb8fb2b5bf7940就是5fe01e1830601baf774e4827a9fb8fb2b5bf7940
order_by(排序):可选值为name,size,updated_at,created_at
order_direction(排序方向):可选ASC(正序),DESC(倒序)
Onedrive
打开https://tool.nn.ci/onedrive/request

创建应用
在打开的页面,选择所在区域,点击创建应用
登陆后选择「注册应用程序」,输入「名称」,选择「任何组织目录中的账户和个人」(注意这里不要看位置选择而是看文字,部分人可能是中间那个选项,不要选成单一租户或者其他选项,否则会导致登陆时出现问题),输入重定向 URL 为 https://tool.nn.ci/onedrive/callback,「注册」即可,然后可以得到client_id
注册好应用程序之后,选择「证书和密码」,点击「新客户端密码」,输入一串密码,选择时间为最长的那个,点击「添加」
(注:在添加之后输入的密码之后会消失,请记录下来 client_secret 的值)
获取刷新令牌
将上一步骤中获得的client_id和client_secret填入https://tool.nn.ci/onedrive/request 这个页面,点击获取刷新令牌,就可以得到刷新令牌了

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

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

元信息(meta)设置
此处的path(路径)是访问alist页面时的pathname,如要设置https://alist.nn.ci/本地存储则路径是/本地存储

设置密码
填写密码字段即可

隐藏文件/文件夹
填写hide字段,填写要隐藏的文件(夹)名称,以,分隔,比如要隐藏https://alist.nn.ci/本地存储下的README.md和index.tsx文件,则填写README.md,index.tsx即可。

常见问题
视频播放不了?
如果是阿里云先自查一下是否使用的是移动端的token。然后检查一下是不是编码不支持,h5不支持h265等编码视频,ac3等编码音频,Safari不支持的更多,建议使用软件播放。
获取中转链接?
允许中转之后,复制对应文件直链,将/d改成/p即可。

版权声明:一只鱼 发表于 2021-11-12 7:24:03。
转载请注明:目录列表程序AList使用教程-最新版v2.0.5 | 轻谈浅唱 – Mi导航

暂无评论

暂无评论...