--- layout : post title : "WebDAV万能转换器:Alist" subtitle : "ALL IN ONE" date : 2022-12-19 22:18:45 author : "Manford Fan" catalog : false header-img : "img/post-bg-universe.jpg" tags : - Alist - Server - WebDAV - Cloud - Storage - Disk --- > ***A file list program that supports multiple storage, powered by Gin and Solidjs.*** 如上是`Alist`的官方描述,即一个支持多种存储的文件列表程序,乍一听好像跟`rclone`功能重复了?在某种程度上确实是的,他们都支持将各种网盘和云存储转换成另一种形式,`Alist`是将各种存储转换成Web页面管理或者WebDAV,而`rclone`则是将各种云存储或者WebDAV映射到系统上。所以,这样看来,他们可以进行配合,中介就是***WebDAV***。 ![alist_support](/img/posts/alist_support.png 'alist_support') ## 一、安装配置 这部分不需要多说,因为在官方网站,开发者给出了各种配置方式,个人感觉最简单的就是[一键安装脚本](https://alist.nn.ci/zh/guide/install/script.html#%E8%87%AA%E5%AE%9A%E4%B9%89%E8%B7%AF%E5%BE%84)的方式,并且指定安装目录。这种方式还可以自动的配置好开机启动的服务,后续在配置一个Nginx反向代理就齐活了,从如下配置可以看出`alist`服务用的是5244端口。 ```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_set_header Range $http_range; proxy_set_header If-Range $http_if_range; proxy_redirect off; proxy_pass http://127.0.0.1:5244; # the max size of file to upload client_max_body_size 20000m; } ``` ## 二、网盘配置 Alist支持非常多的网盘应用,以天翼云盘为例(一定选天**翼云盘客户端**),一开始登陆的时候需要手动设定Admin的密码,在此之前有一个默认密码,需要在服务器段使用`./alist admin`来获取,登录上之后再修改密码就没有问题了。`alist`有管理界面以及内容界面,首次访问的时候会报错,是因为没有配置登录信息,没有配置存储等。如下是配置界面,配置完成之后,点击**主页**就可以看到天翼网盘已经加载成功。 ![alist_manage](/img/posts/alist_manage.png 'alist_manage') ![alist_content](/img/posts/alist_content.png 'alist_content') > 配置存储的时候,对于本地存储,webDAV策略选择本地代理,对于云存储,webDAV策略选择302重定向。 ## 三、WebDAV转换 越来越觉得WebDAV协议真的是神一般的协议,也相信这个协议是被有些厂商故意打压,以至于现在不能完完全普及发挥它的作用。WebDAV的作用就是将网络上的一个文件夹通过`webdav`协议转换成一条可登录的URL,在支持`webdav`协议的软件上配置登录之后就可以访问该文件夹里的内容。Alist也支持将已经配置好的各种[云存储生成WebDAV链接](https://alist.nn.ci/zh/guide/webdav.html)。 简单说就是,在反向代理网址后面增加一个`dav`子目录,比如`https://alist.rustle.cc/dav`,登录用户名和密码就是该网站登陆凭证信息。然后`rclone`就可以发挥作用了,*[That's another story~](https://blog.rustle.cc/2022/11/20/rclone/)* ## 四、使用体验 有些人认为Alist这个应用是比较鸡肋的,可能大概的想法是没有Alist,其他云盘也能正常使用,有了Alist也只不过把分散的各个云盘聚合起来。我个人是不太赞同这种看法,简单粗暴点,从Github上该项目的Star数量就可以看出受欢迎程度,该项目斩获12k的Star,足以说明问题。 另外就是个人使用方面,功能实现是完全没有问题,主要是浏览/传输文件的时候,不会像本地硬盘那么流畅,尤其是通过`rclone`挂载到Linux服务器下面的时候,卡顿感非常明显!但由于该应用是基于网络的,自然对网络条件有一定的要求,如果想要获得良好顺畅的体验,端到端的网络一定要畅通。 ## 五、参考文档 - [Alist使用指南](https://alist.nn.ci/zh/) - [Alist Github](https://github.com/alist-org/alist)