前言

oneindex 是将微软的 onedrive 打造成分享网盘的程序,使用 now.sh 提供的 Docker 部署环境可以免费搭建个人分享网盘

说明

  • oneindex针对onedrive网盘的一个开源程序,可以将Onedrive存储的文件展示、直连下载、视频在线播放,其主要特点:不用服务器空间,不走服务器流量
  • now.sh 是 ZEIT 推出的一款支持 Docker、Nodejs、静态页面的全球化实时部署服务( Realtime Global Deployments )

优势

  • 免费

  • 不用服务器空间

  • 不走服务器流量

准备

  • 注册 now 账号,注册地址 https://zeit.co/

  • 注册 onedrive 账号,可以申请 5T 容量的网盘更好(可利用教育邮箱)

部署

  1. now.sh 的命令行客户端是基于 nodejs 的,所以首先安装 nodejs 环境。nodejs 下载安装即可,同时也需要安装git (友情提醒:安装nodejs时在Custom Setup这一步记得选 Add to PATH ,这样你就不用自己去配置电脑上环境变量了)

    nodejs下载地址:https://nodejs.org/en/download/

    git下载地址:https://git-scm.com

  2. 安装 now.sh 客户端

    npm install -g now

    如果提示警告错误请尝试执行以下命令安装

    npm i -g –unsafe-perm now

  3. 登入now桌面客户端

  4. 拉取最新的 oneindex 代码(执行下面三行命令)

    git clone https://github.com/jhx520/oneindex.git -b now-sh

    进入oneindex文件夹

    cd oneindex

    上传同步到now并开始部署

    now


    图文分析

  5. 上图中可以看到部署的地址为:oneindex-njvsblglnk.now.sh。我们可以访问这个地址来进入网站,也可以到now.sh面板查看部署情况。地址:https://zeit.co/dashboard

  6. 部署完成后,容器默认会隔一段时间重启,为了不让容器重启,执行下面的命令。如果不执行,会发现隔一会又要重新配置 onedrive 了,记得把下面的地址改成自己的 now.sh 的地址

    now scale oneindex-njvsblglnk.now.sh 1

  7. 为了方便访问,可以把前缀设置一个别名。取一个不重复且方便记忆的即可。这里我使用 oneindex,每个人取不同的别名

    now alias oneindex-njvsblglnk.now.sh oneindex

    • 如果别名被其他人占用,会提示:Error! The alias oneindex is a deployment URL or it’s in use by a different team,注意请使用其他别名

    • 到此就可以打开 https://oneindex.now.sh 开始配置了,如果你没有域名,可以直接使用now提供的二级域名作为网址


域名绑定

下面我演示一下如何给我自己的域名kabuka.ml绑定上去
  1. 首先执行命令,会提示有错误,需要验证域名的所有权!(注意这个命令需要执行三次,下面提到的执行命令就是这个命令)

    一定要将下面的 oneindex-njvsblglnk.now.sh 换成你自己的域名!后面接上将要绑定的域名

    now alias oneindex-njvsblglnk.now.sh kabuka.ml

  2. 提供2种验证方式,一种NS解析,一种是 TXT验证。这里演示的是NS解析

    | Host | IP | IPV6 |
    | ———— | ———— | —————– |
    | a.zeit.world | 96.45.80.1 | 2600:180a:1001::1 |
    | b.zeit.world | 46.31.236.1 | 2600:180b:2001::1 |
    | c.zeit.world | 43.247.170.1 | 2600:180c:3001::1 |
    | d.zeit.world | 96.45.81.1 | 2600:180a:4001::1 |
    | e.zeit.world | 46.31.237.1 | 2600:180b:5001::1 |
    | f.zeit.world | 43.247.171.1 | 2600:180c:6001::1 |

    官网提供了六个Host,我们只需在你的域名控制台写入前五个就行

  3. 解析完成后,再次执行上面的命令,直到提示要解析域名到 kabuka.ml

  4. 最后我们将改过别名后的域名(例如上面提到的 oneindex.now.sh CNAME 到 kabuka.ml(上面的NS解析可以删除掉了)

配置oneindex

  1. 如果部署没有问题,那么打开上面部署得到的网址就可以看到如下界面。

  2. 开始配置 onedrive

    将上述获取到的 应用机密(client secret) 和 应用 ID(client_id) 分别填入对应处

  3. 绑定账号

  4. 完成之后可以进入后台,地址:https://oneindex.now.sh/?/admin/ 默认密码oneindex,最后根据自己的需在后台进行相关设置

小叙

本篇教程到此也就结束了,综合了两篇教程,并完善了在学习路途中可能会遇到的问题,如有不明白的地方可在下方留言,感谢如有乐享欧阳松的博客 的教程以及 花似老哥的指导