原本想要在博客中插入视频,然后这视频如果放在服务器上,服务器带宽就5M这速度加载视频简直在做梦。后来改用云储,腾讯cos这东西真的贵,然后就是各种可以白嫖七牛云(10G),又拍云(10G),但是如果要在博客播放视频那流量费可是高得离谱,最后发现了这个使用cloudreve基于onedrive生成直链免费白嫖方法,那么就开始吧~
cloudreve
cloudreve是开源网盘之一,还有很多著名的nextcloud等等各有各的优点,使用cloudreve最大原因就是可以对接各种云储,其中就包括onedirve。
如此思路就是利用服务器搭建cloudreve然后配置onedrive作为储存空间,上传文件后利用cloudreve的api生成直链。
cloudreve 安装包与安装
cloudreve官网 (https://cloudreve.org/)
官网上有介绍安装说明这里就直接转载一下稍微修饰一下
cloudreve安装很无脑
[来源github的安装包](https://github.com/cloudreve/Cloudreve/releases)
github可能需要用到科学上网,这里提供两个最新版安装包
[windows版本]
https://cloud.oldming.top/api/v3/file/source/291/cloudreve_3.3.2_windows_amd64.zip?sign=bWqMS2Plyf0hTvNoDQgyH-Jef-pR1rExA7stY6sx_jc%3D%3A0
[linux版本(amd架构cpu)https://cloud.oldming.top/api/v3/file/source/292/cloudreve_3.3.2_linux_amd64.tar.gz?sign=7ZXZ8V5wLcuHILl__XLrGgXhBYo_AFncreLkoKZnCh4%3D%3A0
开始搭建
我习惯性使用宝塔创建
首先创建一个网站

数据库可创建可不创建,cloudreve默认会启用内置数据库,如果是有数据管理需求可以创建
然后在上传安装包到安装目录并解压
然后使用终端
#载入到网站目录
cd /www/wwwroot/cloud.oldming.top/
#解压获取到的主程序
tar -zxvf cloudreve_VERSION_OS_ARCH.tar.gz
# 赋予执行权限
chmod +x ./cloudreve
# 启动 Cloudreve
./cloudreve
第一次启动cloudreve后会生(若忘记了需要删除目录下cloudreve.db在此启动重新生成密码)

通过ip:5212端口即可访问cloudreve了如下

配置cloudreve和反代设置
启用后会在网站目录下生成一个名为conf.ini的配置文件,可以修改此文件进行一些参数的配置,保存后需要重新启动 Cloudreve 生效。
可以在启动时候使用-c参数访问
./cloudreve -c /path/to/conf.ini
也可以在宝塔中双击打开
完整的设置如下可改端口等,若用自己建立的数据库也需要在下方填写数据库相关。(第一次打开只有几行是正常,都是要自己添加的)我比较懒就不修改就使用内置数据库也不错
[System]
; 运行模式
Mode = master
; 监听端口
Listen = :5000
; 是否开启 Debug
Debug = false
; Session 密钥, 一般在首次启动时自动生成
SessionSecret = 23333
; Hash 加盐, 一般在首次启动时自动生成
HashIDSalt = something really hard to guss
; SSL 相关
[SSL]
; SSL 监听端口
Listen = :443
; 证书路径
CertPath = C:\Users\i\Documents\fullchain.pem
; 私钥路径
KeyPath = C:\Users\i\Documents\privkey.pem
; 启用 Unix Socket 监听
[UnixSocket]
Listen = /run/cloudreve/cloudreve.sock
; 数据库相关,如果你只想使用内置的 SQLite数据库,这一部分直接删去即可
[Database]
; 数据库类型,目前支持 sqlite/mysql/mssql/postgres
Type = mysql
; MySQL 端口
Port = 3306
; 用户名
User = root
; 密码
Password = root
; 数据库地址
Host = 127.0.0.1
; 数据库名称
Name = v3
; 数据表前缀
TablePrefix = cd_
; 字符集
Charset = utf8
; SQLite 数据库文件路径
DBFile = cloudreve.db
; 从机模式下的配置
[Slave]
; 通信密钥
Secret = 1234567891234567123456789123456712345678912345671234567891234567
; 回调请求超时时间 (s)
CallbackTimeout = 20
; 签名有效期
SignatureTTL = 60
; 跨域配置
[CORS]
AllowOrigins = *
AllowMethods = OPTIONS,GET,POST
AllowHeaders = *
AllowCredentials = false
; Redis 相关
[Redis]
Server = 127.0.0.1:6379
Password =
DB = 0
; 从机模式缩略图
[Thumbnail]
MaxWidth = 400
MaxHeight = 300
FileSuffix = ._thumb
反向代理设置
我们需要修改反代理来实现域名访问
如果是宝塔的话直接在网站配置中修改即可
nginx修改如下
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://127.0.0.1:5212;
# 如果您要使用本地存储策略,请将下一行注释符删除,并更改大小为理论最大文件尺寸
# client_max_body_size 20000m;
}
Apache设置如下
<VirtualHost *:80>
ServerName myapp.example.com
ServerAdmin webmaster@example.com
DocumentRoot /www/myapp/public
# 以下为关键部分
AllowEncodedSlashes NoDecode
ProxyPass "/" "http://127.0.0.1:5212/" nocanon
</VirtualHost>
一下是我的完整配置(仅供参考)不包括ssl那部分设置
server
{
listen 80;
listen 443 ssl http2;
listen [::]:443 ssl http2;
listen [::]:80;
server_name cloud.oldming.top;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/cloud.oldming.top;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://192.144.229.70:5212;
# 如果您要使用本地存储策略,请将下一行注释符删除,并更改大小为理论最大文件尺寸
client_max_body_size 2000m;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
proxy_pass http://192.144.229.70:5212;
expires 30d;
error_log /dev/null;
access_log /dev/null;
}
location ~ .*\.(js|css)?$
{
proxy_pass http://192.144.229.70:5212;
expires 12h;
error_log /dev/null;
access_log /dev/null;
}
}
access_log /www/wwwlogs/cloud.oldming.top.log;
error_log /www/wwwlogs/cloud.oldming.top.error.log;
}
修改完重载配置即可域名访问
进程守护
宝塔设置(懒人推荐)
在宝塔应用中安装宝塔应用管理器

新建应用,设置启动文件为安装目录下cloudreve文件,设置好启动目录(cloudreve启动文件所在目录)保存即可如下图

也可以使用以下两种方法
Systemd
# 编辑配置文件
vim /usr/lib/systemd/system/cloudreve.service
将下文 PATH_TO_CLOUDREVE 更换为程序所在目录:
[Unit]
Description=Cloudreve
Documentation=https://docs.cloudreve.org
After=network.target
After=mysqld.service
Wants=network.target
[Service]
WorkingDirectory=/PATH_TO_CLOUDREVE
ExecStart=/PATH_TO_CLOUDREVE/cloudreve
Restart=on-abnormal
RestartSec=5s
KillMode=mixed
StandardOutput=null
StandardError=syslog
[Install]
WantedBy=multi-user.target
# 更新配置
systemctl daemon-reload
# 启动服务
systemctl start cloudreve
# 设置开机启动
systemctl enable cloudreve
管理命令:
# 启动服务
systemctl start cloudreve
# 停止服务
systemctl stop cloudreve
# 重启服务
systemctl restart cloudreve
# 查看状态
systemctl status cloudreve
Supervisor
首先安装supervisor,已安装的可以跳过
# 安装 supervisor
sudo yum install python-setuptools
sudo easy_install supervisor
# 初始化全局配置文件
sudo touch /etc/supervisord.conf
sudo echo_supervisord_conf > /etc/supervisord.conf
编辑全局配置文件:
sudo vim /etc/supervisord.conf
将文件底部的[include] 分区注释符号;删除,加入新的配置文件包含路径:
[include]
files = /etc/supervisor/conf/*.conf
创建 Cloudreve 应用配置所在文件目录,并创建打开配置文件:
sudo mkdir -p /etc/supervisor/conf
sudo vim /etc/supervisor/conf/cloudreve.conf
根据实际情况填写以下内容并保存:
[program:cloudreve]
directory=/home/cloudreve
command=/home/cloudreve/cloudreve
autostart=true
autorestart=true
stderr_logfile=/var/log/cloudreve.err
stdout_logfile=/var/log/cloudreve.log
environment=CODENATION_ENV=prod
其中以下配置项需要根据实际情况更改:
– directory: Clopudreve 主程序所在目录
– command: Cloudreve 主程序绝对路径
– stderr_logfile: 错误日志路径
– stdout_logfile: 通常日志路径
通过全局配置文件启动supervisor:
supervisord -c /etc/supervisord.conf
日后你可以通过以下指令管理 Cloudreve 进程:
# 启动
sudo supervisorctl start cloudreve
# 停止
sudo supervisorctl stop cloudreve
# 查看状态
sudo supervisorctl status cloudreve
cloudreve云储策略配置
基础参数设置就自己按照自己填写即可
在储存策略中可以添加储存空间,基本支持各大主要云储服务商,这次主要是onedrive(onedrive空间如何获取在后文)

按照引导一步一步填写即可即可完成
-
onedirve必须要使用商用版,使用个人的onedrive或是教育版本会可能导致失败具体可能提示出现accesstoken获取失败
-
onedrive使用webdav上传是需要经过服务器中转速度,网速会受到闲置,下图为其说明仅供参考

3.使用onedrive可能速度会比较慢(稳定300k,起码比某盘好),有时候会很快(30MB/s没问题),可能是免费的通病(应该是分地区不同网速有些许差距,还有就是运营商的问题)
onedirve空间来源
onedrive商业版费用也不低,大概费用如下

注册office e5开发者计划

[注册链接]https://developer.microsoft.com/zh-cn/microsoft-365/dev-program
注册过程也不复杂,这里有一个大佬的教程非常详细
[教程链接]https://zhuanlan.zhihu.com/p/105438817
有几点注意
-
电话验证需要上网工具才能获取到验证码
-
注册完有效期为三个月,触发续费条件是调用api证明你在使用开发,具体就是多用cloudreve即可增加免费续费的概率!
-

















暂无评论内容