Github 工具推荐 (一): Alist 一个支持多种存储的文件列表程序

偏向技术
/ 0 评论 / 146 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2023年05月27日,已超过514天没有更新,若内容或图片失效,请留言反馈。

网盘管理一直是一个麻烦的事情,因为不同的厂商都有自己的管理后台,如果有一款工具可以兼容不同的厂商,进行统一管理那就好了,Alist 正是这样一款工具,将多个不同的网盘集中在一起进行操作,而且又兼具了个人隐私安全。

Alist 是一个支持多种存储的文件列表程序,它易于安装,开箱即用,UI 美观,文档友好,支持密码保护机制,项目开源在 Github 上,它支持阿里云盘、OneDrive、GoogleDrive、123云盘、PikPak、S3、百度网盘、夸克网盘、迅雷网盘、115、蓝奏云等多种存储方式

安装

以 Windows 上为例

使用容器

推荐使用 docker-compose 进行安装,第一次推荐执行 docker-compose up,同时查看日志,顺利访问后,先 down 掉 docker-compose down,再启用 docker-compose up -d

yaml
version: '3.3'
services:
    alist:
        restart: always
        volumes:
            - '/etc/alist:/opt/alist/data'
        ports:
            - '5244:5244'
        environment:
            - PUID=0
            - PGID=0
            - UMASK=022
        container_name: alist
        image: 'xhofe/alist:main'
1234567891011121314

包管理工具

使用包管理工具的问题的是不会自动启动,经常需要手动启用,有一种方式可以使用开机启动脚本,但是推荐在需要使用 alist 的时候再去启用

winget

powershell
# 查找 alist 应用
winget search alist
# 安装 alist 应用
winget install Alist.Alist
# 更新
winget upgrade Alist.Alist
123456

scoop

powershell
# 查找 alist 应用
scoop search alist
# 安装 alist 应用
scoop install alist
# 更新
scoop update alist
123456

注册为服务,并设置为开机启动

powershell
# 安装 nssm
winget install NSSM.NSSM
# 注册为服务,开机启动
nssm install Alist alist start
1234

使用

Pasted image 20230526224021

Pasted image 20230526223945

个人隐私

曾经在网上遇到过一个公开 alist 访问的站点,站长本人将他学生时代乃至毕业后工作的资料、APP数据等全都保存在网盘里面,然后通过 alist 设置成了公开访问,这种操作是极其不安全的,那时候还没有游客这一说

如果 alist 支持公网访问,使用 alist 的一个好的思路是如果网盘只存储了影视剧等可公开数据,那么放开游客访问是可以的,如果不是,建议还是禁止游客用户,并且添加一个其他的用户,限制一些权限,再将账号分享给朋友或者其他人,如果是主要存储个人数据的网盘,一定要设置好密码和元信息,禁止游客用户,可以避免被网络爬虫爬取数据,理由是默认的 /robots.txt 是允许爬虫爬取网站数据的

播放器挂载

以 Potplayer 为例,添加 Alist 可以很方便的打开影音视频

本地盘挂载

这里使用 Rclone 进行挂载,而不是使用 Windows 自带的,理由是 Windows 自带的需要进行注册表修改,且不支持大文件下载,打开视频会出错

rclone 通过 winget 命令进行下载,除此之外,还需要安装一个依赖 WinFsp,相比其他方式安装,强烈推荐使用 Winget,谁用谁 happy

powershell
winget install Rclone.Rclone
winget install WinFsp.WinFsp
12

配置视频如下:

视频中的执行命令如下,注意修改其中的名称,以及缓存路径,还需要注意的是,由于 Referer 限制原因,只单独添加了 webdav 下面的阿里云盘,需要将 url 设置为自己阿里云盘对应的路径 http://localhost:5244/dav/阿里云盘2,如果是其他云盘,则需要取消 --header 这个属性

bash
rclone mount aliyun2:/ X: --vfs-cache-mode writes --cache-dir D:\projects_2023\rclone-alist\cache\aliyun2 --no-check-certificate --default-permissions --header "Referer:https://www.aliyundrive.com/" --vfs-read-chunk-size-limit 64M --vfs-read-chunk-size 32M --dir-cache-time 12h --buffer-size 32M --vfs-cache-max-size 1G --transfers 16
1

通过执行上面的命令,会发现虽然挂载到了本地盘,但命令行不能退出,退出命令行挂载就没了,这里通过 nssm 将 rclone mount 命令注册为服务

powershell
nssm install rclone-aliyun2 rclone mount aliyun2:/ X: --vfs-cache-mode writes --cache-dir D:\projects_2023\rclone-alist\cache\aliyun2 --no-check-certificate --default-permissions --header "Referer:https://www.aliyundrive.com/" --vfs-read-chunk-size-limit 64M --vfs-read-chunk-size 32M --dir-cache-time 12h --buffer-size 32M --vfs-cache-max-size 1G --transfers 16
1

如此,便实现了 alist 开机启动,rclone mount 开机挂载

如果 alist 没有启动、或者开机时网络出现问题(调用阿里云盘API出现错误),rclone mount 将会导致文件管理器 I/O 异常,等网络恢复后,需要在浏览器端进行重新加载,本地盘对于网盘新增文件是缺少强制刷新的,需要在浏览器端进行刷新

速度

上传和下载在未开启代理的情况下,影响速度的基本只有自己的网络带宽,普遍情况下,我们常说的网络带宽指的是下行带宽(下载),而实际上行带宽(上传)可能很低,而这个就影响到了我们的使用体验

以我家用带宽 200M/40M 为例,在播放影视剧时,理论上下载速度可以达到 25m/s,上传速度可以达到 5m/s

1、下载文件,即从本地盘(webdav)复制文件到本地,由于速度还是比较快的,4g 文件大概2分钟左右可以下载完,这期间,文件是不能访问的
2、上传文件,即从本地复制文件到本地盘(webdav),由于上传速度的限制,上传速度非常的慢,4g 文件上传需要10几分钟,虽然本地盘(webdav)中有显示文件的存在,但实际上是在后台继续上传,并没有秒传到阿里云盘,其他同类型的本地盘挂载也是一样的受限于上行带宽,使用阿里云盘客户端有一定概率可以实现秒传,猜测是每天有一定的上传容量限制,超过这个限制,就是走的上行带宽

如果是处理小文件,那么本地盘挂载和本地磁盘操作的体验差不多,如果是处理大文件,那么宽带速率越高,体验越好

Pasted image 20230526131547

总结

Alist 在多网盘管理和影视剧观看等方面拥有极佳的体验

0

评论 (0)

取消