前言

OneDrive的网盘程序介绍过很多款,但是都是需要VPS服务器来部署,本文将介绍无需服务器,使用腾讯云SCF云函数服务,即可在云端部署你的OneDrive分享云盘.

本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.

部署准备

获取API密钥

登陆腾讯云控制台 - 访问管理
API密钥管理 - 新建密钥
获取SecretIdSecretKey

获取云函数代码


访问项目地址点击download下载并解压缩


部署SCF云函数

新建函数

登陆腾讯云控制台 - SCF云函数
区域选择 - 中国香港 - 新建

有热心网友在本文下留言测试过多个区域,除了香港成功,其他北京,上海,广州,成都均失败或者不支持,所以还是建议此处区域选择香港!


填写函数名
运行环境选择Php 7.2
选择空白函数
下一步

拉到下方高级配置
环境变量中分别添加上文获取的SecretIdSecretKey
完成

上传函数代码

函数代码
提交方法 - 本地上传文件夹
选择刚才解压缩的文件夹保存

触发方式

添加触发方式

  • 触发方式 - API网关触发器
  • 勾选 启用集成响应
  • 其他保持默认并保存


生成访问路径


部署网盘

链接OneDrive

访问生成的访问路径

选择你的OneDrive类型

确认后会弹出登陆OneDrive页面,登陆后等待跳转回即可成功链接.

配置网盘

函数配置 - 编辑
为提高访问体验,可将内存可提高至512M或1024M
连接过OneDrive后,此时的环境变量已经自动生成了一些配置,请不要删除.
继续添加以下环境变量:

  • sitename => IOIOX网盘
    配置站点名称
  • public_path => /
    私有地址访问网盘的文件展示路径,/为根目录.
  • private_path => /
    配置CDN加速域名访问网盘的文件展示路径,/为根目录.
  • passfile => .password
    配置加密功能,目录下有.password的文件,改目录需密码才能访问.
  • admin => xxxxxxxx
    配置管理员密码

需加密的文件夹中,创建或上传.password文件,并将密码填写至.password文件内.


配置域名

解析专用域名

为本网盘配置一个二级域名,并解析CNAME到上文生成的访问路径前半部分.
CNAME参考
service-ft48dihy-1253567893.ap-hongkong.apigateway.myqcloud.com

自定义域名

触发方式 - 点击API服务名

自定义域名 - 新建

新增自定义域名

  • 填写自定义域名
  • 协议选择http和https
  • 选择证书,如没有可以点击前往免费申请.
  • 路径映射选择自定义路径,值为/发布.


管理API - 点击编辑

路径改为/根目录
下一步

确保启用响应集成
下一步

返回类型选择HTML
完成

前往发布服务

点击发布

发布环境选择发布
备注自定义填写后提交

配置强制跳转HTTPS

函数服务 - 函数代码

  • 选择左侧index.php
  • 找到<head>标签,在下面粘贴以下代码

强制跳转代码

<script>
  if (location.protocol === "http:") {
    location.href = location.href.replace(/http/, "https");
  }
</script>

head标签大约在600多行,但随着OneDrive_SCF程序的更新,head所在行数可能有所变化,参照下图查找即可.


部署完成

至此完成以上全部流程,现在可以使用域名来访问网盘了.


结语

腾讯云SCF云函数服务在2020年1月7日正式收费,免费额度为每月40万GBs资源使用量及100万次跳用次数.而本网盘程序仅仅只是需要耗费调用OneDrive的API请求的资源使用量和次数,来获取文件的直连下载地址.最终上传和下载文件都是直连OneDrive服务器,不会产生额外流量费用,所以免费的额度基本时足够日常使用了.

本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.

本文链接 https://www.ioiox.com/archives/71.html

最后修改:2019 年 12 月 24 日 10 : 21 PM