软件推荐:AList

软件推荐:AList

AList是一个开源Web服务,可以添加多种网盘,将你的多个网盘应用集成到一个统一应用中使用,并且还支持通过WebDAV服务映射到操作系统本地目录使用。

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

安装

Linux

从https://github.com/alist-org/alist/releases获取安装包。

安装包中的应用被打包成一个文件,所以只要解包后部署到相应安装目录即可。

推荐用/opt/alist_home作为目标安装目录。

tar -zxvf alist-linux-amd64.tar.gz
cd /opt
sudo mkdir alist_home
cd alist_home/
cp -r ~/下载/alist ./

要验证是否安装成功,可以执行sudo ./alist server命令启动应用,如果成功就可以看到服务的端口号。

要方便使用,最好添加为systemd的服务:

cd /etc/systemd/system
sudo vim alist.service

alist.service的内容为:

[Unit]
Description=alist
After=network.target
 
[Service]
Type=simple
WorkingDirectory=/opt/alist_home
ExecStart=/opt/alist_home/alist server
Restart=on-failure
 
[Install]
WantedBy=multi-user.target

然后就可以通过systemd来让服务开机自启动和启动服务:

sudo systemctl enable alist
sudo systemctl start alist
systemctl status alist

现在通过端口可以访问服务:

http://localhost:5244/@login

软件推荐:AList_第1张图片

如果不知道端口号,可以通过以下命令获取:

icexmoon@icexmoon-ubuntu:~/文档$ sudo netstat -tulp| grep alist
tcp6       0      0 [::]:5244               [::]:*                  LISTEN      12819/alist

可以通过./alist admin命令获取帐号和密码:

icexmoon@icexmoon-ubuntu:/opt/alist_home$ sudo ./alist admin
INFO[2022-11-04 11:46:44] reading config file: data/config.json        
INFO[2022-11-04 11:46:44] load config from env with prefix: ALIST_     
INFO[2022-11-04 11:46:44] init logrus...                               
INFO[2022-11-04 11:46:44] admin user's info: 
username: admin
password: xxxxxxx

VPS

一开始我就是单纯地打算在笔记本上装一个,方便使用阿里云,但我发现这玩意更大的用途是统一让各种电子设备接入云端,比如之前我一直头疼的是没有一个统一的地方放我的音乐文件,用VPS的话带宽不够,用家里的树莓派又麻烦又要搞外网穿透,无疑AList+VPS是一个不错的解决方案。

VPS的安装方式参考上边的Linux即可,可能因为具体的Linux发行版的不同稍有不同。

VPS的方便之处在于我们不用在每个设备上都装一个AList了,我们只需要在VPS上安装一个,所有设备访问VPS上的AList即可。

具体需要配置VPS上的Web Service,让其将请求的Http服务转发到本地的AList上,方便起见,可以开启一个子域名供AList使用,我这里是alist.icexmoon.cn

Web Service的配置方式因版本和软件的不同也各不相同,我这里是Apache 2.X,所以以下配置方式也只适合这个版本的Apache。

先开启HTTP代理相关模块:

cp ./mods-available/proxy.load ./mods-enabled/
cp ./mods-available/proxy_http.load ./mods-enabled/

然后添加AList的相关配置:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName alist.icexmoon.cn
    ServerAlias alist.icexmoon.cn
     <Proxy *>
        Order deny,allow
        Allow from all
    Proxy>
    ProxyRequests Off
    # 转发
    ProxyPass / http://localhost:5244/
    ProxyPassReverse / http://localhost:5244/
VirtualHost>

重启Apache后就可以像访问本地一样访问VPS上的AList了。

Windows

额,因为我有VPS、树莓派、Linux笔记本,所以实在没有在Windows平台安装AList的需要,所以就没有折腾了,如果你有此类需要,可以自行检索,或者参考官方文档:

  • 手动安装 | AList文档 (nn.ci)

安装倒是没啥,Windows平台的服务管理挺麻烦的,估计需要在服务中添加开机自启,但Windows的服务一直是各种坑爹…

添加存储

登录后,新创建的AList是没有任何东西的,我们需要添加网盘到AList后才能使用。

软件推荐:AList_第2张图片下面以添加阿里云盘为例进行说明。

相应的官方文档是https://alist.nn.ci/zh/guide/drivers/aliyundrive.html。

阿里云盘

要添加阿里云盘,需要获取到两个信息:

  • 阿里云盘用于身份认证的fresh_token
  • 要挂载的阿里云盘目录的ID

获取fresh_token可以通过以下方式:

  1. 通过web端登录阿里云盘网页:
    软件推荐:AList_第3张图片

    需要注意的是,必须通过帐号密码登录,如果没有设置密码的可以通过手机端设置,扫码登录是不行的。

  2. 通过控制台查看登录时的请求login.doxxx,从响应信息中获取:

    软件推荐:AList_第4张图片

  3. 将响应信息中的bizExt进行base64解码,从而获取到其中的fresh_token

    在线解码工具很多,这里我用的是https://www.base64decode.org/

获取网盘目录ID要简单的多,在Web端打开一个阿里云盘目录,比如:

https://www.aliyundrive.com/drive/folder/6364c959be6907b4c583403e80966666666

folder/后的那串就是目录ID。

为了挂载简单起见,可以将阿里云中需要挂载的目录都移动到一个目录下,这样就只需要挂载一个目录即可。

然后就是在AList的管理页面管理>存储中添加阿里云盘,这一步很简单,不做过多说明。

挂载目录可以命名为中文,比如我的就是/阿里云盘

一切都搞好后就可以在AList的首页看到挂载的目录,还可以点进去查看文件详情,音乐都可以在线播放,完美!

除了可以直接播放音乐、查看图片外,PDF和markdown文件也可以直接查看,AList真的好棒,给开发者点赞。

软件推荐:AList_第5张图片

安装好后记得在帐号管理中删除或修改guest帐号,默认会有一个guest帐号。

WebDAV

通过WebDAV协议可以将AList中管理的网盘映射到本地磁盘。

这里同样先以Linux为例进行说明。

Linux

Ubuntu的资源管理器本身就支持网盘映射:

软件推荐:AList_第6张图片

按提示输入DAV服务地址dav://localhost:5244/dav,然后点连接,输入用户名和密码即可。

现在可以愉快地在本地映射目录中看网盘中的图了。

本文就先写到这里了,有空大概会补上Windows的部分,谢谢阅读。

Android

安卓设备接入WebDAV可以使用nPlayer,虽然其主要用于播放视频,但也支持查看并下载其他任何类型的文件,所以完全可以当做一个WebDAV的资源管理器用。

下载安卓版nPlayer可以在酷安的社区中查找。

音乐播放软件推荐CloudBeats,这是一个国外的云音乐播放器,可以接入WebDAV服务,并将歌曲缓存到本地进行播放,简直完美。唯一的缺点是界面相当古老,也可能是我找到的版本太老,anyway,能用就行,还要啥自行车。

IOS

手头没有IOS设备,所以IOS设备接入可以参考:

  • 含WebDAV 影音类软件汇总 - 知乎 (zhihu.com)

Windows

windows挂载WebDAV相对麻烦一些,需要修改注册表,除此之外也可以通过安装一个软件轻松实现挂载:

  • RaiDrive

软件推荐:AList_第7张图片

那个地址默认使用https,如果要修改为http,去除地址后边的勾选即可。此外后边只能填写主域名,后边的路径比如/dav要填写在下边的路径一栏。

填写后点击连接,输入账号密码即可,然后就能在本地盘符看到挂载的网盘了。

瞬间有种笔记本多了2个T硬盘的感觉。

数据库

光速打脸,回来继续施工,因为改了MySQL是真的香。

AList默认使用的是SQLite,如果个人使用一般问题不大,不过如果可以的话,建议换成MySQL,速度直接起飞。

具体方式是先在MySQL中创建一个alist的数据库,然后修改配置信息(安装目录下的/data/config.json):

{
  # ...
  "database": {
    "type": "mysql",
    "host": "localhost",
    "port": 3306,
    "user": "数据库用户名",
    "password": "数据库密码",
    "name": "数据库名称",
    "db_file": "data/data.db",
    "table_prefix": "x_",
    "ssl_mode": ""
  },
  # ...
}

修改好以后重启AList服务。

重启后因为换了数据库,所以会恢复成初始状态,所有的配置需要重新改一遍…

玩法

AList的功能真的很强大,个人感觉可以有很多玩法,比如弄个匿名可以访问的目录,存放一些Markdown文件,这不就是个极简风的博客嘛,只不过不能回复而已。再比如要分享照片给朋友,开几个帐号给朋友就行,朋友可以自行浏览下载,这不比网盘自带的分享功能好用?再比如可以弄一个共享目录,大家都上传一些资源分享,比如电子书,种子啥的,懂得都懂…

最后,再次感谢AList的开发者,这真是我好久以来遇到的最喜欢的应用了。

现在是真的写完了,应该可能大概不会再返工本文了,谢谢阅读。

参考资料

  • AList官方文档
  • 网络存储文件共享之WebDAV
  • 含WebDAV 影音类软件汇总 - 知乎 (zhihu.com)
  • Alist V2对接MySQL - 辉哥博客 (haah.net)

你可能感兴趣的:(其它,alist,网盘,vda)