国内onedrive用户不在少数,但是Onedrive国际版速度在国内十分不稳定,在日常的使用过程中时常会出现断流,无法同步等等情况,今天我给大家介绍一下如何利用onedrive搭建一个多功能在线网盘以及利用腾讯云的香港轻量服务器的优质线路加速上传下载。

准备

腾讯云香港轻量服务器一台

onedrive账号一个(国际版且开放api)

OneManager-php 源代码

域名一枚

购买

正值腾讯云双十一活动大促,服务器和域名价格都非常低廉

域名不讲究,随便买一个最便宜的就行。我不推荐免费域名,原因在于免费域名所属权不在你自己,随时会被回收。

域名购买

先进入DNSPOD双十一活动页面:https://www.dnspod.cn/promo/domainscarnival?promo_code=S2NSXRTO22370&source=sharelink&from=link

可以先抽奖再买,随便买一个1块钱的域名即可

服务器购买

首先进入腾讯云轻量服务器购买地址:https://curl.qcloud.com/qoxFL8HT

地域选香港或者新加坡,规格一般人1C1G30M的足够用了,系统可以选择宝塔面板BT-panel6.0或者选Ubuntu然后自己输入以下代码一键安装即可

curl -sSO http://download.bt.cn/install/install_panel.sh && bash install_panel.sh

安装程序

解析域名

进入DNSPOD后台,然后解析域名到你的服务器IP

假设我的域名是abc.xyz 服务器IP为192.168.1.2

后续只需要访问www.abc.xyz即可

下载程序源代码

进入宝塔后台,然后安装PHP 推荐7.3和Nginx即可,其他的看自己喜好

安装完成后添加站点

添加完成后点击网站的根目录,点击远程现在,将下方的源代码的zip文件直链粘贴下载即可然后解压缩

GitHub地址:https://github.com/qkqpttgf/OneManager-php

直接在宝塔后台进入网站文件夹然后远程下载源代码压缩文件即可

https://github.com/qkqpttgf/OneManager-php/archive/master.zip

设置网站目录

点击右侧的网站——点击www.abc.xyz的设置修改网站目录的运行目录

再点击ssl

选择let's encrypt选择文件验证点上域名再申请证书

再点击伪静态添加以下代码

rewrite ^/(?!.well-known)(.*)$ /index.php?/$1 last;

配置网站

配置网站简单,按着说明一直点就行,再设置后台密码即可。

添加onedrive

点击添加onedrive盘

标签是唯一的,多个onedrive盘下靠这个来区分且文件链接中会包含该字符

显示名称可以为中文或者英文,会展示在前台

一般人的onedrive是国际版就选第一个即可,世纪互联版的onedrive服务器在国内,速度优秀如果搭建的话建议直接走直链,不再进行流量中转。

重度使用用户请务必自己申请应用ID和机密,否则用公共API可能偶尔会出现API爆炸,无法响应的情况

点击确认后,系统自动生成配置,你只要确保已经登录了office.com即可,中间程序会询问你是否同意授予它获取你的onedrive文件权限,点击同意即可。

现在可以实时下载浏览onedrive里面的图片、视频、文件等但是流量还是走的微软自己的线路,这个线路不太稳定,所以我们还需要进行代理配置。

配置Nginx反向代理,加速上传下载

以上图为例,A代表我们的中转,B代表我们,C代表onedrive,我们直接从onedrive那边下载东西的时候速度很慢,而此时我们的中转服务器A到onedrive的速度很快,我们从服务器A上下东西也快,那么我们可以借助A来提高获取onedrive文件的下载速度。

配置反代网站

假设我的反代网站是proxy.abc.xyz

先解析该网址至服务器192.168.1.2,然后在服务器内用宝塔新建网站,再申请ssl证书(必须)

先查看并记下微软分配的全局域名,形如

https://xxx-my.sharepoint.com

这里以https://2demo-my.sharepoint.com为例

在宝塔面板中配置反向代理网站

提交后再点击反向代理的配置文件添加禁止缓存代码

proxy_buffering off;proxy_cache off;proxy_set_header X-Forwarded-Proto $scheme;

然后在网站的配置文件中添加下面两行代码

sub_filter "2demo-my.sharepoint.com" "proxy.abc.xyz";

sub_filter_once off;

注意以上代码涉及到域名的请修改成自己的域名

最后再在onemanger的后台上添上反向代理的域名就可以了。

记得要点一下设置才会生效

此时再下载就会走服务器的流量了。

注意事项

如果你设置了反向代理的话千万要注意流量是否足够。如果不设置onedrive的反向代理那么你可以不用担心上传下载的流量消耗,但是一旦你设置了的话你就要注意尽量别公开下载,否则有可能会把服务器的流量消耗完,届时会扣账户余额的。腾讯云的服务器流量都只计算出网流量,就是你从服务器下载所消耗的流量,你网页上传文件则不会消耗服务器的流量。