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
如果不知道端口号,可以通过以下命令获取:
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 icexmoon@qq.com
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的需要,所以就没有折腾了,如果你有此类需要,可以自行检索,或者参考官方文档:
安装倒是没啥,Windows平台的服务管理挺麻烦的,估计需要在服务中添加开机自启,但Windows的服务一直是各种坑爹...
添加存储
登录后,新创建的AList是没有任何东西的,我们需要添加网盘到AList后才能使用。
下面以添加阿里云盘为例进行说明。
相应的官方文档是https://alist.nn.ci/zh/guide/drivers/aliyundrive.html。
阿里云盘
驱动列表中的 阿里云盘 是旧的驱动,已经作废,接入阿里云盘要选择新的驱动 阿里云盘 Open,这个驱动利用阿里云盘的开放 API 编写。
如果接入后发现不能正常使用,出现阿里云 Open 驱动挂了的情况,可能是 AList 的接口服务挂了,可以替换接口服务解决,具体阅读。
要添加阿里云盘,需要获取到两个信息:
-
阿里云盘用于身份认证的fresh_token
-
要挂载的阿里云盘目录的ID
获取fresh_token可以通过以下方式:
-
通过web端登录阿里云盘网页:
需要注意的是,必须通过帐号密码登录,如果没有设置密码的可以通过手机端设置,扫码登录是不行的。
-
通过控制台查看登录时的请求
login.doxxx
,从响应信息中获取:
-
将响应信息中的
bizExt
进行base64解码,从而获取到其中的fresh_token
。在线解码工具很多,这里我用的是https://www.base64decode.org/
获取网盘目录ID要简单的多,在Web端打开一个阿里云盘目录,比如:
https://www.aliyundrive.com/drive/folder/6364c959be6907b4c583403e80966666666
folder/
后的那串就是目录ID。
为了挂载简单起见,可以将阿里云中需要挂载的目录都移动到一个目录下,这样就只需要挂载一个目录即可。
然后就是在AList的管理页面管理>存储
中添加阿里云盘,这一步很简单,不做过多说明。
挂载目录可以命名为中文,比如我的就是
/阿里云盘
。
一切都搞好后就可以在AList的首页看到挂载的目录,还可以点进去查看文件详情,音乐都可以在线播放,完美!
除了可以直接播放音乐、查看图片外,PDF和markdown文件也可以直接查看,AList真的好棒,给开发者点赞。
安装好后记得在帐号管理中删除或修改guest帐号,默认会有一个guest帐号。
默认模式下,即使不登录任何帐号,也可以通过访客模式查看所有资源,所以最好为根目录
/
添加一个元信息,并设置密码,这样访客就需要输入密码才能看到信息。对于特定允许查看数据的帐号,可以勾选上不需要密码
的选项即可。
WebDAV
通过WebDAV协议可以将AList中管理的网盘映射到本地磁盘。
这里同样先以Linux为例进行说明。
Linux
Ubuntu的资源管理器本身就支持网盘映射:
按提示输入DAV服务地址dav://localhost:5244/dav
,然后点连接,输入用户名和密码即可。
现在可以愉快地在本地映射目录中看网盘中的图了。
本文就先写到这里了,有空大概会补上Windows的部分,谢谢阅读。
Android
安卓设备接入WebDAV可以使用nPlayer,虽然其主要用于播放视频,但也支持查看并下载其他任何类型的文件,所以完全可以当做一个WebDAV的资源管理器用。
下载安卓版nPlayer可以在酷安的社区中查找。
音乐播放软件推荐CloudBeats,这是一个国外的云音乐播放器,可以接入WebDAV服务,并将歌曲缓存到本地进行播放,简直完美。唯一的缺点是界面相当古老,也可能是我找到的版本太老,anyway,能用就行,还要啥自行车。
IOS
手头没有IOS设备,所以IOS设备接入可以参考:
Windows
windows挂载WebDAV相对麻烦一些,需要修改注册表,除此之外也可以通过安装一个软件轻松实现挂载:
那个地址默认使用https,如果要修改为http,去除地址后边的勾选即可。此外后边只能填写主域名,后边的路径比如
/dav
要填写在下边的路径一栏。
填写后点击连接,输入账号密码即可,然后就能在本地盘符看到挂载的网盘了。
瞬间有种笔记本多了2个T硬盘的感觉。
2022/11/12更新
经过一段时间的使用后,发现免费版的RaiDrive有一些缺陷:
-
广告弹窗,这玩意的广告弹窗的恶心程度和国产软件有的一拼,不过可以用火绒解决。
-
每次启动都需要重新输入账号和密码,这个就很无解了,估计要充钱。
所以我用回了Windows自带的客户端WebClient
,具体可以参考:
需要注意的是,默认情况下只能连HTTPS的WebDAV服务端,要连HTTP的话要修改注册表:
数据库
光速打脸,回来继续施工,因为改了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的开发者,这真是我好久以来遇到的最喜欢的应用了。
现在是真的写完了,应该可能大概不会再返工本文了,谢谢阅读。
文章评论