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

把你的网盘当作 CDN,有独立域名和 https,而且兼容 AWS S3 API

  •  3
     
  •   BeanYoung · 2021-02-25 15:57:24 +08:00 · 5584 次点击
    这是一个创建于 1127 天前的主题,其中的信息可能已经有所发展或是发生改变。

    首先,是个悲伤的故事,有房贷要养娃的我要失业了。

    福兮祸兮,只能安慰自己能有更多时间来带娃和写 PoweredBy.Cloud 了。

    PoweredBy.Cloud 可以将你的 GoogleDrive 和 OneDrive 变成 CDN,而且有独立域名和 https 。两个多月前在这里发过一些介绍 https://v2ex.com/t/740695

    最近一个多月花了点时间,给 PoweredBy.Cloud 加了 AWS S3 API 支持。也就是说现在你可以使用 AWS 官方 SDK 、AWS 官方 CLI 、s3cmd 或者其他 AWS S3 的工具来访问 GoogleDrive 和 OneDrive 里的文件。

    支持的 AWS S3 API 包括:

    • DeleteObject
    • GetObject
    • HeadBucket
    • HeadObject
    • ListBuckets
    • ListObjects
    • ListObjectsV2
    • PutObject

    使用教程可以参考 https://github.com/PoweredByCloud/PoweredByCloud/blob/main/s3_compatible_api.md

    PoweredBy.Cloud 这几个月其实还有挺多好玩的事。

    有个欧洲组织帆船比赛的六十多岁的老大爷用 GoogleDrive 当作 CDN 的时候,遇到了个 bug,后来发现是 google drive api 有 issue,聊着聊着就聊到了其他地方,比如因为疫情他已经很久没见过九十多岁的父亲了。还有印尼大学生用户,他们做的学校社团网站也用了 PoweredBy.Cloud。还有个墨西哥的哥们上传了几万个 pdf,都是西班牙语,看不懂是啥东西。

    扯的有点远了,哈哈。这东西也许你现在用不到,可以点个收藏,将来也许能用上。

    如果你使用过程中发现了 bug,欢迎来 https://github.com/PoweredByCloud/PoweredByCloud/issues 提交 issue 。

    下面的图片是我的微信,也是放在了 PoweredBy.Cloud ,大家可以测测速度

    34 条回复    2023-04-06 16:01:54 +08:00
    alexkuang
        1
    alexkuang  
       2021-02-25 17:17:23 +08:00
    可以的,大学生无限 Drive 用户路过,不过不违反 Google TOS 吗
    BeanYoung
        2
    BeanYoung  
    OP
       2021-02-25 17:47:00 +08:00
    @alexkuang 不违反

    无限 drive 你可以试试,不一定能支持。onedrive 目前只支持个人账号
    codehz
        3
    codehz  
       2021-02-26 00:47:10 +08:00
    用 minio 的客户端 mc 无法列出目录内容,开局一个 GET /<bucket>/?location= 请求就直接 501 了
    msg7086
        4
    msg7086  
       2021-02-26 02:27:53 +08:00
    我是搞了个 cloudflare worker 来连 Google Drive 和 OneDrive 。
    BeanYoung
        5
    BeanYoung  
    OP
       2021-02-26 08:29:20 +08:00
    @codehz 这是调用了 GetBucketLocation api,现在还不支持,哈哈
    yuhangch
        6
    yuhangch  
       2021-02-26 12:13:10 +08:00
    感觉做的东西能能帮到好有成就感啊!
    kiduu
        7
    kiduu  
       2021-02-26 12:15:14 +08:00
    体验了一下我想不通这个为啥叫 CDN ?感觉和那些网盘目录列表差不多,优点就是用你的服务器走 CF 的网络,使用体验感觉更多的贴近于对象存储才对,也许我理解有问题,程序本身还是挺方便的,顺便希望支持一下 onedrive 的商业版
    BeanYoung
        8
    BeanYoung  
    OP
       2021-02-26 12:56:35 +08:00
    @codehz 加了 GetBucketLocation api,简单测了一下 minio,上传下载删除这些基本功能应该是支持了,你可以再试试
    BeanYoung
        9
    BeanYoung  
    OP
       2021-02-26 13:04:51 +08:00
    @kiduu CDN 和 object storage 我觉得主要区别在于前者更强调网络,后者更强调存储。PoweredBy.Cloud 更多还是提供了网络的功能,这是我的理解。
    Clash
        10
    Clash  
       2021-02-26 18:33:30 +08:00
    看前文以后会支持 Dropbox ?期待。
    awthink
        11
    awthink  
       2021-02-27 15:51:40 +08:00
    怎么绑定独立域名?
    BeanYoung
        12
    BeanYoung  
    OP
       2021-02-27 20:20:05 +08:00
    @awthink 目前没有计划做域名绑定。

    如果支持了域名绑定,你会为了支持 https 而把域名的 ssl 证书上传到 PoweredBy.Cloud 吗?
    awthink
        13
    awthink  
       2021-02-27 20:30:59 +08:00
    @BeanYoung #12 看标题写有独立域名,理解错了
    另外想问下怎么取消 OneDrive 的授权,或者换一个账号进行授权?网站上没找到,到微软家把授权删除了,网站这边也没有解绑,还是不能换绑
    BeanYoung
        14
    BeanYoung  
    OP
       2021-02-27 23:05:31 +08:00
    @awthink 目前不支持更换 onedrive 的账号,你如果想换个 onedrive 账号的话,一个方法是拿另外一个邮箱重新注册个账号,如果是 gmail 的话,非常简单,在你的邮箱名后面加上 "+abc",类似 [email protected] 这样。另外一个方法是你加我微信,把你的账号告诉我,然后我在后台把你的 onedrive 删掉。
    awthink
        15
    awthink  
       2021-02-28 09:53:00 +08:00
    @BeanYoung #14 感谢回复
    iConnect
        16
    iConnect  
       2021-02-28 10:08:31 +08:00 via Android
    可以支持一下阿里云、腾讯云这几家国内云的对象存储 api 吗?
    BeanYoung
        17
    BeanYoung  
    OP
       2021-02-28 14:48:11 +08:00 via iPhone
    @iConnect 没太明白,你是想用阿里云和腾讯云的 api 来访问 google drive 和 onedrive 吗?还是说想用 s3api 访问阿里云和腾讯云
    imzcg2
        18
    imzcg2  
       2021-02-28 15:18:07 +08:00 via Android
    https://www.jetbrains.com/intellij-repository/releases/com/jetbrains/intellij/idea/ideaIC/2020.3.2/ideaIC-2020.3.2.zip

    这种 url +路径拼接的文件下载支持吗?

    因为这个是国外的下载慢,我想改国内的
    imzcg2
        19
    imzcg2  
       2021-02-28 15:19:18 +08:00 via Android
    @imzcg2 想女票一下 onedrive
    BeanYoung
        20
    BeanYoung  
    OP
       2021-02-28 16:43:38 +08:00 via iPhone
    @imzcg2 支持
    WishMeLz
        21
    WishMeLz  
       2021-02-28 23:08:01 +08:00
    我都是用的 github 。用 api 上传图片。然后使用免费的 jsDelivr CDN 加速。 一开始我是手动上传。后来我嫌麻烦就直接写了一个项目专门用。
    iphantom
        22
    iphantom  
       2021-03-01 10:54:21 +08:00
    支持 支持
    alexkuang
        23
    alexkuang  
       2021-03-02 06:14:35 +08:00
    @WishMeLz #21 用 jsDelivr 做图床是违反 TOS 的
    codehz
        24
    codehz  
       2021-03-03 01:32:08 +08:00
    @BeanYoung #8 rm 的还是报错不支持
    POST /<bucket>/?delete=
    HTTP/1.1 501 Not Implemented
    BeanYoung
        25
    BeanYoung  
    OP
       2021-03-03 08:22:01 +08:00
    @codehz 这个是批量删除,目前不支持
    BeanYoung
        26
    BeanYoung  
    OP
       2021-03-03 08:23:01 +08:00
    @codehz 最近在做批量删除的功能,包括 PoweredBy.Cloud 的控制台上的批量删除
    lovestudykid
        27
    lovestudykid  
       2021-03-03 11:13:32 +08:00 via iPhone
    @alexkuang 要同时保证国内外的访问质量似乎没有更方便的选择。介意的话就捐钱。反正个人少量使用官方也不会管
    alexkuang
        28
    alexkuang  
       2021-03-03 11:35:45 +08:00
    @lovestudykid #27 真别滥用,本来就不是给人这样用的。现在这样用的人也不少了某些图床 app 还带头支持。
    要想国内访问好就乖乖墙内备案充钱吧,我自己是佛系建站懒得伺候了。
    docx
        29
    docx  
       2021-03-04 03:04:53 +08:00 via Android
    @kiduu 这标题实在今人误解。
    codehz
        30
    codehz  
       2021-03-04 08:09:02 +08:00 via Android
    @BeanYoung 但是其实我只指定了一个文件(
    BeanYoung
        31
    BeanYoung  
    OP
       2021-03-04 08:21:56 +08:00 via iPhone
    @codehz 估计是 minio 为了省事不管多少个文件都调用批量接口
    imaning
        32
    imaning  
       2021-03-05 08:57:16 +08:00
    之前见过一个直播地址,hls 流,把谷歌盘作为 ts 切片的 cdn,但是还奇怪是用什么方式实现的。
    1613090
        33
    1613090  
       2021-03-29 09:57:50 +08:00 via iPad
    @BeanYoung 有免费 ssl 啊
    qbmiller
        34
    qbmiller  
       357 天前
    买服务器 搭建 minio ,然后绑定 cloudflare cdn 有办法吗。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3160 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 13:03 · PVG 21:03 · LAX 06:03 · JFK 09:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.