V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
kiduu
V2EX  ›  分享创造

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

  •  
  •   kiduu · 2020-11-06 20:44:43 +08:00 · 6050 次点击
    这是一个创建于 1510 天前的主题,其中的信息可能已经有所发展或是发生改变。

    利用 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 口

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

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

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

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