An Open-Source Platform to Facilitate Endpoint Status Monitoring. Developed for final year university project.
https://web.archive.org/web/20221211205822/https://endstat.app.mickit.net/
Pre-existing solutions were either not open-source, behind a paywall of some sort or was not simple enough to use.
Flask, Bootstrap, Docker, URLScan.io
- Clone the repository
- Move into the directory
cd endstat
- Initialise a virtual environment
python -m venv venv
- Activate the virtual environment, Linux:
source venv/bin/activate
- Install requirements
pip install -r requirements.txt
- Edit the config file with your keys
endstat/instance/config.py
- Set Flask environment
export FLASK_APP=endstat
- Initialise a new database
flask init-db
- Run the app
flask run
In order for website scanning to work, you need an api key from URLScan.io. Furthermore, for emails to work, you will need to get a Zoho app password and change all domain references to your own.
Websites will have their certificates checked for validity.
Websites will be checked for open ports on their web servers, "safe" ports such as (80, 443) will only be shown to the user. More dangerous ports such as (22) will be highlighted and the user will be alerted.
Websites will be run against Google's Safe Browsing API to check for any threats.
Websites will be scanned on initial addition, then every 24 hours thereafter.
Users will be sent notifications via enabled agents (Email & Discord for now) for dangerous website status changes. This can include a dangerous port being opened or a certificate nearing expiry.