程序界面

程序预览

虚子云盘

前期准备

本文主要分为两种方式来讲解如何搭建

  • 腾讯云 SCF 云函数 + 自定义域名 ( 推荐,国内访问速度快 )
  • Heroku + Cloudflare ( 不推荐,各种小问题,以及自定义域名需要绑定信用卡 )

准备网盘

阿里云盘

阿里新出的网盘,新用户注册大概会有 1T 左右的空间吧,内测用户 2T ~ 8T 大小的都有。这个网盘目前还行,不限速,但说不好过一段时间会不会变的和百度网盘一样恶心 ( 我觉得大概率会 )。

OneDrive

OneDrive 账号,最好储存为 5T 大小的那种。这方面的教程百度上一搜一大把,这里不做过多阐述,我这里使用的是 Microsoft 365 E5 开发者账号。当然个人版账号也是可以的,只是空间通常仅为 15G,自行斟酌。

 腾讯云 SCF 云函数 方式部署
  1. 注册腾讯云
    这个没啥好说的,注册就完了。
  2. 注册域名
    非必要,仅自定义域名时需要填写。

自定义域名需要域名已实名认证并备案

腾讯云也时不时的有一些免费买域名的活动,也可以考虑考虑。

 Heroku + Cloudflare 方式部署
  1. 注册 Heroku

注意:

  • 注册时最好注册两个账号,因为 Heroku 免费套餐每月只能运行 550 小时,两个账号可实现全月不间断运行
  • 注册时可能需要使用代理访问,否则无法通过谷歌人机验证
  1. 注册 Cloudflare

    Cloudflare 账号这玩意应该是人手一个了,就不细说了

服务部署

腾讯云 SCF 云函数

SCF 新增限制,环境变量整体 最大4KB,所以 最多添加4个盘

  • 前往 腾讯云 SCF 管理页面
  • 点击左侧的 函数服务,然后点击 新建
  • 在创建方式里选择 模板创建,然后在模糊搜索里输入 onedrive
  • 选中 OnedriveWithSCF,点击下一步
  • 函数名称地域 及 描述 可随意更改
  • 在触发器配置处请检查 集成响应 是否开启
  • 点击完成后在左侧点击 触发管理 页面下的 访问路径 进入程序配置

Heroku + Cloudflare

该方法已不推荐使用

Heroku 端部署

  • 前往 OneManager-php 项目的 GitHub 仓库并 Fork( 这里的 Fork 并非强制性要求 )
  • 点击 Readme.md 中的 Deploy to Heroku 按钮
  • 跳转到 Heroku 后在 App name 栏中输入程序名称

    这里输入的内容即为将部署程序的子域名前缀

  • 输入完成后点击 Deploy app
  • 部署成功后点击 View 即可进入配置页面

Cloudflare 端部署

其实到此为止程序已经部署成功了,已经可以访问 Heroku 为你分配的域名来访问了,但是要想实现 24 小时不间断访问,则需要再注册一个 Heroku 账号并执行上述操作,并确保两个网址的内容一致,然后借助 Cloudflare Workers 来实现

  • 进入 Workers
  • 在脚本输入框中粘贴以下内容并将两个 Heroku 账号中程序部署的网址填入下方单双日
// 单日
const SingleDay = '第一个网址'
// 双日
const DoubleDay = '第二个网址'
// 一切给CF代理,true/false
const CFproxy = true
 
// 由于heroku不绑卡不能自定义域名,就算绑卡后https也不方便
// 另外免费套餐每月550小时,有些人不够用
// 于是在CF Workers使用此代码,分单双日拉取不同heroku帐号下的相同网页
// 只改上面,下面不用动
 
addEventListener('fetch', event => {
    let nd = new Date();
    if (nd.getDate()%2) {
        host = SingleDay
    } else {
        host = DoubleDay
    }
    if (!CFproxy) {
        let url=new URL(event.request.url);
        if (url.protocol == 'http:') {
            url.protocol = 'https:'
            response = Response.redirect(url.href);
            event.respondWith( response );
        } else {
            url.hostname=host;
            let request=new Request(url,event.request);
            event.respondWith( fetch(request) )
        }
    } else {
        event.respondWith( fetchAndApply(event.request) );
    }
})
 
async function fetchAndApply(request) {
    let response = null;
    let url = new URL(request.url);
    if (url.protocol == 'http:') {
        url.protocol = 'https:'
        response = Response.redirect(url.href);
        return response;
    }
    url.host = host;
 
    let method = request.method;
    let body = request.body;
    let request_headers = request.headers;
    let new_request_headers = new Headers(request_headers);
 
    new_request_headers.set('Host', url.host);
    new_request_headers.set('Referer', request.url);
 
    let original_response = await fetch(url.href, {
        method: method,
        body: body,
        headers: new_request_headers
    });
 
    response = new Response(original_response.body, {
        status: original_response.status,
        headers: original_response.headers
    })
 
    return response;
}

 

  • 填写完成后点击保存并部署即可看到 Cloudflare 给你提供的子域
  • 至此教程完成

程序配置

安装

  • 跳转到安装页面点击开始安装
  • 选择简体中文再点击新建 API Key
  • 点击 Reveal 后复制 API Key
  • 再输入后台管理密码

    必须输入,否则后期无法进入后台

  • 确认后进入主页面左上角进入后台添加盘
  • 输入标签及显示名称
  • 选择你的 OneDrive 对应的版本

    各种 A1,A1P,E3,E5 均为国际版

  • 点击确认后跳转至微软账号登陆界面
  • 登录成功后如图所示

    程序默认主界面

更新

云函数部署方式更新

  • Clone 仓库最新代码到本地
git clone https://github.com/qkqpttgf/OneManager-php.git

点击左侧 函数管理 页面上方的 函数代码
在 提交方法 处选择 本地上传 zip 包
点击上传选择刚 Clone 到本地的 zip 包并点击 部署

Heroku 部署方式更新
该部署方式已不推荐使用

Heroku 将会从代码仓库自动拉取最新代码并部署

其他方面
自定义域名
腾讯云 SCF 部署方式
登陆你的域名管理面板,添加 cname 解析,地址为你刚刚创建的 SCF 的外链地址
在 SCF 控制台 左侧点击 触发管理
点击 API 服务名 右侧的链接跳转到 API 网关
在 通用 API 列表 的右侧点击 编辑
在路径中改为 /
更改路径更改路径
然后点击立即完成 后点击 发布服务
然后选择到 自定义域名 后点击 新建
在 域名 处填写你刚添加的域名,若有证书也可开启 HTTPS 访问
开启 HTTPS 访问开启 HTTPS 访问
Heroku 部署方式
Heroku 的自定义域名需要借助 CloudFlare Workers 来实现,有点麻烦,实在想自定义域名的朋友们可参考下面这篇文章

CloudFlare Workers 设置使用自己的域名

https://vircloud.net/exp/cf-worker-domain.html

程序美化
程序默认主题的界面实在是不太美观,这里建议点击右下角来选择你认为合适的主题
我选择的是 renexmoe 主题,并对这个主题做出了一些修改。若你也想自定义主题或开发一套新主题,则需要前文提到的 Fork 该仓库,并将 Heroku 部署源改为你的仓库

将 Heroku 连接至 GitHub将 Heroku 连接至 GitHub
当修改完成并推送至 GitHub 后即可点击 Deploy Branch 按钮更新程序部署

  • 点击左侧 函数管理 页面上方的 函数代码
  • 在 提交方法 处选择 本地上传 zip 包
  • 点击上传选择刚 Clone 到本地的 zip 包并点击 部署

Heroku 部署方式更新

该部署方式已不推荐使用

Heroku 将会从代码仓库自动拉取最新代码并部署

其他方面

自定义域名

腾讯云 SCF 部署方式

  • 登陆你的域名管理面板,添加 cname 解析,地址为你刚刚创建的 SCF 的外链地址
  • 在 SCF 控制台 左侧点击 触发管理
  • 点击 API 服务名 右侧的链接跳转到 API 网关
  • 在 通用 API 列表 的右侧点击 编辑
  • 在路径中改为 /
  • 然后点击立即完成 后点击 发布服务
  • 然后选择到 自定义域名 后点击 新建
  • 在 域名 处填写你刚添加的域名,若有证书也可开启 HTTPS 访问

Heroku 部署方式

Heroku 的自定义域名需要借助 CloudFlare Workers 来实现,有点麻烦,实在想自定义域名的朋友们可参考下面这篇文章

程序美化

程序默认主题的界面实在是不太美观,这里建议点击右下角来选择你认为合适的主题
我选择的是 renexmoe 主题,并对这个主题做出了一些修改。若你也想自定义主题或开发一套新主题,则需要前文提到的 Fork 该仓库,并将 Heroku 部署源改为你的仓库

当修改完成并推送至 GitHub 后即可点击 Deploy Branch 按钮更新程序部署