暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Alist 文件列表程序

生有可恋 2023-01-08
4677

Alist 是一个扩展性很强的文件列表程序,有很多人将其做成了资源分享站点,其中就用到了它支持各种网盘接入的功能。

对于普通用户,我们可以把它当成加强版的web文件浏览器。比如一般的web服务器通过简单配置后可以显示文件索引,基本上就是一个带文件列表的服务器了。不想搭web服务的,通过 python 提供的简易web服务也可以提供文件列表的服务:

    python3 -m http.server 8080

    Alist 具备更多高级功能,比简单的web索引要更强大一些,可以提供上传、下载,并具备资源整合作用。我们看下在 Linux 下如何搭建。

    从 Alist 的 github release 下载页面下载的是一个打好包的可执行文件,

      https://github.com/alist-org/alist/releases

      alist 可执行文件对 glibc 有版本依赖,要求 glibc 版本大于等于2.28

        $ ./alist server
        ./alist: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by ./alist)

        通过 ldd 工具可以检查当前主机的 glibc 版本:

          $ ldd --version
          ldd (Ubuntu GLIBC 2.23-0ubuntu10) 2.23
          Copyright (C) 2016 Free Software Foundation, Inc.
          This is free software; see the source for copying conditions. There is NO
          warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
          Written by Roland McGrath and Ulrich Drepper.

          通过检查 ldd 版本可以推导出 glibc 的版本,当前宿主机的 glibc 版本为 2.23,不支持运行 alist。这里就体现出 docker 方式部署软件的优势,可以隔离很多基础环境。当然我们不打算使用 docker 方式部署,毕竟这里需要用到主机资源,并且 alist 并不复杂,全部文件只有一个 alist 可执行文件。

          重新准备宿主机环境后,启动 alist 服务:

            $ ldd --version
            ldd (Ubuntu GLIBC 2.35-0ubuntu3.1) 2.35
            Copyright (C) 2022 自由软件基金会。
            这是一个自由软件;请见源代码的授权条款。本软件不含任何担保;甚至不保证适销性
            或者适合某些特殊目的。
            由 Roland McGrath 和 Ulrich Drepper 编写。


            $ ./alist server
            INFO[2023-01-07 17:00:23] reading config file: data/config.json
            INFO[2023-01-07 17:00:23] config file not exists, creating default config file
            INFO[2023-01-07 17:00:23] load config from env with prefix: ALIST_
            INFO[2023-01-07 17:00:23] init logrus...
            INFO[2023-01-07 17:00:23] Successfully created the admin user and the initial password is: xxxxxxxxx
            WARN[2023-01-07 17:00:23] not enable search
            INFO[2023-01-07 17:00:23] start server @ 0.0.0.0:5244
            INFO[2023-01-07 17:00:23] Aria2 not ready.




            执行 ./alist server 成功启动 alist 服务,默认端口为 5244 ,刚登录时报 failed get storage 的错,原因是还没有添加存储。

            在页面的底部有一个登录入口,输入 console 上提示的用户名和密码即可登录至管理后台。

            在管理后台可以添加存储,以及管理用户。默认的 guest 游客账户不需要密码即可访问文件列表,但只能下载不能上传。而其它用户则有上传和删除权限。

            在存储的驱动类型中,除了各种网盘,比较通用的就是webDAV和本地存储。本地存储就是实际磁盘的路径,通过添加多个本地路径,可以把不同路径的资源挂载在一个 alist 网站上。同时也可以配合 webDAV 把各种网盘资源挂到 alist 站点。我们这里使用的是内部网盘 cloudreve 提供的 webDAV 信息。

            存储挂载后的效果如下:

            在 alist 主页可以看到实际挂载的目录:

            试了一下打包下载没有成功,提示还需要做其它配置,单文件下载没有问题。

            上传操作也比较奇怪,需要在右下角操作,相对操作易用性来说,没有 cloudreve 的 web页面操作方便。

            alist 的优点在于各种存储驱动集成,但文件列表的上传、下载操作并不是特别流畅,估计还需要多读读官方文档进行配置。不过它挺适合游客身份只在线浏览器,不批量下载。

            全文完。

            如果转发本文,文末务必注明:“转自微信公众号:生有可恋”。

                  

            文章转载自生有可恋,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

            评论