V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
saltbo
V2EX  ›  分享创造

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

  •  
  •   saltbo ·
    saltbo · 2020-09-07 23:04:15 +08:00 · 12348 次点击
    这是一个创建于 1298 天前的主题,其中的信息可能已经有所发展或是发生改变。

    起因

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

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

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

    使用 ZPan

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

    一起开发 ZPan

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

    项目地址

    本文首发自saltbo.cn

    第 1 条附言  ·  2020-09-08 11:48:57 +08:00
    感谢大家的支持。目前收到以下反馈。

    1.支持离线下载
    2.支持本地储存及多节点本地储存
    3.支持 onedrive 、onedrive 世纪互联、GoogleDrive
    4.支持 WebDav
    5.支持音视频预览
    6.支持简单文本格式的预览
    7.支持转存百度网盘内容


    这里需要说明以下,既然已经有了 Cloudreve,那么再造一个 Cloudreve 完全没有意义。所以,我们不会照搬 Cloudreve 的功能。比如本地存储。 从顶层设计上来讲,我们已经既定 ZPan 是一个基于云存储的网盘系统,那么就不应该破坏他的架构。如果需要本地存储,那么可以自建 MinIO 来实现。我认为既然是做开源项目,那么就应该充分利用开源社区的资源,而不是所有的东西都自己来造。

    关于离线下载,这个功能我其实很纠结,因为这个其实也是受限于服务器带宽。但是它也没破坏架构,所以倒也能做。但是我其实更想做成一个 ZPan 的子项目,大家可以把它部署在家里的软路由或者 Nas 上,这样的离线下载才更快不是么?但是说回来,如果只是单纯的下载,那么你完全可以直接用 aria2 。 如果你是想下载下来再存到 ZPan 上,那倒是可以搞一搞。但是这个需求存在么?

    关于 onedrive 、onedrive 世纪互联、GoogleDrive,为什么不直接用他们呢? 为什么要套一层?
    第 2 条附言  ·  2020-09-10 00:23:58 +08:00
    ZPan 有开发团队啦,撒花~

    2020 年 9 月 9 日晚上九点,我们进行了第一次远程会议。 然后整理出了路线图,欢迎大家 star 关注。

    https://github.com/saltbo/zpan/projects/2
    第 3 条附言  ·  2020-09-23 10:56:11 +08:00

    zpan有独立域名了,欢迎来访~

    zpan.space

    99 条回复    2021-05-08 19:12:07 +08:00
    blackmoonth
        1
    blackmoonth  
       2020-09-07 23:06:53 +08:00
    文档 404
    yuanse
        2
    yuanse  
       2020-09-07 23:08:44 +08:00
    mark 一下,等我学 go 了再来
    saltbo
        3
    saltbo  
    OP
       2020-09-07 23:08:59 +08:00
    @blackmoonth 正在打包 稍等
    lysS
        4
    lysS  
       2020-09-07 23:09:01 +08:00
    小站不太敢用,,,
    saltbo
        5
    saltbo  
    OP
       2020-09-07 23:11:16 +08:00
    @lysS 需要自建的。这个是演示站,你想用也不给你用😹
    flypei
        6
    flypei  
       2020-09-07 23:38:14 +08:00
    好像不可以在线预览视频
    saltbo
        7
    saltbo  
    OP
       2020-09-07 23:40:40 +08:00
    @flypei 是的,目前音视频的预览没有做呢 后续版本会迭代的
    guappieTRain
        8
    guappieTRain  
       2020-09-08 00:21:01 +08:00
    精神可嘉,做一个私人网盘还是不错的
    但是要拓展用户的话,想一下,当阿里开始做网盘业务的时候,个人 or 小团队做这个,百分百没戏了
    saltbo
        9
    saltbo  
    OP
       2020-09-08 00:32:45 +08:00
    @guappieTRain 是的 就是满足一些有自建需求的用户
    LaicZhang
        10
    LaicZhang  
       2020-09-08 00:58:53 +08:00
    额,相比起 oss,还是 OneDrive 更适合我等穷人👀
    ray2018
        11
    ray2018  
       2020-09-08 01:38:12 +08:00
    能对接 谷歌云盘 和 onedrive & 世纪互联 么
    cmdOptionKana
        12
    cmdOptionKana  
       2020-09-08 07:30:31 +08:00
    @LaicZhang OneDrive 之类的普通网盘不保证可用性的,长时间不使用的文件,几年后有一定概率损坏。oss 按量收费,量少的时候很便宜,不适合用来保存电影之类的文件,但很适合保存重要的私人文件。
    cat
        13
    cat  
       2020-09-08 07:52:07 +08:00 via iPhone
    年初刚撸了一个… 支持七牛和又拍… 花了一周
    nozer
        14
    nozer  
       2020-09-08 08:43:03 +08:00
    牛逼,👍
    klgd
        15
    klgd  
       2020-09-08 08:48:41 +08:00
    离线下载估计是个问题吧
    好多资源用磁力直接下是一点儿速度也没有,但是百度的离线大部分情况下都不是问题
    LokiSharp
        16
    LokiSharp  
       2020-09-08 09:05:19 +08:00
    @cmdOptionKana #12 有概率损坏是什么贵?
    Mitt
        17
    Mitt  
       2020-09-08 09:08:22 +08:00
    @cmdOptionKana “不保证可用性的,长时间不使用的文件,几年后有一定概率损坏” ??? 你对大企业推出的云服务有什么误解吗?
    huobazi
        18
    huobazi  
       2020-09-08 09:17:12 +08:00
    百度网盘有一个生态就是分享,如果能从百度网盘分享链接转存东西过来,再配上手机的照片同步什么的就很有价值了
    cmdOptionKana
        19
    cmdOptionKana  
       2020-09-08 09:18:33 +08:00   ❤️ 1
    @LokiSharp
    @Mitt 没有误解,什么价格就提供什么服务,我看过各大网盘的官网介绍,都不保证数据可用性。而对象储存都会明确说明有冗余储存,保证数据可用、可靠。
    madlifer
        20
    madlifer  
       2020-09-08 09:21:14 +08:00
    资瓷,可以先不考虑网盘本身功能和交互优化,期待以下功能先行:aria2 整合以支持离线下载&支持本地储存及多节点本地储存&支持 onedrive 、onedrive 世纪互联、GoogleDrive&支持 WebDav
    cmdOptionKana
        21
    cmdOptionKana  
       2020-09-08 09:24:27 +08:00
    对象存储系统一般通过连续后台数据扫描、数据完整性校验、自动化对象修复等技术,大大提高数据的完整性和安全性。
    optional
        22
    optional  
       2020-09-08 09:26:10 +08:00 via Android
    @Mitt 不同价格的 sla 保障肯定不一样的。
    ferock
        23
    ferock  
       2020-09-08 09:34:53 +08:00
    不容易,鼓励!!!
    继续用群晖
    binxin
        24
    binxin  
       2020-09-08 09:49:04 +08:00
    @cmdOptionKana 《论如何张口就来》、《论造谣张张嘴》
    luhe
        25
    luhe  
       2020-09-08 09:49:18 +08:00
    那个美团单车的照片笑死我了...
    cmdOptionKana
        26
    cmdOptionKana  
       2020-09-08 09:57:04 +08:00
    @binxin 你要的证据 https://v2ex.com/t/659512
    https://v2ex.com/t/651585

    我随便找的,如果你还要我还可以找到更多。
    xuxuxu123
        27
    xuxuxu123  
       2020-09-08 10:08:16 +08:00
    我草 里面的内容。。。
    internelp
        28
    internelp  
       2020-09-08 10:08:52 +08:00
    速度好快呀。
    YuxiangLuo
        29
    YuxiangLuo  
       2020-09-08 10:13:45 +08:00
    试用了,小说很好看
    a570295535
        30
    a570295535  
       2020-09-08 10:15:34 +08:00 via Android
    看到你这个我想到了之前用的 ftp 管理器挺好用的,
    不用数据库,
    传到空间就能用,
    不管填入哪个服务器的 ftp 账号密码都能进入相应的空间管理所有的东西,
    简单实用,
    就是 ftp 管理器界面不如网盘类界面好看。
    Dganzh
        31
    Dganzh  
       2020-09-08 10:19:30 +08:00
    那个 1.MP3 是什么内容,求 V 友告知
    tcfenix
        32
    tcfenix  
       2020-09-08 10:23:23 +08:00
    谢谢楼主, 好人一生平安
    8jinmuyan8
        33
    8jinmuyan8  
       2020-09-08 10:42:49 +08:00 via iPhone
    Cloudreve
    jeremaihloo
        34
    jeremaihloo  
       2020-09-08 10:45:56 +08:00
    @Mitt #17 百度盘分分钟把你的视频和谐了, 你觉着有安全性吗?
    Cursor1st
        35
    Cursor1st  
       2020-09-08 10:53:28 +08:00
    流畅度挺高的,赞赞赞
    r9sky
        36
    r9sky  
       2020-09-08 10:54:50 +08:00
    Cloudreve
    ragnaroks
        37
    ragnaroks  
       2020-09-08 11:13:40 +08:00
    @cmdOptionKana 确实有这个情况,我从百度网盘下载的压缩包,无法通过测试(但强制解压后使用好像也没问题),目前用微云,前后传输了几 T 的内容,暂未出现过错误
    RRRoger
        38
    RRRoger  
       2020-09-08 11:22:37 +08:00
    登录看了一下 我想说好人一生平安
    saltbo
        39
    saltbo  
    OP
       2020-09-08 11:27:01 +08:00   ❤️ 1
    @ray2018 我其实不太理解 为啥不直接使用谷歌云盘和 onedrive 呢?

    @huobazi 是的,这个问题我认真思考过。百度网盘现在已经是一个生态,很多资源都在上面,然后其他人可以一键保存到自己的账户。所以我有考虑给 ZPan 集成百度网盘账户登录功能,这样我们就可以通过离线下载的方式将百度网盘上的内容转存到私人网盘里。 如果用的用户多了还可以做一个 ZPan 的分享站,让所有基于 ZPan 的私人网盘内容可以互相分享。
    RockShake
        40
    RockShake  
       2020-09-08 11:27:04 +08:00
    登陆以后, 我只想说你们太有才了
    saltbo
        41
    saltbo  
    OP
       2020-09-08 11:32:17 +08:00
    @madlifer 离线下载、WebDav 会考虑,但是我们不打算支持本地存储。因为 ZPan 就是为了解决上传下载限速的问题,本地文件系统就受限于服务器自身的带宽。而关于多节点本地存储会从架构上考虑会破坏既定架构。

    如果需要自己存储,那么我更推荐自建 MinIO 。这样,从架构上来说存储和管理是分离的,各司其职。
    cmdOptionKana
        42
    cmdOptionKana  
       2020-09-08 12:17:27 +08:00 via Android
    @ragnaroks 出错概率与储存时间成正比,三五年可能没问题,十年二十年不做完整性检查就比较让人担忧了。当然,大多数文件都不是很重要,损坏就损坏了,我只是指出有这个潜在风险。
    locoz
        43
    locoz  
       2020-09-08 12:26:32 +08:00 via Android
    我发现楼主和前面的回复都没有注意到一个问题,那就是其实 owncloud 、nextcloud 、seafile 之类的传统网盘也都可以直接对接云服务厂商的对象存储…而且对接起来也没啥难度,和正常用 SDK 一样填个公私钥、桶名称啥的就完事了。
    saltbo
        44
    saltbo  
    OP
       2020-09-08 12:37:16 +08:00
    @locoz 据我了解他们都是通过在服务器上挂载 OSS 来实现的 也就是说没有直链,还是经过了一层服务器转发
    zst
        45
    zst  
       2020-09-08 12:41:54 +08:00 via Android
    话说想知道用 oss 的话每个月大概花多少钱啊
    还有就是存储能不能加密啊
    saltbo
        46
    saltbo  
    OP
       2020-09-08 12:43:11 +08:00
    @zst 支持服务端加密的。费用的话 有三个规格 可以选低频存储 价格会低很多 具体看数据量
    huhexian
        47
    huhexian  
       2020-09-08 12:43:16 +08:00
    国民好老公!
    locoz
        48
    locoz  
       2020-09-08 13:02:48 +08:00 via Android
    @saltbo #44 首先,直链的意义并不大…直接本地跑一个服务就是走内网 /没有中转的直链了。
    或者可以更简单粗暴一点,服务器网络按量付费,走内网读写对象存储(免费),带宽费和直接读写对象存储是一样的。
    ylsc633
        49
    ylsc633  
       2020-09-08 14:00:57 +08:00
    很棒啊
    vanwtf
        50
    vanwtf  
       2020-09-08 14:03:38 +08:00
    收藏 /star 了,等学 go 再看,支持楼主,赞赞赞
    aoeui
        51
    aoeui  
       2020-09-08 15:53:20 +08:00
    @cmdOptionKana
    百度的问题我们不讨论。OneDrive 那个确定不是他自己电脑文件损坏然后同步到服务器的?
    OneDrive / Google Drive 不保证数据可用性的官方说明链接在哪里?我是没找到。
    cmdOptionKana
        52
    cmdOptionKana  
       2020-09-08 16:10:49 +08:00   ❤️ 1
    @aoeui 就以百度为例吧,看这里 https://cloud.baidu.com/doc/BOS/s/njwvyshrl

    数据在 BOS 上是否会丢失或损坏?
    BOS 提供多重备份,和数据自动修复的能力,提供了 99.99999999%的数据可靠性和 99.9%的服务可用性。

    其他腾讯云、阿里云、外国云的对象储存都是类似的,都能找到冗余储存、自动修复、可靠性、可用性的说明。

    但是,面对普通大众的便宜云盘,你都找不到这些保证。

    有保证是会主动说出来的,这是卖点,没有保证就不会提起,这是正常的商品销售方法。
    Musir
        53
    Musir  
       2020-09-09 04:51:27 +08:00
    手机预览 ui 不友好,有待改进
    yulang
        54
    yulang  
       2020-09-09 08:28:03 +08:00
    q9OxQg
        55
    q9OxQg  
       2020-09-09 08:50:00 +08:00
    @YuxiangLuo 啥小说,啥内容,我进去是不是太晚了?
    hauzi
        56
    hauzi  
       2020-09-09 10:06:58 +08:00
    好酷哦,速度挺快的
    saltbo
        57
    saltbo  
    OP
       2020-09-09 10:46:48 +08:00
    @Musir 哈哈哈 你要求真高 移动端适配我们还没想好要不要做呢
    madlifer
        58
    madlifer  
       2020-09-09 11:21:41 +08:00
    @saltbo 如果不考虑本地储存的话,那就把 GD 和 OD 、OD 世纪互联优先级提高吧。
    提供一个可参考的开源 PR:OneManager-php

    解答你一下为什么不直接用 OD/GD 的问题,我不用 GD,所以主要说 OD 的

    1.由于网络问题,OD 和 GD 网页端体验实在太差,不支持直链 share(或者太长)
    2.OD 在 win 下几乎找不到可用的 WebDav 方式
    3.OD Client 经常遇到保存 Office 文件到网盘,打开后提示 loginto MS 的情况
    madlifer
        59
    madlifer  
       2020-09-09 11:22:39 +08:00
    @saltbo
    还有关于为什么要支持本地储存和 OD

    就是大部分博主把网盘用来分发文件,这种需求下

    OSS 买不起
    本地储存 buy big disk server 就行了,很 cheap
    OD 、GD 可以白 X
    madlifer
        60
    madlifer  
       2020-09-09 11:23:04 +08:00
    V2ex 的敏感字符限制也太死了...........
    zzl22100048
        61
    zzl22100048  
       2020-09-09 13:00:56 +08:00 via iPhone
    前端可以参考下 filebrowser,
    saltbo
        62
    saltbo  
    OP
       2020-09-09 23:15:26 +08:00
    @yulang 你这个是什么设备啊 正常没出现一个点啊
    saltbo
        63
    saltbo  
    OP
       2020-09-09 23:20:06 +08:00
    @madlifer

    1.网络问题,难道你想把 ZPan 部署在境外服务器么,否则无法解决网络问题啊。 但是与其这样,直接 FQ 不好么
    2.你的意思是通过网盘来做 WebDav 的中转么,那还是依赖服务器的带宽啊
    3.这是 client 的问题还是 onedrive 本身的问题呢?
    cernard
        64
    cernard  
       2020-09-10 12:14:19 +08:00
    有没有人一起在 zpan 做互动小说
    abser
        65
    abser  
       2020-09-10 12:45:14 +08:00 via iPhone
    @cmdOptionKana 支持一下,求个互关
    Musir
        66
    Musir  
       2020-09-10 14:36:30 +08:00 via Android
    @saltbo 手机用户这么多,还是做吧,期待
    saltbo
        67
    saltbo  
    OP
       2020-09-10 14:47:09 +08:00
    @Musir 已经放到了路线图的 step-3 中 如果使用的用户多 后面就会做的
    firefox12
        68
    firefox12  
       2020-09-10 17:00:55 +08:00
    好奇 速度为什么这么快? 哪家的 vps?
    Tigerw
        69
    Tigerw  
       2020-09-11 10:17:06 +08:00
    企业会不会自己搭建一个自己的呢?
    saltbo
        70
    saltbo  
    OP
       2020-09-11 11:23:55 +08:00
    @firefox12 仔细看文档 我们基于云存储 不用 vps 的本地文件系统来存储


    @Tigerw 目前还是 beta 版本 等 stable 一会当然是可以给企业搭建的
    firefox12
        71
    firefox12  
       2020-09-12 11:00:23 +08:00
    @saltbo 你的这个设计,我们看到的站点 其实是个 client, 把云存储上的数据 搬给我们,我们并没直接去云存储里拿数据吧。
    taobibi
        72
    taobibi  
       2020-09-12 18:59:54 +08:00
    onedrive 扩容,或者 onedrive 转存很有用途 好多人都有拼车的 office365
    saltbo
        73
    saltbo  
    OP
       2020-09-12 21:08:48 +08:00
    @firefox12 不是的啊 上传和下载都是直连云存储的,zpan 的站点只提供了一个可视化管理页面而已。
    kutear
        74
    kutear  
       2020-09-14 14:14:44 +08:00
    和你同样的想法 目前还在 coding 中 😭
    saltbo
        75
    saltbo  
    OP
       2020-09-14 17:40:39 +08:00
    @kutear 写了多少了 不多的话欢迎来一起开发 zpan
    foMM
        76
    foMM  
       2020-09-16 10:24:58 +08:00
    请教一下文档里面 customHost 是用来做什么的?谢谢
    saltbo
        77
    saltbo  
    OP
       2020-09-16 10:51:00 +08:00
    @foMM 自定义域名,一般云存储都支持绑定自己的域名,绑定后上传下载都走自己的域名,看上去更牛逼~
    foMM
        78
    foMM  
       2020-09-16 12:34:56 +08:00
    @saltbo

    谢谢。我尝试了一下绑定 oracle 的 object storage bucket,使用 sqlite 作为数据库。
    根据文档里面

    driver & dsn
    sqlite: zpan.db

    我在 zpan.yml 里 database 是这么写的:
    database:
    driver: sqlite
    dsn: zpan.db

    但是 container 报错

    Using config file: /zpan/zpan.yml
    `sqlite` is not officially supported, running under compatibility mode.
    2020/09/16 04:31:55 sql: unknown driver "sqlite" (forgotten import?)

    请问一下如何可以成功使用 sqlite 作为数据库呢?
    谢谢
    saltbo
        79
    saltbo  
    OP
       2020-09-16 13:27:48 +08:00
    抱歉,文档可能出错了,你试试改成 sqlite3 呢

    另外,目前还不支持 oracle 的 object storage
    foMM
        80
    foMM  
       2020-09-16 21:59:18 +08:00
    @saltbo

    `sqlite3` 事实证明是可以用的

    ![image.png]( https://i.loli.net/2020/09/16/37Fc4ERPg2xjsUo.png)

    可以登录,但是如您所说 oracle 暂时还不支持。

    看到 roadmap 上面有之后会支持 aws S3 和 google cloud,不知道是否有可能做成只要是 S3 compatible 都支持,例如 Digitalocean spaces,oracle object 等。

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

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

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

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

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

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