国内 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 服务器在国内,速度优秀如果搭建的话建议直接走直链,不再进行流量中转。
重度使用用户请务必自己申请应用 ID 和机密,否则用公共 API 可能偶尔会出现 API 爆炸,无法响应的情况
点击确认后,系统自动生成配置,你只要确保已经登录了 office.com 即可,中间程序会询问你是否同意授予它获取你的 onedrive 文件权限,点击同意即可。
现在可以实时下载浏览 onedrive 里面的图片、视频、文件等但是流量还是走的微软自己的线路,这个线路不太稳定,所以我们还需要进行代理配置。
以上图为例,A 代表我们的中转,B 代表我们,C 代表 onedrive,我们直接从 onedrive 那边下载东西的时候速度很慢,而此时我们的中转服务器 A 到 onedrive 的速度很快,我们从服务器 A 上下东西也快,那么我们可以借助 A 来提高获取 onedrive 文件的下载速度。
配置反代网站
假设我的反代网站是 proxy.abc.xyz
先解析该网址至服务器 192.168.1.2,然后在服务器内用宝塔新建网站,再申请 ssl 证书(必须)
先查看并记下微软分配的全局域名,形如
这里以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 的反向代理那么你可以不用担心上传下载的流量消耗,但是一旦你设置了的话你就要注意尽量别公开下载,否则有可能会把服务器的流量消耗完,届时会扣账户余额的。腾讯云的服务器流量都只计算出网流量,就是你从服务器下载所消耗的流量,你网页上传文件则不会消耗服务器的流量。 上传下载速度:不走代理看微软与本地连接,走代理下载 30m,上传 G 口
1
ISVStar 2020-11-06 21:31:55 +08:00
不如直接挂梯子,一劳永逸。
|
2
molezznet 2020-11-06 21:41:58 +08:00 via Android
30M 的有点贵啊
|
4
qefrgty 2020-11-06 22:16:52 +08:00 via Android
一楼说得对,
折腾这么磨叽,真不如直接科学上网。 而且现在裸连 onedrive 也不慢。 |
5
OldActorsSmile 2020-11-06 23:02:01 +08:00
|
6
kiduu OP @qefrgty 科学上网是科学上网,在线网盘是在线网盘,我要的是能够在线看片的网盘所以用反代。Onedrive 在线播放太狗屎了。我也知道科学上网省事啊,我一天开到晚我无所谓,但是我想分享给我朋友看难不成一个个教他们科学?不喜欢我这种方法可以不看,没必要非要在这表达出来
|
7
Clarke 2020-11-07 00:41:49 +08:00
用 rclone 把网盘挂载到 vps 上不是更好吗?
|
8
szxczyc 2020-11-07 00:57:23 +08:00 via iPhone
不如直接用云函数来的方便,不需要服务器每个月前 100 万次调用免费,可以访问我的 softs.work
|
9
kiduu OP @szxczyc 如果不考虑反代的话,云函数可以做到白嫖的,腾讯云和 CF 都能做,这个项目其实主打的就是云函数部署,对比 pyone,oneindex,onelist,cuteone 等等来说我还是比较中意这个的
|
10
kiduu OP @Clarke rclone 的确好,我也试过,想弄成在线网盘的形式但是体验不怎么好,就还是用这种方法了。配置多个网盘的话会更省时间
|
11
KENNHI 2020-11-07 06:39:58 +08:00 via Android
不如白嫖 cloudflare ?
|
12
Salicylicacid 2020-11-07 08:15:12 +08:00 via Android
感觉不是很经济啊,每个月还得多支出一笔钱
|
13
kiduu OP @KENNHI 白嫖 CF 可以用 workers 搭配 heroku,可以直接在 worker 里设置走不走 CF,对于某些地区的速度还是很给力的
|
14
yws112358 2020-11-09 10:58:16 +08:00
设置完 想重新设置 比如类似于 oneindex 可以指定展示 /上传 目录 不是从根目录开始展示
|
17
MEOWwONE 2020-11-09 15:15:43 +08:00
但是是很详细的教程,支持一下
|