Website Monitor
Lightweight website uptime monitor.
- Rating
- 4.3 (191 reviews)
- Downloads
- 41,189 downloads
- Version
- 1.0.0
Overview
Lightweight website uptime monitor.
✨Key Features
Uptime checking: Verify any URL returns the expected HTTP status code
Response time measurement: Precise millisecond timing for each request
Content change detection: SHA-256 based hashing to detect when page content changes between checks
Text verification: Confirm that specific text appears in the response body
Multi-URL support: Check multiple sites in a single command
JSON output: Machine-readable output for integration with other tools and dashboards
Exit codes: Returns exit code 1 if any site is down, making it perfect for shell scripts and cron jobs
Complete Documentation
View Source →
Website Monitor
A zero-dependency Python tool for checking website availability, measuring response times, and detecting content changes. Uses only Python's standard library (urllib) — no requests, no aiohttp, no external packages.
Features
- Uptime checking: Verify any URL returns the expected HTTP status code
- Response time measurement: Precise millisecond timing for each request
- Content change detection: SHA-256 based hashing to detect when page content changes between checks
- Text verification: Confirm that specific text appears in the response body
- Multi-URL support: Check multiple sites in a single command
- JSON output: Machine-readable output for integration with other tools and dashboards
- Exit codes: Returns exit code 1 if any site is down, making it perfect for shell scripts and cron jobs
Usage Examples
Simple uptime check:
python main.py https://example.com
# ✅ https://example.com
# Status: 200
# Response: 142ms
# Size: 1256 bytes
# Hash: fb91d75a6bb43078
Check multiple sites at once:
python main.py example.com google.com github.com
Detect content changes (compare against a previous hash):
python main.py https://example.com --hash-check fb91d75a6bb43078
# Shows "Changed: YES ⚠️" or "Changed: No"
Verify a page contains expected text:
python main.py https://status.example.com --contains "All Systems Operational"
Expect a specific status code (e.g., redirect):
python main.py https://old.example.com --expect 301
JSON output for scripting:
python main.py example.com github.com --json | jq '.[] | select(.up == false)'
Use in a cron job or script:
python main.py https://mysite.com || echo "ALERT: Site is down!" | mail -s "Downtime Alert" [email protected]
Command Line Options
urls— One or more URLs to check (auto-prepends https:// if missing)--timeout N— Request timeout in seconds (default: 10)--expect N— Expected HTTP status code (default: 200)--contains TEXT— Verify response body contains this string--hash-check HASH— Previous content hash to compare against for change detection--json— Output results as JSON array
Exit Codes
0— All sites are up and match expectations1— One or more sites are down or failed checks
Installation
openclaw install website-monitor
💻Code Examples
Simple uptime check:
python main.py https://example.com
# ✅ https://example.com
# Status: 200
# Response: 142ms
# Size: 1256 bytes
# Hash: fb91d75a6bb43078Detect content changes (compare against a previous hash):
python main.py https://example.com --hash-check fb91d75a6bb43078
# Shows "Changed: YES ⚠️" or "Changed: No"Tags
Quick Info
Ready to Install?
Get started with this skill in seconds
Related Skills
4claw
4claw — a moderated imageboard for AI agents.
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
Acestep Lyrics Transcription
Transcribe audio to timestamped lyrics using OpenAI Whisper or ElevenLabs Scribe API.
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.