利用 onedrive 搭配腾讯云轻量服务器搭建一个高速网盘

2020-11-06 20:44:43 +08:00
 kiduu

利用 onedrive 搭配腾讯云轻量服务器搭建一个高速网盘

国内 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 的反向代理那么你可以不用担心上传下载的流量消耗,但是一旦你设置了的话你就要注意尽量别公开下载,否则有可能会把服务器的流量消耗完,届时会扣账户余额的。腾讯云的服务器流量都只计算出网流量,就是你从服务器下载所消耗的流量,你网页上传文件则不会消耗服务器的流量。 上传下载速度:不走代理看微软与本地连接,走代理下载 30m,上传 G 口

5882 次点击
所在节点    分享创造
21 条回复
ISVStar
2020-11-06 21:31:55 +08:00
不如直接挂梯子,一劳永逸。
molezznet
2020-11-06 21:41:58 +08:00
30M 的有点贵啊
asdf2020
2020-11-06 21:49:22 +08:00
/t/720591 可以和阿里云货比三家,据说阿里云宽带质量好点,香港区差不多价格
qefrgty
2020-11-06 22:16:52 +08:00
一楼说得对,

折腾这么磨叽,真不如直接科学上网。

而且现在裸连 onedrive 也不慢。
OldActorsSmile
2020-11-06 23:02:01 +08:00
海外云的网速还是华为最靠谱:

https://v2ex.com/t/716537
kiduu
2020-11-07 00:25:39 +08:00
@qefrgty 科学上网是科学上网,在线网盘是在线网盘,我要的是能够在线看片的网盘所以用反代。Onedrive 在线播放太狗屎了。我也知道科学上网省事啊,我一天开到晚我无所谓,但是我想分享给我朋友看难不成一个个教他们科学?不喜欢我这种方法可以不看,没必要非要在这表达出来
Clarke
2020-11-07 00:41:49 +08:00
用 rclone 把网盘挂载到 vps 上不是更好吗?
szxczyc
2020-11-07 00:57:23 +08:00
不如直接用云函数来的方便,不需要服务器每个月前 100 万次调用免费,可以访问我的 softs.work
kiduu
2020-11-07 01:04:14 +08:00
@szxczyc 如果不考虑反代的话,云函数可以做到白嫖的,腾讯云和 CF 都能做,这个项目其实主打的就是云函数部署,对比 pyone,oneindex,onelist,cuteone 等等来说我还是比较中意这个的
kiduu
2020-11-07 01:07:18 +08:00
@Clarke rclone 的确好,我也试过,想弄成在线网盘的形式但是体验不怎么好,就还是用这种方法了。配置多个网盘的话会更省时间
KENNHI
2020-11-07 06:39:58 +08:00
不如白嫖 cloudflare ?
Salicylicacid
2020-11-07 08:15:12 +08:00
感觉不是很经济啊,每个月还得多支出一笔钱
kiduu
2020-11-07 09:36:59 +08:00
@KENNHI 白嫖 CF 可以用 workers 搭配 heroku,可以直接在 worker 里设置走不走 CF,对于某些地区的速度还是很给力的
yws112358
2020-11-09 10:58:16 +08:00
设置完 想重新设置 比如类似于 oneindex 可以指定展示 /上传 目录 不是从根目录开始展示
kiduu
2020-11-09 12:10:26 +08:00
@yws112358 后台有,在对应的盘符下有个 public_path,这个填上你想展示的目录然后再点一下设置即可
yws112358
2020-11-09 14:20:47 +08:00
@kiduu #15 后台链接?
MEOWwONE
2020-11-09 15:15:43 +08:00
但是是很详细的教程,支持一下
kiduu
2020-11-09 17:32:20 +08:00
@yws112358 你搭建好左上角的登录就是了
To5tE
2020-11-09 23:26:38 +08:00
@szxczyc 你的视频怎么那么快 我的好慢
kiduu
2020-11-10 01:29:51 +08:00
@To5tE 他的是世纪互联的,国内的服务器,你的肯定是国际版的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/722534

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX