Skip to content

web-illinois/data-sitescanner

Repository files navigation

data-sitescanner

A small ASP.NET Core web app that contains two sets of tools. This is going to be part of the WIGG data component suite.

Illinois Site Scanner

A website that checks a website’s basic platform characteristics (IP/hosting hints, CMS hints, Illinois toolkit hints, headers, server banner, etc.). It includes:

  • A simple web UI (/) to enter a URL and view results
  • A JSON API endpoint: /api/scanner?url={url}

Hosting information

Hosting information (cPanel, PIE) is looked up via IP address / Name using the static class HostingInformation (at https://github.com/web-illinois/data-sitescanner/blob/main/IllinoisSiteScannerWeb.Data/Web/HostingInformation.cs).

This class contains a hardcoded list of IP addresses and hostnames and their associated hosting information. If you need to add your hosting information, you can add it to the HostingInformation class.

The HostingInformation class also has an optional HelpLinksForHosting dictionary that allows CMS owners to point testers to a help guide for testers in order to record issues.

Future Plans

This can go one of two ways:

Editor's note: we are leaning towards Data Pointer because it is simpler to implement.

Data Pointer

A help guide for each Hosting information (cPanel, PIE, etc.) that provides information on how to get owner information. This would be a hardcoded HTML page that can be updated via Github.

If we use this, we still need a way to get Net IDs of the owner of the site. Recommend using data-* tags on the head or body, specifically:

  • data-owner: NetID, email address, or contact information of the owner.
  • data-host: Name of the host -- this will override IP address lookup.
  • data-js: A boolean flag to indicate that the site should load JavaScript to get a full scan. Default is false (do not load JavaScript). This is in preparation for future expansions.

Example:

<head data-owner="jonker" data-host="Random Hosting Service">

We will read the <head> tag first, then the <body>.

Data Repository

A database of Illinois-related websites and their characteristics, which can be used for research and analysis. This would involve:

  • URL
  • NetID of owner (as well as a possible alternate Net ID)
  • Website title
  • Hosting information (cPanel, PIE, etc.)
  • Hosting Information code if applicable (cPanel reseller information)
  • Notes
  • Last Updated

This will require a database and a way to populate it, which could be done through the web UI or through an API.

  • login, with the ability to update and delete individual sites
  • login, with the ability to update and delete hosting information codes and add API keys for bots/scripts to use to populate the database. This will also allow us to manage the IP information via a database.
  • an API endpoint to add/update entries, which could be used by the hosting platforms to populate the database
  • the ability to transfer information to another NetID.

Emergency Checker

An API that scans the Illini Alert emergency notification system for potential issues. It includes:

  • A JSON API endpoint: /api/emergency
  • A JSON API endpoint with full information: /api/emergency/full

About

Site scanner and Illini Alert API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors