利用阿里云函数和OneIndex无成本搭建属于你自己的网盘

利用阿里云函数计算以及Onindex-Serverless无需服务器即可无成本搭建属于你自己的网盘!

Onindex-ServerlessOneIndex项目的阿里云函数计算版本,OneIndex是一个PHP项目,目前已获得了3000+的star,可以将OneDrive挂载为个人在线网盘,提供资源的分享链接。OneIndex的部署需要PHP环境,虽然作者同时提供了Docker的部署方法,但是仍然需要自己拥有服务器,门槛较高只适合专业玩家。随着云计算Serverless模式的逐渐成熟,无服务器函数计算版本的OneIndex最终于近日完成了1.0版本的构建,这将极大地降低搭建自己的OneDrive网盘的成本。

本文稍有点繁琐,分为4个大步骤,按照教程一步一步来就可以完成!

这是博主搭建的成品演示:down.ww.rs

一、准备工作

1、从GitHub上下载项目的zip包,解压,找到Deploy文件夹,其中Front和Back分别是前端和后端的部署文件;

2、注册您的阿里云账号,开通函数计算和对象存储两个服务;

3、点击右上角,获取accessKey和accessKeySecret;

为了安全起见,最好开一个只有对象存储权限的子账户

4、在对象存储服务中,新创建一个存储桶,使用默认配置即可,但要记住您选择的区域(在下一步开通函数计算服务时需要在同一区域),以及Bucket名称;

在创建完存储桶后,请记下区域节点的EndPoint(选择内网的)

好了,准备工作完成了,这一步您记下的内容待会需要填在main.py中

二、部署函数计算后端

1、在上一步对象存储同一区域(比如说示例中是华东1,这一步也是华东1)中创建一个函数计算服务

2、服务创建的时候记得选择高级配置->公网访问

3、新建函数,选择Python2.7,flask-web模板

4、将main.py的全部代码复制粘贴到在线编辑器中

5、在代码编辑器中填写准备工作中获取到的accessKey、accessKeySecret、endPoint、bucketName

6、环境配置里新建main.initializer的函数初始化入口,其它参数可以参考图中示例配置。内存跟超时选最大即可(并不会实际就用到这么多)。然后选下一步,创建完毕。

7、重新进入代码编辑界面,找到http触发器的url,将其同时填写到编辑器里的main.py的url_host中,以及部署包里Deploy/Front的config.json(下一步要用)

三、部署前端网页

部署静态网页的方法非常之多,您可以使用传统服务器上的iis、nginx、httpd等,也可以用阿里云的对象存储保存并使用CDN发布,或者用免费但是有点慢的GitHub Pages。下面介绍其中一种简单易行的方法(注意部署之前需要修改config.json中的host为http触发器的url):

GitHub Pages法

1、创建一个空的repository

2、将Deploy/Front中的index.html和config.json添加到repository的根目录下,并commit,然后publish

3、前往已发布的项目的设置中

4、找到GitHub Pages,选择master branch

5、发布成功,得到了最终的url

四、登录账号

恭喜您,到这一步,已经完成了整个项目的搭建,下面让我们开始进行账号授权吧。

1、获取账号,(Office 365 A1/Plus、E3、E5等都可以,本站以前免费发放的也可以用)

2、打开后台,默认是/admin

3、输入密码(与部署函数计算阶段的一致,默认是123456)

4、查看系统状态,这里是错误示范的一种异常,原因是我的EndPoint填错了,回去改正就没问题了

5、登录账号

6、大功告成

演示地址: down.ww.rs

开源地址: https://github.com/LiuChangFreeman/OneIndex-Serverless

免费资源技术教程

免费申请#Office365 E5 开发者订阅#3个月并附无限续期教程

2020-1-12 8:13:20

免费资源

免费申请英国GiffGaff手机卡(全球包邮)

2020-1-13 9:05:54

31 条回复 A文章作者 M管理员
  1. oneindex-serverless.github.io 着域名怎么弄的

    • 这个应该是Github的Pages功能,可在项目设置里面设置! ✗咧嘴笑✗

    • xxx.github.io, 这个xxx 可以自定义不?
      我生成的是 username.github.io

    • 好像只能是 username 你可以绑定自己的域名

  2. 授权访问后想取消怎么取消

    • 在OFFICE里面找到应用删除就行

  3. 不能下载文件 只能浏览

    • 不会吧, 是不是配置不当

  4. office的开发订阅做了这个,需要定期上那个页面吗,还是成功以后都会自动续订了?

    • 定期访问一下,每次都需要

    • 我在别的地方看到现在好像调用oneindex不行了,要outlook的api才行?

    • 还可以用,每月偶尔访问一次就行!

    • 十分感谢!

    • 您好 我在后台输入密码时 默认密码错误

  5. 博主你好,这个main.py咋整

  6. 博主你好,后台登录 提示密码错误 (完全照你的教程下来的。没有改其他的)status是502

  7. 请问,支持世纪互联的onedrive吗?

    • 支持

  8. 您好,我按照您的教程设置之后经常出现无法下载文件的问题;
    ![错误.png](https://user-gold-cdn.xitu.io/2020/3/11/170c7a67fe9f6b81?w=1376&h=731&f=png&s=32502)
    同时亦有如下提示
    ![ErrorCode.png](https://user-gold-cdn.xitu.io/2020/3/11/170c7a70e83275ca?w=810&h=67&f=png&s=1645)
    请问是什么原因。

    • 域名配置有问题,检查一下阿里云里面的代码

  9. 请问,为了达到要续订的目的,需要每个月再按文中步骤再部署一遍还是浏览一下已经pubilish后的页面就行了?

  10. 谢谢分享!请问按上文设置成功后,需要经常再次设置才能算调用了api还是只要访问最后成功发布的网址就可以?

    • 偶尔访问一两次就可以的

  11. 大佬,演示地址打不开了

    • emmm 无解

  12. 密码错误

  13. 大佬,main.py里面的

    url_host= “”
    #http触发器的接口url

    在哪里看,谢谢

  14. 大佬,我前面几步已经成功搭建,但是再最后登录ms账户的时候报错,下载了一个叫authorized.html
    里面的报错信息是
    OAuth2 Authorization code was already redeemed, please retry with a new valid code or use an existing refresh token.
    这个怎么解决?

  15. 能不能加密

    • 用了大半年时间,只有进入后台管理账号需要写密码。如果地址被知道,别人能免密登录……

  16. 有没有大大告诉我,密码错误该怎么处理 一直卡在登陆admin那里

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索