web-check
by
lissy93

Description: 🕵️‍♂️ All-in-one OSINT tool for analysing any website

View lissy93/web-check on GitHub ↗

Summary Information

Updated 1 hour ago
Added to GitGenius on May 6th, 2025
Created on June 25th, 2023
Open Issues/Pull Requests: 92 (+0)
Number of forks: 2,529
Total Stargazers: 32,109 (+2)
Total Subscribers: 166 (+0)
Detailed Description

web-check is a Python package designed for comprehensive website monitoring and alerting. It goes beyond simple ping checks, offering a robust suite of tests to verify various aspects of website functionality and content, ensuring a positive user experience. The core functionality revolves around defining "checks" – configurations that specify the URL to monitor, the type of test to perform, and expected outcomes. These checks can then be run periodically, and alerts are triggered if any test fails.

The repository provides a command-line interface (CLI) for managing and executing checks. Users can add, list, run, and delete checks directly from the terminal. Check configurations are stored in a YAML file, making them easily version-controlled and shareable. The YAML format allows for defining multiple checks with varying parameters, catering to diverse monitoring needs. A key strength is the flexibility in defining checks; it supports status code verification, content matching (using regular expressions), header validation, and even custom JavaScript execution within the browser context for more complex scenarios.

Several check types are implemented. `status` checks verify the HTTP status code returned by the URL. `content` checks look for specific text within the HTML source code. `header` checks validate the presence and value of specific HTTP headers. `javascript` checks are particularly powerful, allowing for the execution of JavaScript code within a headless browser (using Playwright) to simulate user interactions and verify dynamic content or application logic. This allows for testing things like form submissions, JavaScript-rendered content, and AJAX calls, which are impossible with simpler HTTP-based checks. The `screenshot` check type captures a visual snapshot of the webpage, useful for identifying visual regressions or unexpected layout changes.

Alerting is a central feature. web-check supports multiple notification methods, including email, Slack, and Discord. Alerts are triggered when a check fails, and can be configured to be sent immediately, or aggregated to reduce noise. The alerting system is designed to be configurable, allowing users to specify the recipients, message format, and frequency of notifications. The package also includes features to prevent alert storms, such as retries and cooldown periods.

The repository emphasizes ease of use and extensibility. The CLI is well-documented, and the YAML configuration format is straightforward. The use of Playwright for JavaScript checks provides a modern and reliable browser automation framework. Furthermore, the package is designed to be easily extended with custom check types and notification methods. The project is actively maintained, with regular updates and bug fixes, and welcomes contributions from the community. It's a valuable tool for developers, system administrators, and anyone responsible for maintaining the availability and functionality of websites and web applications.

web-check
by
lissy93lissy93/web-check

Repository Details

Fetching additional details & charts...