0x01 前言

在比较长的一段时间里我都是在windows server上运行iSpy这款开源的软件充当监控摄像头录制系统,同时它还具备移动监测等等的一系列功能。但因为资源消耗太高,而且非常卡顿的缘故,我一直在寻找合适的软件以便接替它的工作。

至于iSpy这款软件的安装配置,可以参考以下文章:

在前两周接到一位朋友的邮件提醒,告知有一款软件值得一试的:zoneminder,以下是这款软件的官网:

但我配置完成后,经过一番配置,都无法很好地驾驭这款软件。另外,这款软件的外观实在是太丑太丑了。因此,在尝试2小时后,我决定放弃它,转而继续寻找合适的软件。

最终,发现一款名为Shinobi的开源软件,安装完成后,简直可以与群晖中的surveillance station媲美!甚至有过之而无不及,毕竟Shinobi是开源免费的。

0x02 准备

以下是Shinobi的官方网站与GitHub页面:

Shinobi支持多平台,在这里我果断选用centos7.5进行配置安装。另外,Shinobi是基于nodejs的,所以需要进行环境的配置。

先根据以下文章进行配置:

然后使用以下命令安装node的源:

安装完成后,在yum.repos.d目录下会有一个配置文件:

我们需要对配置文件进行修改,将其地址修改为清华大学的镜像站地址,修改完的内容如下:

然后使用以下命令安装nodejs与npm:

完成后即可将源码clone到本地:

在继续往下之前,还需要修改npm的源地址:

0x03 交互式安装

完成环境陪之后,即可进入源码文件夹并执行以下命令:

交互式安装的过程主要回答y或n即可,如果有某些组件已经安装或不需要的,请回答n或留空:

第一个问题是是否启用超级管理员?建议启用,方便通过web管理用户:

回答并回车后,脚本会检查nodejs,如果尚未安装或存在新的版本,则会自动使用yum进行安装或更新。

随后是会询问是否需要安装FFMPEG,这里建议安装:

不过回车后会弹出错误信息提示找不到“apt”这个命令,在centos里肯定找不到,查看安装文件的代码后发现相关语句中使用的并不是引号,不知道是不是这样原因导致的:

但这个不影响安装,如果觉得奇怪,可以手动修改INSTALL/centos.sh的第35行:

然后重新开始安装流程,这时候会询问通过哪种方式安装FFMPEG,在centos系统下,只能选择npm:

完成后会询问是否安装node.js,强烈建议安装:

不过因为在一开始就已经安装过了,所以并没有事情发生。

下一步会询问使用哪个数据库软件,在这里我倾向于mariadb:

如果你已经拥有mariadb服务器,则下一个问题可以选择n,否则,请选择y。在这里我选择y,数据库由Shinobi自行管理即可:

数据库的安装需要将近一分钟,请耐心等待。安装完成后是mariadb交互式的配置过程:

以上要求输入mariadb root用户的密码,因为数据库是全新安装的,所以留空,直接回车即可。

随后会询问是否需要为root用户配置一个密码,强烈要求为root用户设立密码,请选择y:

然后两次输入密码:

然后会询问是否移除匿名用户,强烈选择y将其移除:

再然后会询问是否禁用root的远程访问功能,这个请根据实际情况选择,但我建议选择n,保留root用户的远程访问权限:

然后是询问是否需要移除默认的测试数据库,建议选择y将其移除:

最后是询问是否需要重新加载数据中的表,请选择y:

至此,完成数据库配置的部分,随后安装程序会询问是否需要安装Shinobi数据库,请选择y:

随后会要求输入数据库的用户名和密码,这里使用root用户及其密码:

然后会询问是否需要创建普通用户,在这里先选择n,我们可以在安装完成后通过超级管理员进行用户的创建:

完成后就会开始安装npm库,稍作等待后会继续安装PM2,这个步骤需要耐心等待,可能需要10到20分钟:

经过漫长的等待后会询问是否要将Shinobi设为开机启动,建议选择y:

一切都准备就绪后,会弹出一些重要的信息:

最后还需要检查pm2这个服务是否处于正常状态:

虽然它已经启用开机启动功能,但是目前正处于inactive的状态,为此,可以选择重启系统,也可以手动将其启动:

然后再查看它的状态:

0x04 使用

默认情况下监听的ip与端口分别为127.0.0.1与8080,为此,我选择通过iptables端口转发的形式对外提供访问服务。首先需要启动iptables并将其设为开机启动:

然后添加规则、保存并重新加载:

最后再检查iptables:

完成iptables的配置后,通过浏览器打开以下地址:

并使用以下信息登入:

因为我已经测试过很多次,所以这里有两个用户信息,正常情况下这里会有一个或没有用户信息的。建议将其全部删除,然后手动建立用户:

完成用户的建立工作后,即可通过以下地址登入管理界面:

登入后的界面如下:

随后通过顶部的“+”按钮添加摄像头并点选Connection:

然后在Full URL Path输入框中填入监控摄像头的RTSP地址,例如小蚁摄像头第一代的:

完成后单击save即可保存。如果一切正常,就可以在预览视图中看到实时的图像:

0x05 结语

这款开源软件的功能也很强大,而且占用的资源非常少。因为篇幅的关系,这里仅记录了安装的过程,而使用的说明请继续关注我的博客,我将会在下一篇文章中详细讲解使用方法。