A multi-threaded, multi website monitoring tool to monitor and detect changes to website contents, server IP addresses and availability changes. Alerting to be brought into this tool to push alerts in a series of manners, rather than just terminal logging. This tool is a collaboration between two projects: Monitaur and WebCompare.
To build a tool that can detect and alert on website take overs, defacements and downtimes in availability. There are services out there that already do this, but most are not free and open.
Future releases of Overseer will include:
- Standardise on ChromeDriver and bundle into the tool
- Read CSV input for configuration
- Create Project Dashboard (Charts, uptime reporting, changes detected over time overview and improved alert handling)
Everyone is welcome to commit and work with the authors to add functionality. This is a beginner friendly repository, so feel free to contact the authors, or dive straight in.
On first execution python3 overseer.py
you will be asked to add the system configuration, then the website configuration.
Config Item | Description | Example |
---|---|---|
Slack Integration Choice | If you want to set up Slack integration for alerting. | 'y' for yes, 'n' for no |
Email Integration Choice | If you want to set up Email integration for alerting. | 'y' for yes, 'n' for no |
Webhook Integration Choice | If you want to set up Webhoot integration for alerting. | 'y' for yes, 'n' for no |
Slack Token | The token created by Slack. | xxxx-tokenid |
Slack Channel | The name of the slack channel. | overseer |
SMTP Server | The domain name of the smtp server. | smtp.gmail.com |
SMTP Username | The username of the smtp server connection. | [email protected] or solo-username |
Your Email | The email used for sending alerts. | [email protected] |
Your Recipient Email | The email you want the alerts to be sent to. | [email protected] |
SMTP Password | The password of the smtp server connection. | *********** |
ChromeDriver Choice | If you want to use ChromeDriver to take website screenshots. | 'y' for yes, 'n' for no |
Gecko Driver Choice | If you want to use Gecko Driver to take website screenshots. | 'y' for yes, 'n' for no |
Gecko Driver or Chrome Driver Location | The location of the executable on the system for either driver. | /Applications/ChromeDriver |
Hostname | The name of the monitor. | |
Domain | The website address, without http/https. | google.com |
Scan interval | The time between scans, in minutes. | 1 |
Some screenshots to assist you throughout executing the first run of Overseer are below, with commentary. You can use the sample configuration files provided in the project as a base, and modify this directly to skip this upfront configuration.
Your configuration should look similar to this from the above information.
@evcsec @snags141
GNU General Public License v3