You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
A comprehensive website monitoring framework with both automated daily checks and a powerful web interface. Monitor the health, security, performance, and compliance of your websites with 53+ different checks organized into logical categories.
Screenshot
🚀 Quick Start
Web Interface
Run the local web interface for immediate testing:
python api.py
Then visithttp://localhost:8000 for the interactive web interface.
Docker
Run with Docker for easy deployment:
docker run -p 8000:8000 fabriziosalmi/websites-monitor
GitHub Actions
Use the automated daily monitoring by configuringconfig.yaml and enabling GitHub Actions.
✨ Features
🌐Web Interface
Interactive HTML interface for real-time website analysis
Category-based check selection for easier management
Mobile-responsive design
Real-time results display
No setup required - just run and test
🔄Automated Monitoring
Daily automated checks via GitHub Actions
Configurable scheduling and reporting
Automatic markdown report generation
GitHub integration with commit updates
📊Comprehensive Analysis - 53+ Checks
Organized into 7 logical categories:
🛡️Security & Protection (10 checks)
SSL Certificate validation
SSL Cipher Strength analysis
Security Headers assessment
HSTS (HTTP Strict Transport Security)
XSS Protection verification
CORS Headers analysis
Mixed Content detection
Subresource Integrity check
Rate Limiting detection
Data Leakage prevention
⚡Performance & Speed (8 checks)
PageSpeed Insights score
Website Load Time measurement
Server Response Time analysis
Brotli Compression detection
Asset Minification verification
CDN Detection
Redirect Chains analysis
Redirects optimization
🎯SEO & Content (9 checks)
Sitemap validation
Robots.txt verification
Open Graph Protocol compliance
Alt Tags for images
Semantic Markup analysis
URL Canonicalization
Favicon presence
Broken Links detection
External Links analysis
🌍Domain & DNS (7 checks)
Domain Expiration monitoring
DNSSEC validation
DNS Blacklist checking
Domain Breach detection
Domain Blacklists verification
Subdomain Enumeration
Email Domain validation
🔒Privacy & Tracking (10 checks)
Cookie Policy compliance
Cookie Flags verification
Cookie Duration analysis
Cookie SameSite attributes
Ad & Tracking detection
FLoC (Federated Learning of Cohorts) detection
Privacy Exposure assessment
WHOIS Protection verification
Third-Party Requests monitoring
Third-Party Resources analysis
📱Accessibility & Mobile (5 checks)
Accessibility compliance
Mobile Friendly testing
AMP Compatibility
Internationalization support
Browser Compatibility
🔧Technical & Infrastructure (4 checks)
Content-Type Headers validation
CMS Detection
Client-Side Rendering analysis
Deprecated Libraries detection
🛠️Multiple Interfaces
Web UI: Interactive browser-based interface
API: RESTful endpoints for integration
CLI: Command-line interface for automation
GitHub Actions: Automated daily monitoring
📚Documentation & API
Swagger UI at/docs for interactive API testing
ReDoc documentation at/redoc for detailed API reference
Comprehensive API endpoints for all monitoring functions
Docker support for easy deployment
📖 How to Use
🌐 Web Interface Usage
Quick Start:
python api.py
Openhttp://localhost:8000 in your browser.
Using the Interface:
Enter a website URL in the input field
Select check categories you want to run
Click "Run Checks" to analyze the website
View real-time results with detailed explanations
Categories Available:
Toggle entire categories on/off for easier management
Each category contains multiple related checks
Mobile-responsive interface works on all devices
🐳 Docker Usage
Run with Docker:
docker run -p 8000:8000 fabriziosalmi/websites-monitor
Build from Source:
docker build -t websites-monitor.docker run -p 8000:8000 websites-monitor
🔄 GitHub Actions Setup
Fork This Repository: Start by forking this repository to your GitHub account.
Configure Websites:
Edit theconfig.yaml file
Add the websites you want to monitor:
websites: -audiolibri.org -example.com
Enable GitHub Actions:
Navigate to the "Actions" tab in your repository
Enable GitHub Actions with write permissions
Set API Key Secret (Optional):
Get a Google PageSpeed Insights API key
Add it as a repository secret namedPAGESPEED_API_KEY
Create Report Template:
Createreport_template.md in the root directory
Add your desired report template content
Commit Changes:
Commit and push to trigger the initial report generation
Content Quality: Alt tags, semantic markup, internationalization
🐳 Docker Deployment
The project includes full Docker support for easy deployment:
# Available on Docker Hubdocker pull fabriziosalmi/websites-monitor# Run with custom portdocker run -p 3000:8000 fabriziosalmi/websites-monitor# Run with environment variablesdocker run -e PAGESPEED_API_KEY=your_key fabriziosalmi/websites-monitor
📚 API Documentation
Interactive Documentation:
Swagger UI: Visit/docs for interactive API testing
ReDoc: Visit/redoc for detailed API reference
Integration Examples:
REST API endpoints for all monitoring functions
JSON response format for easy integration
Comprehensive error handling and status codes
🤝 Contributing
Fork the repository
Create a feature branch
Add new checks in thechecks/ directory
Update documentation
Submit a pull request
📄 License
This project is open source. See the license file for details.
💬 Support
For issues or suggestions:
Open a GitHub issue
Check the documentation at/docs
Review existing issues and discussions
This comprehensive monitoring framework provides everything you need to keep your websites secure, fast, and compliant. Whether you prefer the interactive web interface, automated GitHub Actions, or API integration - Website Monitor has you covered.
About
Websites monitoring via GitHub Actions/API (expiration, security, performances, privacy, SEO)