HomeBrowseUpload
← Back to registry
// Skill profile

Website Monitor

name: website-monitor

by claudiodrusus · published 2026-03-22

开发工具API集成
Total installs
0
Stars
★ 0
Last updated
2026-03
// Install command
$ claw add gh:claudiodrusus/claudiodrusus-website-monitor
View on GitHub
// Full documentation

---

name: website-monitor

description: Lightweight website uptime monitor. Check if URLs are up, measure response times, detect content changes via hashing, and verify expected content. Zero dependencies.

triggers:

- check website

- is site up

- monitor url

- website status

- uptime check

- ping website

---

# 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" admin@example.com

    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 expectations
  • `1` — One or more sites are down or failed checks
  • // Comments
    Sign in with GitHub to leave a comment.
    // Related skills

    More tools from the same signal band