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

把 Cloudreve 网盘用 Go 重构了下,支持六种主流云存储 / WebDAV / 多用户 / Aria2

  •  5
     
  •   AaronLiu00 ·
    HFO4 · 2020-03-27 16:38:02 +08:00 · 62986 次点击
    这是一个创建于 1705 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚好这段时间学校没开课,空闲时间较多,用了大概六个月的时间,把 Cloudreve 用 Go 语言 / Gin 重构了一遍,除了修复 V2 版本被诟病很多的 Bug 外,还增加了很多令人兴奋的新特性。

    Cloudreve 是什么?

    Cloudreve 是个公有网盘程序,你可以用它快速搭建起自己的网盘服务,公有云 /私有云都可。Cloudreve 底层支持 本机存储、从机存储、阿里云 OSS 、又拍云、腾讯云 COS 、七牛云存储、OneDrive (国际版 /世纪互联版),每种存储方式的上传下载都是客户端直传

    特性列表

    • 支持本机、从机、七牛、阿里云 OSS 、腾讯云 COS 、又拍云、OneDrive (包括世纪互联版) 作为存储端
    • 上传 /下载 支持客户端直传,支持下载限速
    • 可对接 Aria2 离线下载
    • 在线 压缩 /解压缩、多文件打包下载
    • 覆盖全部存储策略的 WebDAV 协议支持
    • 拖拽上传、目录上传、流式上传处理
    • 文件拖拽管理
    • 多用户、用户组
    • 创建文件、目录的分享链接,可设定自动过期
    • 视频、图像、音频、文本、Office 文档在线预览
    • 自定义配色、黑暗模式、PWA 应用、全站单页应用
    • All-In-One 打包,开箱即用

    截图与演示

    演示站点:https://demo.cloudreve.org Homepage 目录分享 离线下载 后台 支持的存储策略

    相关连接

    GitHub Repo: https://github.com/cloudreve/Cloudreve

    TG 群组:https://t.me/cloudreve_official

    64 条回复    2021-03-17 10:11:49 +08:00
    natforum
        1
    natforum  
       2020-03-27 16:51:58 +08:00
    沙发,牛逼,之前是 php 的,现在直接重构了
    Reficul
        2
    Reficul  
       2020-03-27 17:32:28 +08:00
    666
    xdeng
        3
    xdeng  
       2020-03-27 18:29:47 +08:00
    试了挺好 要是有一个不含 支付宝 微信 积分 增值服务 商业服务的版本啊
    williamchen
        4
    williamchen  
       2020-03-27 19:09:30 +08:00
    很赞
    neteroster
        5
    neteroster  
       2020-03-27 19:21:54 +08:00 via Android
    UI 很漂亮!
    4GNK
        6
    4GNK  
       2020-03-27 19:57:13 +08:00
    太棒了!!!!
    WEBUG
        7
    WEBUG  
       2020-03-27 20:04:03 +08:00 via Android
    存储方式可以选择多个吗,比如两个世纪互联
    imnpc
        8
    imnpc  
       2020-03-27 20:06:17 +08:00
    是否支持 API 上传呢...webdav 好像只支持本机策略
    melonzzz
        9
    melonzzz  
       2020-03-27 20:07:01 +08:00 via Android
    留下了没有技术的泪水
    AaronLiu00
        10
    AaronLiu00  
    OP
       2020-03-27 20:08:05 +08:00 via Android
    @imnpc WebDAV 是支持所有存储策略的
    imnpc
        11
    imnpc  
       2020-03-27 20:12:57 +08:00
    @AaronLiu00 #10 我是想利用程序的 API 直接 POST 提交文件过去 然后自动按照策略上传到不同的空间里...
    huangtao728
        12
    huangtao728  
       2020-03-27 20:17:04 +08:00
    请问现有 V2 版本可以升级吗
    AaronLiu00
        13
    AaronLiu00  
    OP
       2020-03-27 20:24:54 +08:00 via Android
    @huangtao728 正式版发布后可以升级
    @imnpc 可以用 WebDAV 的上传接口,加上需要预先切换存储策略
    SquirrelMAN
        14
    SquirrelMAN  
       2020-03-27 21:31:18 +08:00   ❤️ 1
    🐂🍺👍❕
    Jevan
        15
    Jevan  
       2020-03-27 21:46:34 +08:00
    nice,感谢楼主。正好缺一个图床和私人网盘的程序。
    Takuron
        16
    Takuron  
       2020-03-27 21:50:20 +08:00 via Android
    好东西,赞
    有无 docker 版本? docker 用的不熟只能吃现成的
    AaronLiu00
        17
    AaronLiu00  
    OP
       2020-03-27 21:56:59 +08:00 via Android   ❤️ 2
    Techzero
        18
    Techzero  
       2020-03-27 22:03:44 +08:00 via Android
    支持文件系统监控吗?原来用的 nextcloud,映射的目录每次有文件改动都要手动扫描
    AaronLiu00
        19
    AaronLiu00  
    OP
       2020-03-27 22:04:27 +08:00 via Android
    @Techzero 不支持的
    Techzero
        20
    Techzero  
       2020-03-27 22:05:56 +08:00 via Android
    @AaronLiu00 那请问有扫描命令吗?看了一下 UI,准备换过来试试了,感谢
    AaronLiu00
        21
    AaronLiu00  
    OP
       2020-03-27 22:16:23 +08:00 via Android
    @Techzero 目前版本还没有,不过已经在计划中了
    keepeye
        22
    keepeye  
       2020-03-27 22:40:12 +08:00
    第一张图不是在浏览器中吗?
    AaronLiu00
        23
    AaronLiu00  
    OP
       2020-03-27 22:42:31 +08:00 via Android
    @keepeye 是 Chrome 桌面端的 PWA 模式
    ArJun
        24
    ArJun  
       2020-03-27 22:49:56 +08:00
    go 真牛皮,看了下代码量也不是很大
    okjb
        25
    okjb  
       2020-03-28 00:52:19 +08:00 via Android
    惊了
    wpblank
        26
    wpblank  
       2020-03-28 02:00:07 +08:00 via iPhone
    好多网盘项目都长这个样子,想问下这是一种设计风格吗?
    noqwerty
        27
    noqwerty  
       2020-03-28 05:28:55 +08:00 via Android
    @wpblank material design 吧
    sky96111
        28
    sky96111  
       2020-03-28 09:52:28 +08:00 via Android
    太 nb 了!
    试了一下,UI 很棒,准备换掉停止维护的 filebrowser 了。不过好像没法查看管理非通过 cloudreve 上传的文件?
    star7th
        29
    star7th  
       2020-03-28 10:00:36 +08:00
    似乎只能选择一个存储策略。我希望以后可以考虑出一个加密备份功能。上传一份后,加密备份到其他存储空间去。这样避免丢数据的风险。
    AaronLiu00
        30
    AaronLiu00  
    OP
       2020-03-28 10:00:40 +08:00 via Android
    @sky96111 是的,文件机构流是单向的。后面会增加扫描导入功能
    zhaoxiting1997
        31
    zhaoxiting1997  
       2020-03-28 10:24:18 +08:00
    能支持 LDAP 或者 Oauth 登录吗
    wpblank
        32
    wpblank  
       2020-03-28 12:30:54 +08:00
    试了下,还在研究,看文档说 OneDrive 不支持直链?我之前用 oneindex 是可以提取直链的
    AaronLiu00
        33
    AaronLiu00  
    OP
       2020-03-28 12:37:12 +08:00 via Android
    @wpblank OneDrive API 返回的直链有效期只有 1h
    ety001
        34
    ety001  
       2020-03-28 13:01:18 +08:00
    没有 docker 封装吗?
    wpblank
        35
    wpblank  
       2020-03-28 13:08:13 +08:00
    @AaronLiu00 oneindex 是返回 我的域名+路径+文件 这种直链,然后真实下载地址在缓存里,可能是每次请求这个直链时再请求下真实的下载地址吧
    xav1er4s
        36
    xav1er4s  
       2020-03-28 14:45:35 +08:00
    同求一个 docker 镜像
    sky96111
        37
    sky96111  
       2020-03-28 15:31:16 +08:00 via Android
    @sky96111 扫描导入,能直接沿用目录结构吗?目前发现文件夹上传,不同文件夹的文件全部都是在根目录中的,看来就没办法当成一个文件管理器用了
    liyaojian
        38
    liyaojian  
       2020-03-28 16:06:05 +08:00   ❤️ 2
    Showfom
        39
    Showfom  
       2020-03-28 16:08:55 +08:00 via iPhone
    继续等支持 s3
    monkeydev
        40
    monkeydev  
       2020-03-28 16:30:36 +08:00
    @AaronLiu00
    对部署主机配置要求高吗
    AaronLiu00
        41
    AaronLiu00  
    OP
       2020-03-28 16:37:23 +08:00 via Android
    @monkeydev 不高的,当然还是要看用户量
    @Showfom V3 版本暂时去除了 s3 支持,不过后续版本会补回来
    bigbigeggs
        42
    bigbigeggs  
       2020-03-28 16:45:02 +08:00
    妈呀,现在学生都这么强了么。我才刚毕业一年不到,还菜的一批
    oneisall8955
        43
    oneisall8955  
       2020-03-28 17:02:55 +08:00 via Android
    流弊啊!
    Showfom
        44
    Showfom  
       2020-03-28 17:14:50 +08:00 via iPhone
    @AaronLiu00 阿里云 oss 的 api 不是兼容 s3 的么
    AaronLiu00
        45
    AaronLiu00  
    OP
       2020-03-28 17:30:49 +08:00 via Android
    @Showfom 阿里云 OSS 额外多了异步回调,s3 要用别的方法实现回调
    outtime
        46
    outtime  
       2020-03-28 19:25:40 +08:00 via iPhone
    牛逼!
    stille
        47
    stille  
       2020-03-28 19:31:17 +08:00 via iPhone
    期待 cac 模式的 docker-compose 版……
    jh163888
        48
    jh163888  
       2020-03-28 19:41:21 +08:00 via Android
    @stille 哈哈,拐子你来了
    stille
        49
    stille  
       2020-03-28 19:42:24 +08:00 via iPhone
    @jh163888 #48 来了、老弟!
    Showfom
        50
    Showfom  
       2020-03-28 19:51:36 +08:00
    @AaronLiu00 嗯,等你的 s3 支持了 嘿嘿
    loading
        51
    loading  
       2020-03-28 20:16:02 +08:00 via Android
    不能直接使用现有目录,迁移难度有点高。
    molezznet
        52
    molezznet  
       2020-03-28 21:58:24 +08:00
    后台删除的文件,主页上如何清理掉?
    mylighting
        53
    mylighting  
       2020-03-29 13:37:11 +08:00
    @AaronLiu00
    部署试了一下,演示站以及自己部署的,都无法使用离线下载功能,打开后不显示任何操作按钮,Aria2 配置完成,并且测试链接成功,这是什么原因呢? https://imgchr.com/i/GViyR0 https://imgchr.com/i/GVizFA
    AaronLiu00
        54
    AaronLiu00  
    OP
       2020-03-29 14:05:23 +08:00 via Android
    @mylighting 离线下载任务需要在文件列表页创建
    mylighting
        55
    mylighting  
       2020-03-29 14:16:13 +08:00
    @AaronLiu00 原来是这样,谢谢!能否提个小建议,没有文件时,默认显示的文本由 [拖拽文件至此或点击左侧“上传文件”按钮添加文件] 改成 [拖拽文件至此或点击「右下角」“上传文件”按钮添加文件]
    AaronLiu00
        56
    AaronLiu00  
    OP
       2020-03-29 14:57:40 +08:00 via Android
    @mylighting 这个文字描述确实有问题,后面会修复
    daimaosix
        57
    daimaosix  
       2020-03-30 02:08:13 +08:00 via Android
    买了好像三个捐赠版了,一直在用,还是不错的
    DoctorCat
        58
    DoctorCat  
       2020-03-30 02:13:08 +08:00
    厉害
    huahuacui
        59
    huahuacui  
       2020-03-30 09:31:05 +08:00
    打不开啊
    niuxuewei
        60
    niuxuewei  
       2020-03-31 11:28:13 +08:00
    @Takuron #16
    @ety001 #34
    @xav1er4s #36
    @liyaojian #38
    @stille #47
    @AaronLiu00 #56

    Hi, 目前已经更新 CAC 模式的 docker compose 的部署方式,github: https://github.com/xavier-niu/cloudreve-docker

    欢迎尝试🙃
    ntgeralt
        61
    ntgeralt  
       2020-04-27 12:46:59 +08:00
    我上传了个 10MB MP4,好像不能在线播阿
    chins
        62
    chins  
       2020-08-13 11:51:01 +08:00 via Android
    成功了的,来给楼主抱一个喜报 另外问一下可以增加 head 的自定义代码吗?放谷歌联盟
    chins
        63
    chins  
       2020-08-13 11:51:41 +08:00 via Android
    qinsi
        64
    qinsi  
       2021-03-17 10:11:49 +08:00
    go 里面最优秀的一个私有云项目了吧?之前用的 filebrowser
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5347 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 01:19 · PVG 09:19 · LAX 17:19 · JFK 20:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.