使用cloudreve介于onedirve云储实现直链,实现免费云储

原本想要在博客中插入视频,然后这视频如果放在服务器上,服务器带宽就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介于onedirve云储实现直链,实现免费云储-安鱼

 

数据库可创建可不创建,cloudreve默认会启用内置数据库,如果是有数据管理需求可以创建

然后在上传安装包到安装目录并解压

然后使用终端

#载入到网站目录

cd /www/wwwroot/cloud.oldming.top/



#解压获取到的主程序

tar -zxvf cloudreve_VERSION_OS_ARCH.tar.gz



# 赋予执行权限

chmod +x ./cloudreve



# 启动 Cloudreve

./cloudreve

第一次启动cloudreve后会生(若忘记了需要删除目录下cloudreve.db在此启动重新生成密码)

使用cloudreve介于onedirve云储实现直链,实现免费云储-安鱼

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

使用cloudreve介于onedirve云储实现直链,实现免费云储-安鱼

配置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介于onedirve云储实现直链,实现免费云储-安鱼

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

使用cloudreve介于onedirve云储实现直链,实现免费云储-安鱼

也可以使用以下两种方法

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空间如何获取在后文)

使用cloudreve介于onedirve云储实现直链,实现免费云储-安鱼

按照引导一步一步填写即可即可完成

  1. onedirve必须要使用商用版,使用个人的onedrive或是教育版本会可能导致失败具体可能提示出现accesstoken获取失败

  2. onedrive使用webdav上传是需要经过服务器中转速度,网速会受到闲置,下图为其说明仅供参考

    使用cloudreve介于onedirve云储实现直链,实现免费云储-安鱼

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

    onedirve空间来源

    onedrive商业版费用也不低,大概费用如下

    使用cloudreve介于onedirve云储实现直链,实现免费云储-安鱼

    注册office e5开发者计划

    使用cloudreve介于onedirve云储实现直链,实现免费云储-安鱼

     

    [注册链接]https://developer.microsoft.com/zh-cn/microsoft-365/dev-program

    注册过程也不复杂,这里有一个大佬的教程非常详细

    [教程链接]https://zhuanlan.zhihu.com/p/105438817

    有几点注意

    • 电话验证需要上网工具才能获取到验证码

    • 注册完有效期为三个月,触发续费条件是调用api证明你在使用开发,具体就是多用cloudreve即可增加免费续费的概率!

     

温馨提示: 本文最后更新于2025-10-01 17:31:05,某些文章具有时效性,若有错误或已失效,请在下方 留言或联系 零染博客
© 版权声明
THE END
喜欢就支持一下吧
点赞14赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容