See on GitHub


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.


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.



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


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


  • Run ./ to run the in the background then it will run the Fastapi app


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


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


  • Then run it using npm start.

Video demonstration


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