Cloudreve网盘V3版本搭建(go语言)或从V2版本升级 Aria2离线下载配置

原创  郑建华   2020-05-09   1871人阅读  0 条评论

Cloudreve作者在前段时间,使用 Go 语言 / Gin 重构了一遍,除了修复 V2 版本被诟病很多的 Bug 外,还增加了很多令人兴奋的新特性。


Cloudreve 是什么?

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

特性列表

  • 支持本机、从机、七牛、阿里云 OSS 、腾讯云 COS 、又拍云、OneDrive (包括世纪互联版) 作为存储端

  • 上传 /下载 支持客户端直传,支持下载限速

  • 可对接 Aria2 离线下载

  • 在线 压缩 /解压缩、多文件打包下载

  • 覆盖全部存储策略的 WebDAV 协议支持

  • 拖拽上传、目录上传、流式上传处理

  • 文件拖拽管理

  • 多用户、用户组

  • 创建文件、目录的分享链接,可设定自动过期

  • 视频、图像、音频、文本、Office 文档在线预览

  • 自定义配色、黑暗模式、PWA 应用、全站单页应用

  • All-In-One 打包,开箱即用



本人搭建V3版本的演示站地址:https://cloudreve3.zjh336.cn/

image.png


好东西总是要尝试一下的,整个过程我用了一两天时间,在这个过程中也发现一些问题,对于我来说,直接升级V3版本替换之前的程序可能并不太合适。接下来先讲一下升级过程,再说说不合适的地方。


一、下载应用

网盘链接(windows版本V3程序):https://cloudreve.zjh336.cn/s/0tqxucx9   密码:zjh336.cn

网盘链接(V2升级V3版本增量包):https://cloudreve.zjh336.cn/s/evasmxfx   密码:zjh336.cn

github官方下载地址:https://github.com/cloudreve/Cloudreve/releases/tag/3.0.0

官方教程地址:https://docs.cloudreve.org/

image.png

根据自己的需求下载对应程序


二、启动程序

1、全新部署

在任意路径下

linux程序

#解压获取到的主程序
tar -zxvf cloudreve_VERSION_OS_ARCH.tar.gz
# 赋予执行权限
chmod +x ./cloudreve
# 启动 Cloudreve
./cloudreve

windows程序

直接解压获取到的 zip 压缩包,启动 cloudreve.exe 即可。


Cloudreve 在首次启动时,会创建初始管理员账号,请注意保管管理员密码,此密码只会在首次启动时出现。如果您忘记初始管理员密码,需要删除同级目录下的cloudreve.db,重新启动主程序以初始化新的管理员账户。

Cloudreve 默认会监听5212端口。你可以在浏览器中访问http://服务器IP:5212进入 Cloudreve。


2、从V2升级到V3

则需要将程序包放到原V2程序根目录下

image.png

首次启动时,Cloudreve 会在同级目录下创建名为conf.ini的配置文件,你可以修改此文件进行一些参数的配置,保存后需要重新启动 Cloudreve 生效。

默认情况下,Cloudreve 会使用内置的 SQLite 数据库,并在同级目录创建数据库文件cloudreve.db,如果您想要使用 MySQL,请在配置文件中加入以下内容,并重启 Cloudreve。注意,Cloudreve 只支持大于或等于 5.7 版本的 MySQL 。

切换mysql数据库,修改conf.ini文件,在其中加入如下内容

[Database]
; 数据库类型,目前支持 sqlite | mysql
Type = mysql
; MySQL 端口
Port = 3306
; 用户名
User = root
; 密码
Password = root
; 数据库地址
Host = 127.0.0.1
; 数据库名称
Name = v3
; 数据表前缀
TablePrefix = cd

重启后,会使用配置数据库,并重新初始化数据库内容

image.png

三、宝塔面板配置应用

1、全新部署

1)创建纯静态应用

image.png

2)开启SSL

image.png

image.png

3)增加代理配置,80 、443 端口均需添加 ProxyPass "/" "http://127.0.0.1:5212/"

image.png

image.png

4)完成配置,使用域名访问 https://cloudreve3.zjh336.cn

2、V2版本升级

直接在原V2版本网站中,配置文件处,参考上述3)步骤添加ip代理设置,即可成功切换访问内容为V3版本网站


四、运行升级助手(可选)

此步骤仅限从V2升级到V3版本

1、下载对应增量包到V2版本网站根目录下,解压覆盖

image.png

2、在V2网站根目录下执行命令

php upgrade run

image.png

尴尬的是,windows版本下,命令行显示乱码,原因是,下列升级文件是UTF-8无BOM格式编码,命令行不能识别,尝试过切换编码格式以及设置命令行编码显示,均不生效,只能根据如下图文件内容,猜测提示信息内容了,影响倒是也不大,按照顺序填写V3版本的数据库连接地址,端口,用户名,密码,数据库名,数据库表前缀,注意要和之前步骤中conf.ini中的内容一致

image.png

3、命令执行成功后,就可以登录V3系统了,此时数据已经从V2版本同步到V3版本中了,直接访问V3系统。

如需切换回V2版本,只需注释掉网站配置中的 ProxyPass "/" "http://127.0.0.1:5212/"

 

五、配置OSS地址

V3版本与V2版本在配置阿里云OSS存储策略时,是有所不同的

先来看看V2版本的配置

image.png

其中上传域名,一般配置成下图中 外网访问的Bucket域名地址,空间域名与外网访问的Bucket域名保持一致

由于我在V2版本中,利用ECS反向代理,做了处理,代理的内网访问的Bucket域名,减免大部分的外网流量费,具体参考《Cloudreve网盘对接阿里云对象储存OSS,还能这样做,节省一笔外网流量费用》所以空间域名是填写的代理地址

image.png

再来看看V3版本配置

根据向导模式配置后,再来查看专家模式,如下图

image.png

与V2版本不同的是,Server填写的是储存端的Endpoint

对应的内容是oss-cn-shenzhen.aliyuncs.com,与bucket域名相比,少了bucket名称的前缀

我估计V3版本取值是结合配置中的BucketName与Server两项内容,与V2版本中的上传域名对应

而V3版本中的文件资源根URL是默认为空的,我猜测,访问内容时,也是默认取BucketName与Server项目,与V2版本中的空间域名相对应

尝试将结合地址配置到文件资源根URL中,网盘文件是能够正常访问的


六、V2升级V3版本问题清单

问题一、没有办法像V2版本那样配置ECS代理地址减免外网流量费用

1)问题就出在V3版本的储存策略配置上了,直接参考V2版本配置,将https://www.zjh336.cn/aliyunoss 配置到文件资源根URL中时,点击下载,提示如下图

image.png

查看地址,其中的https://www.zjh336.cn/aliyunoss 的后缀aliyunoss直接不见了,估计是V3版本中取值的方式不同,将链接截取掉了

2)直接采用二级域名https://aliyunoss.zjh336.cn 再走反向代理指向 https://zjhcloudreve.oss-cn-shenzhen-internal.aliyuncs.com

image.png

image.png

浏览器访问正常

image.png

再将其配置到了文件资源根URL,再次尝试下载文件,返回如图信息

image.png

错误信息是指,需要将bucket设置为公共读

image.png

再次尝试,返回信息

image.png

NoSuchKey是指没有找到对应key的文件

经过尝试,发现,链接中带有%2F等转义字符,将储存策略改为公共读

https://aliyunoss.zjh336.cn/uploads%2F2020%2F05%2F09%2FvTwaahbB_bz7.jpg?Expires=1589040947

再对链接进行解码处理

https://aliyunoss.zjh336.cn/uploads/2020/05/09/vTwaahbB_bz7.jpg?Expires=1589040947

此时的链接,点击是能够正常下载的

image.png

而且,未处理链接在迅雷中也能正常下载

image.png

同样的文件,使用默认的外网地址

https://zjhcloudreve.oss-cn-shenzhen.aliyuncs.com/uploads%2F2020%2F05%2F09%2FvTwaahbB_bz7.jpg?Expires=1589041343 又能够触发下载

给阿里云提交了工单,也没有得到实际的解决

image.png

实在搞不懂,还能怎么处理这个问题

另外再对照V2版本中,我做了代理访问的地址,查看下载实际链接

image.png

发现其中链接后缀没有被截断,还是完整的https://www.zjh336.cn/aliyunoss 的前缀,并且后续到文件的路径中,/也并没有被转义成%2F 难怪V2版本的这样处理是没有问题的咯


综上结论

V3版本要想通过代理方式减免流量费用,要么阿里云做处理,对链接进行解码处理,要么我能自己改cloudreve程序,让其中的主链接部分不进行编码操作。

想要阿里云的处理这个问题,我感觉是想多了;而自己改cloudreve程序呢,我也尝试下载了源码程序,使用everything工具根据关键字检索相关内容,然而我发现,这我还是想多了,以我这水平,也难得改,代码都看不太懂。


问题二、V3版本的分享链接问题

1)V3版本的链接格式与V2版本不一致  中间多了个#

image.png

2)通过程序升级助手导入到V3数据库后的分享链接,地址都进行了变化,后缀参数都重新生成了

3)由于在博客中分享了很多链接,如果升级V3版本后,分享地址就使用不了了的话,就很难搞。



基于上述原因

1、不能减免流量费用,1GB 0.5元 耗费不起

2、文章中的链接都不能使用了,影响太大。


所以,即使V3版本功能更炫,界面效果更好,我还是决定继续使用V2版本。


六、离线下载

aria2下载

网盘链接:https://cloudreve.zjh336.cn/s/8e5kuha9   密码:zjh336.cn

1、下载aria2,解压到服务器

image.png

2、修改配置

rpc-listen-port端口

rpc-secret令牌

3、双击start.bat,启动应用

4、设置RPC服务器地址以及secret信息,点击测试连接,连接成功

image.png

5、用户组允许离线下载

image.png

6、空白处右键,离线下载

image.png


本文地址:https://www.zjh336.cn/?id=372
版权声明:本文为原创文章,版权归 郑建华 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?