alist网盘聚合
alist简介
AList 是一个支持在本地加载 18 款常见网盘文件列表的工具,它可以让用户直接在浏览器中预览文件、上传文件、下载文件、播放视频、浏览照片,也可以直接在播放器中打开视频文件,还可以配合 aria2 实现文件下载功能。跨平台简单易用。@Appinn
感谢 @imsoff 推荐。
AList – 文件列表程序
AList 自己的定位是一个支持多存储的文件列表程序,使用 Gin 和 Solidjs。它可以将以下网盘聚合在一起:
- 本地存储
- 阿里云盘
- OneDrive / Sharepoint(国际版, 世纪互联,de,us)
- 天翼云盘 (个人云, 家庭云)
- GoogleDrive
- 123云盘
- FTP / SFTP
- PikPak
- S3
- 又拍云对象存储
- WebDav(支持无API的OneDrive/SharePoint)
- Teambition(中国,国际)
- 分秒帧
- 和彩云 (个人云,家庭云)
- Yandex.Disk
- 百度网盘
- 夸克网盘
- 迅雷网盘
然后只需要在浏览器中打开,即可预览文件、上传文件、下载文件、直接播放视频、音频。
在线播放视频效果
并且提供了几个播放器按钮,直接点击就能跳转。
不过青小蛙在测试的时候没搞定云字幕,似乎需要下载字幕之后才能加载。
安装 & 配置
AList 的安装比较简单,对于 Windows 用户,直接下载 .exe 文件之后,使用命令提示符运行,就行了。对于其他平台用户,也差不多,另外也支持 docker 部署,即开机用非常简单。
也算是0配置,只需要输入命令 alist.exe admin 获取管理员密码,打开浏览器 127.0.0.1:5244 就行了。
添加存储
在管理界面,可以添加很多的网盘:
这里就需要阅读文档了,但也很简单,最重要的是获取 Token,也提供了自动化获取按钮。不放心的同学可以根据文档说明手动获取。
公网访问
虽然青小蛙主要用来自己在家用,但的确看到了不少人拿来在公网使用。AList 可以设置公告、用户权限、
嗯,比如这种。
WebDAV
除了直接将 WebDAV 资源添加进 AList,还支持反向使用,即使用 WebDAV 客户端连接 Alist,然后浏览绑定的内容,这样就极大的扩展了客户端,包括 iPhone、Android 都可以轻松访问你的网盘资源了:
怎么说呢,反正省了台 NAS 的感觉。
2.为什么搭建
笔者手里有多个网盘,百度云(网课视频),阿里云(电视视频),pikpak(下torrent),还有谷歌云(自用,备份手机的)。
主要是笔者中午使用pikpak在线客户端很卡,播放视频非常卡顿,不流畅,所以笔者花了一点时间来进行搭建。搭建完成之后的效果就是可以只要输入一个网站,就可以访问多个网盘,而且播放效果,比官网好多 了。
搭建效果如图
3.搭建教程
主要参考下面官网文档,本来想使用docker的,但是垃圾服务器,内存根本跑不了docker,所以直接使用的一件脚本
1 | curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s install |
https://alist.nn.ci/zh/guide/install/script.html 官网教程
搭建完成之后,会出现账号密码,这个自己记住。
之后就是使用如何进行安装网盘。最简单的是pikpak,这个只要输入账号密码就行。具体安装步骤在官网上面。
百度网盘安装教程:
- https://openapi.baidu.com/oauth/2.0/authorize?response_type=code&client_id=iYCeC9g08h5vuP9UqvPHKKSVrKFXGa1v&redirect_uri=https://tool.nn.ci/baidu/callback&scope=basic,netdisk&qrcode=1
- 使用上面网站获取令牌还有secret还有id
- 下面看图,不然没有办法正常播放视频
- 下载选择非官方就行
谷歌网盘:
这是最复杂的,需要自己申请api接口,然后再把这个接口开放给自己一个人使用,得到接口之后才能进行生成id还有token,具体参考下面这个YouTube博主视频
- 创建项目
- 然后启用api还有服务,主要使用云盘服务,找到云盘
- 之后就是创建姘居,创建OA客户端id,填写外部,然后只要输入自己的电子邮件
- 之后就是添加用户,吧自己添加进去
- 之后再次回到品聚,创建oa的id,选择应用是桌面客户端之后秘钥还有id就出来了
- 之后输入到那个网站,点击code,弹出网页,一直继续
- 就会有token出现
- 之后就按照放入到alist的后台
4.反向代理
下午使用github学生包,白嫖了一个域名,然后,为了懒得记住ip,直接用域名来使用。
问题是alist使用的5244端口,但是直接输入域名+端口非常不好看,所以使用反向代理,这里使用的是nginx,
直接下载nginx安装,笔者之前忘了开80端口,一直打不开,以为是自己配置问题。换了apache也是一样的。于是再换回nginx,才发现80没有打开,大坑。打开之后,一直是配置502,一直以为是自己的配置有问题(实际上没有,只是linux内核问题),谷歌发现要设置一个内核关闭,代码如下
1 | setsebool -P httpd_can_network_connect 1 |
之后就可以正常访问了,主要的是配置,参考官网,直接在http模块里面添加一个新的server模块,就可以,配置文档etc、nginx、nginxconf里面,修改如下
1 | location / { |