See on GitHub

Scry

Scry is a web application that allows users to quickly check open ports, logins, and critical system information about their server from any web browser, anywhere.

Scry consists of both a local server and a client. The server is responsible for gathering data about the system it’s monitoring, then making it accessible to the client. The clients job is to present the data from the server, in an easy to use graphical interface in the browser.

Server

The server includes two main parts, the updater_deamon and the Scry Fastapi. First, the updater_deamon will run commands in the background to gather crucial information about the system and update it in the local database. The Scry Fastapi will allow the client to pull data using an internal web API to present the data in the browser.

Requirements

Python

  • The server code is located in ./server/, go to this directory before the next step
  • Install using pip3 install -r requirements.txt

Non-Python

We use netstat and who for getting system information and Mongodb for our database Most systems come pre-installed with who, and possibly netstat but they may have to be installed separately

Running

  • Run ./start.sh to run the updater_deamon.py in the background then it will run the scry.py Fastapi app

Client

The client is a Node.js React app the pulls data from the local Scry web API and displays it.

Requirements

  • Install the requirements using npm install in the ./client/scry directory.

Running

  • Then run it using npm start.

Video demonstration

https://www.youtube.com/watch?v=D87Blido5tQ

Screenshots

Main Page Ports Users Main Page With Command Line

Design process artifacts

Original ideas

First structure idea

Original current designs

Mongodb connection Current system design