boxmoe_header_banner_img

Hello! 欢迎来到NV资源网!

加载中

文章导读

使用 OneManager-php 搭建一个免费的文件分享站


avatar
站长 2021年11月12日 1.06k

程序界面

程序预览

虚子云盘

前期准备

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

  • 腾讯云 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 按钮更新程序部署



评论(0)

查看评论列表

暂无评论


发表评论

表情 颜文字

插入代码