最近事情比较多,鸽了好一阵子了。前阵子Alist被收购的事情,相信不少小伙伴可能已经有了解。
这边给还不清楚的小伙伴简单梳理一下。
1. 介绍
AList是一个广受欢迎的开源项目,支持多种云存储的统一管理和WebDAV功能,因其便捷性和强大的网盘聚合能力在开发者社区中积累了近5万星标。
咕咕在自己的博客里也介绍过这个项目——【好玩的Docker项目】目前最好用的网盘直链程序——AList,支持市面上几乎所有网盘!可以代替Olaindex! (突然发现已经是三年前的事情了 = =)
然而,2025年6月爆出的项目被出售事件引发了开源社区的激烈反响。
事件背景
- 项目出售:据多方消息,AList被原开发者Xhofe出售给贵州不够科技有限公司(BugoTech),交易过程未公开,缺乏社区通知。原开发者确认项目已交由公司运营,自己仅保留代码审查权,main分支启用PR审核和CI自动构建以确保透明性。
- 争议操作:新维护者(账号alist666)提交的PR #8633被发现包含收集用户设备信息并上传至私有服务器的代码,引发“供应链投毒”担忧,虽因社区压力撤回,但信任危机加剧。文档被大幅修改,移除原作者信息,新增商业化内容(如VIP技术支持和QQ群),官网域名从alist.nn.ci更换为alistgo.com,旧链接404。
- 收购方背景:不够科技此前收购Hutool、LNMP等项目,伴随权限争议和疑似“投毒”历史,社区对其声誉存疑。
社区反应
-
愤怒与失望:
- 信任崩塌:社区对原开发者Xhofe未提前公告的“暗箱操作”表示强烈不满,认为此举背叛了开源精神,伤害了用户和贡献者的信任。GitHub Issues区被大量批评淹没,新维护者删除质疑帖并移除反对者进一步激化矛盾。
- 隐私担忧:AList涉及网盘Token和Cookie等敏感数据,用户担心新版本可能泄露隐私或被植入恶意代码。社区建议锁定v3.40.0版本,解除网盘授权,并备份重要文件。
- 对收购方的质疑:不够科技的“黑历史”被广泛讨论,社区将其与此前LNMP、Oneinstack的闭源和投毒争议联系起来,称其为“傻逼公司”“bug科技”,对其动机和代码安全性高度警惕。
-
社区自救与分叉:
- 分叉项目:开发者迅速行动,创建了OpenList等分叉项目,移除不可信代码并审计近半年提交,短时间内获数千星标,显示社区对替代方案的热情。
- 替代方案:技术博客推荐Zdir、Cloudreve等私有网盘程序,鼓励用户迁移以规避风险。
- 安全建议:社区提出锁定版本、校验哈希、隔离网络、自行编译等措施,强调去中心化分发和社区监督的重要性。
-
对原开发者的复杂情绪:
- 理解与支持:部分开发者(如@DIYgod)表示理解Xhofe的决定,认为开源维护的长期孤独和无回报让变现成为合理选择,祝福其获得回报。贡献图显示Xhofe个人提交超90%代码,凸显其付出。
- 批评与指责:更多用户认为Xhofe将社区贡献和用户数据“卖给有前科的公司”是不道德的,称其“把用户当交易品”,损害了开源生态的信任。
评价
- 对原开发者的行为:Xhofe作为主要贡献者有权在MIT/AGPL-3.0许可证框架内转让项目,但未公开透明的做法违背了开源社区的信任契约。 虽然其后续承诺代码审查,但“悄然退出”和“配合移除贡献者痕迹”让社区感到被背叛,凸显了单一开发者主导项目的风险。
- 对收购方的操作:不够科技的历史记录和新代码的隐私收集行为引发合理担忧,其商业化导向(如VIP服务)与开源精神冲突。删除批评和接管仓库的“粗暴”操作进一步破坏信任,可能导致AList用户流失。
- 社区的应对:社区的激烈反应反映了对开源项目透明度和数据安全的重视。分叉项目和替代方案的迅速涌现展现了开源生态的韧性,但也暴露了国内开源项目变现难、社区监督机制不足的问题。
- 对开源生态的启示:AList事件敲响警钟,提醒用户关注项目维护的可持续性和开发者的稳定性。建议建立贡献者许可协议(CLA)和社区监督机制,防止类似“野蛮收购”。用户应谨慎选择涉及敏感数据的开源工具,优先考虑社区主导的项目。
结论
AList被收购事件引发了开源社区的信任危机,社区的愤怒源于对隐私安全和开源精神的双重担忧。尽管部分人理解原开发者的变现动机,但其隐秘操作和收购方的争议历史让事件成为“开源之耻”。社区通过分叉和替代方案展现了自救能力,但事件也暴露了国内开源生态在商业化与信任之间的矛盾。用户应保持警惕,优先选择透明、社区驱动的项目,同时推动更完善的开源治理机制。
这一期,我们就来分享一个Alist的开源替代——OpenList。
如果你之前安装过 Alist,其实只要在
docker-compose.yml
修改两处:
- 镜像名从
xhofe/alist
改为openlistteam/openlist
- 映射的容器内的路径,由
/opt/alist/
改为/opt/openlist/
(如果添加了本地存储,记得也修改一下根文件夹路径,其他网盘不影响)运行之前,最好对原来的数据进行一次备份,运行之后,原来怎么使用,现在还是一样的。
2. 相关地址
官方GitHub地址:https://github.com/OpenListTeam/OpenList (目前10.6k个star,欢迎大家去给作者点星星!)
3. 搭建环境
- 服务器:咕咕这边用的是OVH的杜甫,当然你也可以选择其他高性价比的服务器。内存1G以上即可,硬盘当然是越大越好啦。
- 系统:Debian 11 (DD 脚本 非必需 DD,用原来的系统也 OK,之后教程都是用 Debian 或者 Ubuntu 搭建~)
- 安装好 Docker、Docker-compose(相关脚本)
- 【必需】域名一枚,并做好解析到服务器上(域名购买、域名解析 视频教程)
- 【非必需】提前安装好宝塔面板海外版本 aapanel,并安装好 Nginx(安装地址)
- 【非必需本教程选用】安装好 Nginx Proxy Manager(相关教程)
4. 搭建视频(有时间补充!)
4.1 YouTube
视频地址:
4.2 哔哩哔哩
哔哩哔哩:
5. 搭建方式
5.1 安装 Docker 与 Nginx Proxy Manager
可以直接参考这篇内容:
https://blog.laoda.de/archives/nginxproxymanager/
5.2 创建安装目录
创建一下安装的目录:
sudo -i
mkdir -p /root/data/docker_data/openlist
cd openlist
我们来简单修改一下作者提供的docker-compose.yml
文件
vim docker-compose.yml
咕咕修改之后的(其实就是修改了端口号和删除了version: "3.7"
):
services:
openlist:
image: 'openlistteam/openlist:latest'
container_name: openlist
volumes:
- '/data:/opt/openlist/data'
- './share:/opt/openlist/share'
ports:
- '5288:5244'
environment:
- PUID=0
- PGID=0
- UMASK=022
restart: unless-stopped
修改完成之后,可以在英文输入法下,按 i
修改,完成之后,按一下 esc
,然后 :wq
保存退出。
5.3 打开服务器防火墙(非必需)并访问网页
打开防火墙的端口 5288
举例,腾讯云打开方法如下(部分服务商没有自带的面板防火墙,就不用这步操作了):


类似图中的,这边我们填 5288
,示例填 openlist
,确定即可(如果你在 docker-compose 文件里换了 9009
,这边就需要填 9009
,以此类推)

查看端口是否被占用(以 5288
为例),输入:
lsof -i:5288 #查看 5288 端口是否被占用,如果被占用,重新自定义一个端口
如果啥也没出现,表示端口未被占用,我们可以继续下面的操作了~
如果出现:
-bash: lsof: command not found
运行:
apt install lsof #安装 lsof
如果端口没有被占用(被占用了就修改一下端口,比如改成 8381
,注意 docker 命令行里和防火墙都要改)
5.4 启动 openlist
cd /root/data/docker_data/openlist
docker compose up -d # 注意,老版本用户用 docker-compose up -d
等待拉取好镜像,出现 done
的字样之后,
理论上我们就可以输入 http://ip:5288
访问了。
但是这边我们推荐先搞一下反向代理!
做反向代理前,你需要一个域名!
namesilo 上面 xyz 后缀的域名一年就 7 块钱,可以年抛。(冷知识,namesilo上 6位数字的xyz续费永远都是0.99美元 = =)
如果想要长期使用,还是建议买 com 后缀的域名,更加正规一些,可以输入 laodade
来获得 1 美元的优惠(不知道现在还有没有)
namesilo 自带隐私保护,咕咕一直在用这家,价格也是这些注册商里面比较低的,关键是他家不像其他家域名注册商,没有七七八八的套路!(就是后台界面有些丑 古老 = =)
【域名购买】Namesilo 优惠码和域名解析教程(附带服务器购买推荐和注意事项)
我们接着往下看!
6. 反向代理
6.1 利用 Nginx Proxy Manager
在添加反向代理之前,确保你已经完成了域名解析,不会的可以看这个:域名一枚,并做好解析到服务器上(域名购买、域名解析 视频教程)
之后,登陆 Nginx Proxy Manager(不会的看这个:安装 Nginx Proxy Manager(相关教程))
注意:
Nginx Proxy Manager(以下简称 NPM)会用到
80
、443
端口,所以本机不能占用(比如原来就有 Nginx)
直接丢几张图:




注意填写对应的
域名
、IP
和端口
,按文章来的话,应该是5288
IP 填写:
如果 Nginx Proxy Manager 和 openlist 在同一台服务器上,可以在终端输入:
ip addr show docker0
查看对应的 Docker 容器内部 IP。

否则直接填 openlist 所在的服务器 IP 就行。
6.2 利用宝塔面板
发现还是有不少小伙伴习惯用宝塔面板,这边也贴一个宝塔面板的反代配置:
直接新建一个站点,不要数据库,不要 php,纯静态即可。
然后打开下面的配置,修改 Nginx 的配置。


代码如下:
location / {
proxy_pass http://127.0.0.1:5288/; # 注意改成你实际使用的端口
rewrite ^/(.*)$ /$1 break;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade-Insecure-Requests 1;
proxy_set_header X-Forwarded-Proto https;
}
此方法对 90% 的反向代理都能生效,然后就可以用域名来安装访问了。
有同学可能会问,为什么不直接用宝塔自带的反向代理功能。

也可以,不过咕咕自己之前遇到过当有多个网站需要反代的时候,在这边设置会报错的情况 = =
所以后来就不用了,直接用上面的方法来操作了。
7. 使用教程
首先来输入命令:
docker compose logs
查看一下初始的登录密码:
这边的密码是OVoPTw5B
打开域名登录:
默认用户名:admin
密码:OVoPTw5B
这个等下都可以自己修改。
登录之后发现是这样的,因为我们还没有添加任何的存储源:
点击首页下方的管理,来到后台。
我们来演示一下"添加存储"的操作,
这边先选择一个"本地存储",
挂载路径这边可以自己自定义,
WebDAV策略选择“本地代理”就行,
根文件夹路径要填docker容器内部的路径,这边前面我们在docker-compose.yml
里面映射了./share:/opt/openlist/share
,所以其实这边填/opt/openlist/share
即可。
其他的选项按需自己设置。
点击保存之后,再返回首页,就有显示了,后续可以自己把文件传到服务器,这边就会显示出来了。
当然,AList之所以火爆,就是因为他可以添加很多个网盘的索引,
因为不同的小伙伴用的网盘也不一样,具体的细节,大家可以参考官方的文档来添加:https://docs.oplist.org/zh/guide/drivers/common.html
7.1 更新 openlist
cd /root/data/docker_data/openlist
docker compose pull
docker compose up -d # 请不要使用 docker compose stop 来停止容器,因为这么做需要额外的时间等待容器停止;docker compose up -d 直接升级容器时会自动停止并立刻重建新的容器,完全没有必要浪费那些时间。
docker image prune # prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像
提示:
WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N]
输入 y
利用 Docker 搭建的应用,更新非常容易~
7.2 卸载 openlist
同样进入安装页面,先停止所有容器。
cd /root/data/docker_data/openlist
docker compose down
cd ..
rm -rf /root/data/docker_data/openlist # 完全删除
可以卸载得很干净。
8. 常见问题及注意点
目前 OpenList 已经发布了 4.0 正式版,但依然存在一些已知问题,不过大部分功能已可稳定使用,具体迁移进度可在 OpenList 迁移工作总结 中查看。
大家记得多多更新,使用最新版本的docker镜像。
目前项目的赞助页面还未建立:https://docs.oplist.org/zh/zh/guide/sponsor.html
后续建立了我也会支持,同时也希望有条件的小伙伴多多支持,赞赏开发者们一杯咖啡。这样也能让开源项目能够健康生存下去,少受商业的裹挟。
9. 结尾
祝大家用得开心,有问题可以去 GitHub 提 Issues,也可以在评论区互相交流探讨。
同时,项目处于初期,有能力给项目做贡献的同学,也欢迎积极加入到 [项目]https://github.com/OpenListTeam/OpenList) 中来,贡献自己的一份力量!
最后,感谢开发人员们的辛苦付出,让我们能用到这么优秀的项目!也希望开源项目越来越好!
评论区