ZPan 首发!迟到一年的云存储网盘还有人需要么?

2020-09-07 23:04:15 +08:00
 saltbo

起因

最开始是因为女票有网盘的需求,但是某度网盘总限速,开会员还限速。所以我就想自己搭一个不限速的网盘。找了一圈之后发现 owncloud 、nextcloud 之类传统网盘都是基于本地文件系统。后来找到了 cloudreve,但是发现他是 php 写的,部署起来比较麻烦。所以我就想着自己写一个。

19 年 9 月底开始搞,每天晚上下班写写,大概不到一个月就部署上线使用了。但是,我觉得这个东西要搞的完善还是很麻烦,包括用户系统、分享、回收站、离线下载、WEBDav 等等。当时我想快速做一个开源项目了解下开源项目的玩法,所以就转头去做 Uptoc 了。没想到这一暂停就是一年,一年后当我把这个项目重新拿起来快重构完的时候,忽然发现 Cloudreve 也用 Go 重构了一版🤣

真的是五味杂陈。不过我还是想把它做出来,我想看看我做的第一个应用类的开源项目能不能获得一些用户。

使用 ZPan

使用 ZPan 你可以快速的搭建一个完全不限速的网盘系统,目前他实现了百度网盘的基本功能,可以满足日常所需。后续根据用户反馈我也会考虑增加更多的功能

一起开发 ZPan

上文说了,ZPan 是我的第一个应用类开源项目(第一个工具类是 Uptoc ),所以我是想把 ZPan 作为开源项目来运作的。我也看了 Cloudreve 的代码,或许是因为 Cloudreve 有些历史包袱,结果就是导致它的代码很臃肿。ZPan 是一个完全从零开始的开源项目,如果你想做开源项目,如果你是一个 gopher,如果你对这个项目有点兴趣,欢迎你跟我一起来做这个开源项目。

项目地址

本文首发自saltbo.cn

12492 次点击
所在节点    分享创造
99 条回复
saltbo
2020-09-16 22:22:36 +08:00
@foMM 感谢反馈,我还真不知道还有这么多平台。 其实底层都是支持的,我们其实是为了简化配置,想着只配置 endpoint 就不用再配一个 region 了,所以是自动从 endpoint 里提取 region,但是不同平台的 endpoint 规则又不一样,所以就导致了目前只有我们配置了规则的平台才能使用。

后面我们考虑把 region 放开,如果配置了 region 就使用自己配置的 region,这样就不限制平台了
coldark
2020-10-06 11:13:08 +08:00
能否有文件外链呢?作为文件床的项目
saltbo
2020-10-06 21:01:50 +08:00
@coldark 目前只支持图床,但是我理解你的需求,我也有类似的需求,确实也打算往这个方向支持
saltbo
2020-10-06 21:17:44 +08:00
@coldark 我想了一下 目前要用的话其实也可以 只需要把 bucket 设置成公共读就行了 但是目前只支持配置一个 bucket 不能管理多个不同权限的 bucket 后续会支持 另外后续我们也打算支持不同语言的 sdk 支持方便的上传文件到 zpan
c0py7hat
2020-11-12 13:11:19 +08:00
支持图床等静态资源吗,我看了文档支持 s3 协议,相当于对接的是 oss
mushokumunou
2021-03-09 11:18:33 +08:00
亲自买了 cloudreve,然而很多地方要改,理念不适合。准备放弃了。寻其他解决方案。
来说 cr 的一些缺点
1.增删都是物理的,以后秒传基础丧失。
2.因为 1,去重不具备,虽然可以让文件系统代理。
3.存储策略是全局的,无法下放到 user 。

其他的作为系统额外的比如邮件没有使用 oAuth2.0,邮件到达率堪忧。主要用社交账号接入的话也不是什么大问题。
槽点也蛮多的,不过基于 go 写的,性能比大部分开源的 php 网盘性能高很多。
saltbo
2021-03-09 11:39:43 +08:00
@c0py7hat 从 v1.5 开始我们支持了多存储,可以指定存储类型为外链盘即可。下个版本会支持 AKSK 访问
saltbo
2021-03-09 11:42:47 +08:00
@mushokumunou 感谢关注 zpan,看看能不能满足你的需要。

据我了解,cr 的存储策略可以配置到不同的用户组上。你说的下放到 user,是想给每个用户配置不同的策略么?
ZPan 的策略是管理员可以配置多个存储空间,由用户自己选择使用哪一个。

另外没看懂你说的邮件没有使用 oauth2.0 是啥意思,邮件使用的是 smtp 啊
mushokumunou
2021-03-09 13:42:16 +08:00
@saltbo 嗯,让每个用户自己配置不同的策略,全局只要支持这些策略就好。
比如支持 onedrive,zpan 有通用的 api,然后用户自己绑定自己的 onedrive 账号,也可以绑定多个。
这样可以用 zpan 来管理多个第三方账号,后期如果能同步第三方盘,那就是最完美的生产力应用了。
还有最好能支持本地存储,对于一些中等应用( pb 级别的),还是需要自建来控制成本,oss 太贵了说真的。
但 zpan 作为普及网盘的尝试,定位没有错,毕竟搭建门槛要够低才能吸引第一批受众,软件才能得到进步。

其实我说的这些倒没有意思让开发者采纳,毕竟开源的,自己 fork 一个分支魔改也是可以的。
mushokumunou
2021-03-09 13:46:07 +08:00
@saltbo 邮件那个是小强迫症,直接使用密码输入的 smtp 验证方式,对于小型应用没啥问题的,毕竟大家都是用的免费邮箱,邮件到达率受大厂关照。不过对于创业团队,用个什么 gmail 163.com 结尾的啥,就有点那个了。。。
所以要用域名邮件服务,统一使用 oauth2.0 这标准会比较可靠。发送到 gmail 也会更值得信赖。
saltbo
2021-03-09 14:17:11 +08:00
@mushokumunou 我还是没理解邮件服务跟 oauth2.0 有啥关系 你能举个例子么 哪个域名服务可以用 oauth2.0
mushokumunou
2021-03-09 17:58:29 +08:00
@saltbo 设置 smtp 服务器的时候有两种方式,直接密码验证那种,输入账号和密码就好了,这种应该是 zpan 也用的。
还有一种就是 OAUTH2 验证方式,比如我是 google wockspace 用户,我用域名邮箱来发送邮件,就需要用到 gmail api 来生成我的 client ID 和 secret 用于邮件服务器,而不是用账号和密码。用 OAUTH2 更安全吧。
mushokumunou
2021-03-09 18:04:38 +08:00
@saltbo 补充,其实用 ssl 加密传输也不会遭到中间路由截获破解。只是从趋势来,更应该普及 OAUTH2,因为国外大厂也基本推荐 OAUTH2 方式来访问 gmail,outlook 这些的。
saltbo
2021-03-10 09:23:31 +08:00
@mushokumunou 我明白了 你说的是通过 api 发信 这种方式的问题是不同平台的 api 不一样,我们没有精力对接所有平台。而 smtp 是一个标准,标准的邮件服务都是支持的。
zololiu
2021-04-03 12:04:22 +08:00
demo 登陆不了,我错过了什么。
saltbo
2021-04-08 10:15:54 +08:00
@zololiu 恢复了 可以再试试
zzl22100048
2021-05-08 00:30:32 +08:00
有几个问题
无法使用忘记密码功能
没有使用分段上传,传不了大文件
saltbo
2021-05-08 12:32:45 +08:00
@zzl22100048 忘记密码需要配置发信邮箱 分段上传这种功能浏览器端做不了 客户端才能做
zzl22100048
2021-05-08 19:12:07 +08:00
@saltbo 浏览器可以做,有 jssdk 和临时令牌,我们内部的网盘系统实现了
忘记密码不是邮箱那块的功能问题,提交的时候会提示输入密码,我看后端和登陆走一个接口,实体校验失败了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/705012

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX