简介
AList是一款阿里云盘的目录文件列表程序
项目地址:
一键脚本
仅支持Linux-x86_64/aarch64平台。
安装
curl -fsSL "https://ios98.com/alist.sh" | bash -s install
DANGER
已经安装过再次执行安装会删除之前的数据,更新请使用更新命令。
更新
curl -fsSL "https://ios98.com/alist.sh" | bash -s update
卸载
curl -fsSL "https://ios98.com/alist.sh" | bash -s uninstall
自定义路径
默认安装在/opt/alist
,要自定义安装路径,添加安装路径为第二个参数,必须是绝对路径(路径以alist结尾时直接安装到给定路径,否则会安装在给定路径alist目录下),如安装到/root
:
# 安装
curl -fsSL "https://ios98.com/alist.sh" | bash -s install /root
# 更新
curl -fsSL "https://ios98.com/alist.sh" | bash -s update /root
# 卸载
curl -fsSL "https://ios98.com/alist.sh" | bash -s uninstall /root
配置文件
config.json
address
监听地址
port
监听端口
assets
使用的静态资源位置。这是动态可变化的,现有的静态资源在 npm 和 GitHub 上都有托管,它们的位置分别是:
所以你可以使用任何 npm 或者 github 的 cdn 来作为路径。默认使用饿了么反代的 unpkg 的 cdn(阿里云 cdn):https://npm.elemecdn.com/alist-web@$version/dist/ ,$version
在程序中会自动替换为前端的发行版本。在这里列举一些其他的可用的 assets:
NPM
jsdelivr npm
: https://cdn.jsdelivr.net/npm/alist-web@$version/dist/unpkg npm
: https://unpkg.com/alist-web@$version/dist/tianli jsdelivr npm(腾讯云cdn)
: https://cdn1.tianli0.top/npm/alist-web@$version/dist/
GitHub
jsdelivr github
: https://cdn.jsdelivr.net/gh/alist-org/assets@$version/dist/tianli jsdelivr github(腾讯云cdn)
: https://cdn1.tianli0.top/gh/alist-org/assets@$version/dist/
本地
本地
: /
自定义
两种方法:
- 反代jsdelivr,然后将jsdelivr的npm或者github的cdn中的host换成自己的
- 在https://github.com/alist-org/alist-web/releases 下载编译好的文件放到你的空间上,然后此处的assets填写你存放的位置的链接(到dist/这一级)
database
数据库相关设置
type
数据库类型,可选sqlite3
、mysql
、postgres
user
数据库用户名
password
数据库密码
host
数据库地址
port
数据库端口
name
数据库名称
table_prefix
数据库表前缀(针对多个应用程序使用一个数据库)
db_file
数据库文件,对于 sqlite3
ssl_mode
- sqlite3:忽略该参数
- mysql:等同于https://github.com/go-sql-driver/mysql#tls
- postgres: 即同名参数,具体见https://github.com/jackc/pgconn/blob/b7a85d1a6fc58df695e8cf0571ebf4e7dab921d5/config.go#L576
scheme
协议
https
是否开启 https
cert_file
证书文件
key_file
密钥文件
cache
缓存相关
expiration
缓存失效时间(单位:分钟)
cleanup_interval
清理失效缓存间隔
前端设置
标题
网页显示的标题
logo
左上角的LOGO,可填两个使用,
分开,分别表示light和dark的两个logo。
favicon
浏览器标签页显示的小图标
图标颜色
前端显示的图标与Loding的颜色
文本类型
预览的时候以文本模式打开的后缀,以,
分隔
隐藏文件
匹配正则表达式隐藏的文件,如果你不懂不要乱填,错误的正则表达式会导致前端页面崩溃,每行一个,默认有一个隐藏所有目录下的README.md
的示例表达式
音乐封面
播放音乐的时候没有缩略图显示的封面
站点备案
如果是备案的站点,可以填写备案号
home readme url
当有多个账号时,首页显示的readme的url,可以使用某个账号中的readme,操作如下:
- 复制某个账号内的markdown文件直链
- 将直链中的
/d
改为/p
,如演示站中的:https://alist.xhofe.top/p/本地存储/README.md
自动播放视频
预览视频时,无需手动点击播放,自动开始
自动播放音频
预览音频时,无需手动点击播放,自动开始
自定义头部
任意内容需要自己包含标签,自动放置在网页的head开始处
自定义body
任意内容需要自己包含标签,自动放置在网页的body结束处
home emoji
导航栏Home前面显示的emoji,可以不填
动画
文件列表弹出的动画,当文件数量居多时,显示动画会导致卡顿
artplayer whitelist
refer to https://artplayer.org/document/options#whitelist
artplayer autoSize
refer to https://artplayer.org/document/options#autosize
load type
加载方式,可选四种:
- all: 加载全部
- load more: 显示一个加载更多按钮
- auto load more: 滑动到底部自动加载更多
- pagination: 显示分页
default page size
当load type不为all时的每页数量
后端设置
密码
后台登陆密码
检查父文件夹密码
启用后,如果当前文件夹未设置密码,会递归检查父文件夹是否有密码,直至检查到第一个密码或到根目录停止。
check down link
用于加密直链,开启后直链会携带一个名为pw或sign(管理员)的query参数
d_proxy types)
单独的文件类型只走代理
ocr api
用于识别验证码
账号基本配置
所有账号的通用项
虚拟路径
必填,唯一标识符,即你要挂载到的位置,如果你要挂载到根目录,即为/
index(索引)
当有多个账号时,用于排序,越小越靠前
proxy(代理相关)
一个有三个相关选项:
- proxy:网页端和直链走不走中转
- webdav_proxy:webdav文件下载走不走中转
- webdav_direct:webdav是否直接由本机中转
如果没有proxy和webdav_proxy选项,则说明只能走中转
存储分可以直接请求(有proxy开关)和不可以直接请求的(无proxy开关) 不可以直接请求的会直接走程序所在服务器(如果你没有填down_proxy_url) 可以直接请求的:
- proxy关、webdav_proxy关:文件下载请求完全不走服务器
- proxy开、webdav_proxy关:网页上的预览、直链下载都走服务器,但webdav下载不走服务器
- proxy关、webdav_proxy开:网页上的预览、直链下载不走服务器,但webdav下载走服务器
- proxy开、webdav_proxy开:网页预览、直链下载和webdav下载都走服务器。
- webdav_direct: 如果打开此开关,则webdav文件直接由本机中转,且不经过302跳转。如果此项关闭且打开webdav_proxy,webdav客户端在get文件时可能会经过多次302跳转。因为部分客户端可能不支持302跳转get文件,所以打开此开关可能会提示部分客户端的兼容性。
down_proxy_url(下载代理地址)
不填此字段开启代理时,默认使用本机进行中转。提供两种代理方法:
cloudflare workers
可以使用cloudflare workers
进行代理,此处填写cloudflare workers
地址即可。 workers代码可以在https://github.com/alist-org/alist-proxy/blob/main/alist-proxy.js 找到。其中:
- HOST: 你的Alist地址,必须添加协议头,且后面不能添加/。如
https://alist.nn.ci
; - TOKEN:参见Alist部分的Token。
通用二进制
你也可以使用另外一台机器进行代理,在https://github.com/alist-org/alist-proxy/releases 下载程序
./alist-proxy -help
查看使用方法。
你也可以自己开发代理程序,一般的步骤为:
- 下载时会请求
PROXY_URL/path?sign=sign_value
- 在代理程序中验证sign,sign的计算方式为:
const name = path.split('/').pop();
const sign = md5(`alist-${TOKEN}-${name}`).slice(8, 24)
- 验证sign无误后,请求
HOST/api/admin/link
,可以得到文件的URL与需要携带的请求头 - 使用得到的信息请求并返回
api_proxy_url(API代理地址)
同down_proxy_url,请求API使用的代理,专门为GoogleDrive和PikPak等国内无法直接访问的存储准备。
extract_folder
- front: 排序时将文件夹全部放到最前面
- back: 排序时将文件夹全部放到最后面
示例样式
自定义主体宽度
<style>
@media screen and (min-width: 62em) {
.root-box {
width: 1300px !important;
}
}
</style>
无边框阴影
<style>
.chakra-ui-light{
background-color: #edddfd;
}
.main-box {
border-radius: 15px !important;
box-shadow: unset !important;
}
.chakra-ui-light .main-box {
background-color: rgba(255,255,255,0.9) !important;
}
.chakra-ui-light .readme-box {
background-color: rgba(255,255,255,0.9) !important;
}
.readme-box {
border-radius: 15px !important;
box-shadow: unset !important;
}
</style>
仿大白样式
<style>
.chakra-ui-light{
background-image: linear-gradient(120deg,#e0c3fc 0%,#8ec5fc 100%) !important;
background-attachment: fixed;
}
.main-box {
border-radius: 15px !important;
}
.chakra-ui-light .main-box {
background-color: white !important;
}
.chakra-ui-light .readme-box {
background-color: white !important;
}
.readme-box {
border-radius: 15px !important;
}
</style>
随机二次元背景图样式
<style>
.chakra-ui-light{
background-image: url("https://www.dmoe.cc/random.php") !important;
background-repeat:no-repeat;background-size:cover;background-attachment:fixed;background-position-x:center;
}
.main-box {
border-radius: 15px !important;
}
.chakra-ui-light .main-box {
background-color: #ffffff70 !important;
}
.chakra-ui-light .readme-box {
background-color: white !important;
}
.readme-box {
border-radius: 15px !important;
}
</style>
<script src="https://eqcn.ajz.miesnfu.com/wp-content/plugins/wp-3d-pony/live2dw/lib/L2Dwidget.min.js"></script>
<script>
L2Dwidget.init({
"model": {
jsonPath: "https://blog.imlete.cn/live2d/assets/weier.model.json",<!--这里改模型,前面后面都要改-->
"scale": 0.8
},
"display": {
"position": "right",<!--设置看板娘的上下左右位置-->
"width": 50,
"height": 100,
"hOffset": 50,
"vOffset": -10
},
"mobile": {
"show": true,
"scale": 0.5
},
"react": {
"opacityDefault": 1,<!--设置透明度-->
"opacityOnHover": 0.2
}
});
</script>
猛男风格
<!--head-->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=ZCOOL+XiaoWei&display=swap" rel="stylesheet">
<style>
*{font-family:'ZCOOL XiaoWei',serif}div.footer.css-3m0ceo{display:none!important}#root,.App,body,html{min-height:70vh;margin:0;padding:0;margin-top:1%!important}.chakra-ui-light{background-color:#fff}.main-box{border-radius:15px!important;box-shadow:unset!important}.chakra-ui-light .main-box,.chakra-ui-light .readme-box{background-color:rgba(255,255,255,.8)!important}.readme-box{border-radius:15px!important;box-shadow:unset!important}body{background-size:cover!important;background-position:center top!important;background-attachment:fixed!important}.chakra-breadcrumb__list li,.chakra-breadcrumb__list li a{color:#000!important}.css-neion{color:#ffb6c1!important}.chakra-stack button{color:#fff!important}.chakra-stack .list-title p,.overlay button{color:#ffb6c1!important}a:hover{color:#f9cfec!important}.css-g9cw6v a,.footer span{display:none!important}.foot{line-height:40px;position:fixed;bottom:0;width:100%;text-align:center;letter-spacing:1px}dibu{border-top:0;position:absolute;bottom:0;width:100%;margin:0;padding:0}#bg{-moz-transform:scale(1);-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);-webkit-backface-visibility:hidden;position:fixed;top:0;left:0;width:100%;height:100vh;z-index:-1}#bg:after,#bg:before{content:'';display:block;position:absolute;top:0;left:0;width:100%;height:100%}#bg:before{-moz-transition:background-color 2.5s ease-in-out .75s;-webkit-transition:background-color 2.5s ease-in-out .75s;-ms-transition:background-color 2.5s ease-in-out;transition:background-color 2.5s ease-in-out .75s;-ms-transition-delay:.75s;background-image:linear-gradient(to top,rgba(255,255,255,.7),rgba(255,255,255,.7)),url(https://jitsu.oss-cn-beijing.aliyuncs.com/home/img/overlay.png);background-size:auto,256px 256px;background-position:center,center;background-repeat:no-repeat,repeat;z-index:2}#bg:after{-moz-transform:scale(1.125);-webkit-transform:scale(1.125);-ms-transform:scale(1.125);transform:scale(1.125);-moz-transition:-moz-transform 325ms ease-in-out,-moz-filter 325ms ease-in-out;-webkit-transition:-webkit-transform 325ms ease-in-out,-webkit-filter 325ms ease-in-out;-ms-transition:-ms-transform 325ms ease-in-out,-ms-filter 325ms ease-in-out;transition:transform 325ms ease-in-out,filter 325ms ease-in-out;background-image:url(https://iw233.cn/API/pc.php);background-position:center;background-size:cover;background-repeat:no-repeat;z-index:1}@media screen and (max-width:960px){#bg:after{-moz-transform:scale(1.125);-webkit-transform:scale(1.125);-ms-transform:scale(1.125);transform:scale(1.125);-moz-transition:-moz-transform 325ms ease-in-out,-moz-filter 325ms ease-in-out;-webkit-transition:-webkit-transform 325ms ease-in-out,-webkit-filter 325ms ease-in-out;-ms-transition:-ms-transform 325ms ease-in-out,-ms-filter 325ms ease-in-out;transition:transform 325ms ease-in-out,filter 325ms ease-in-out;background-image:url(https://iw233.cn/API/mp.php);background-position:center;background-size:cover;background-repeat:no-repeat;z-index:1}}
</style>
<!--body-->
<div id="bg">
<!--如需修改请自行将代码格式化-->
或者
<!--head-->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/anosu/anosu.github.io@main/cdn/css/alist/style.css">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<!--body-->
<div id="bg">
示例脚本
默认暗色
<script async id="default-theme" src="https://api.xhofe.top/js/alist-theme.js" theme="dark"></script>
默认亮色
<script async id="default-theme" src="https://api.xhofe.top/js/alist-theme.js" theme="light"></script>
本教程来自https://alist-doc.nn.ci/,如有侵权,请联系我删除
感谢您的来访,获取更多精彩文章请收藏本站。
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
- 最新
- 最热
只看作者