-
Notifications
You must be signed in to change notification settings - Fork 0
Commands Watch
github-actions[bot] edited this page May 28, 2026
·
1 revision
The watch command enables continuous monitoring of targets for changes.
domainraptor watch [OPTIONS] COMMAND [ARGS]Purpose: Monitor targets for changes in assets, certificates, DNS records, and security posture.
Add a target to the watch list:
domainraptor watch add example.comOptions:
| Option | Short | Description | Default |
|---|---|---|---|
--interval |
-i |
Check interval (1h, 6h, 24h, 7d) | 24h |
--type |
-t |
Watch type: domain, ip, certificate | domain |
--notify |
-n |
Notification channel | None |
--tags |
Comma-separated tags | None |
Interval Formats:
| Format | Description |
|---|---|
1h |
Every hour |
6h |
Every 6 hours |
12h |
Every 12 hours |
24h |
Daily (default) |
7d |
Weekly |
Examples:
# Watch domain daily (default)
domainraptor watch add example.com
# Watch every 6 hours
domainraptor watch add example.com --interval 6h
# Watch IP address specifically
domainraptor watch add 93.184.216.34 --type ip
# Watch certificate expiration
domainraptor watch add example.com --type certificate
# Add tags for organization
domainraptor watch add example.com --tags "production,critical"
# Watch with email notification
domainraptor watch add example.com --notify email:security@example.com
# Watch with Slack webhook
domainraptor watch add example.com --notify webhook:https://hooks.slack.com/xxxExample Output:
ℹ Adding example.com to watch list (interval: 24h)
Performing initial scan... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100%
✓ Now watching: example.com
ℹ Watch ID: watch_a1b2c3d4
ℹ Next check: 2025-01-16 10:30:00
Initial Baseline:
• Subdomains: 12
• IP Addresses: 3
• Certificates: 4
• Open Ports: 5
Remove a target from the watch list:
domainraptor watch remove example.comOptions:
| Option | Short | Description | Default |
|---|---|---|---|
--force |
-f |
Remove without confirmation | False |
--keep-data |
Keep historical data | False |
Examples:
# Remove with confirmation
domainraptor watch remove example.com
# Force remove without confirmation
domainraptor watch remove example.com --force
# Remove but keep historical data
domainraptor watch remove example.com --keep-dataExample Output:
⚠ Remove example.com from watch list?
• Watch ID: watch_a1b2c3d4
• Watching since: 2025-01-01
• Total checks: 15
• Historical data will be deleted
Remove? [y/N]: y
✓ Removed example.com from watch list
List all watched targets:
domainraptor watch listOptions:
| Option | Short | Description | Default |
|---|---|---|---|
--tags |
-t |
Filter by tags | All |
--status |
-s |
Filter by status: active, paused | All |
--format |
-f |
Output format: table, json | table |
Examples:
# List all watched targets
domainraptor watch list
# Filter by tag
domainraptor watch list --tags production
# Show only active watches
domainraptor watch list --status active
# JSON output
domainraptor watch list -f jsonExample Output:
ℹ Watched Targets:
Active Watches
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Target ┃ Type ┃ Interval ┃ Last Check ┃ Status ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ example.com │ domain │ 24h │ 2025-01-15 10:30:00 │ Active │
│ api.example.io │ domain │ 6h │ 2025-01-15 14:00:00 │ Active │
│ 93.184.216.34 │ ip │ 24h │ 2025-01-15 08:00:00 │ Active │
│ test.org │ cert │ 7d │ 2025-01-08 00:00:00 │ Paused │
└────────────────┴──────────┴───────────┴──────────────────────┴──────────┘
ℹ Total: 4 targets (3 active, 1 paused)
Manually run checks on watched targets:
domainraptor watch runOptions:
| Option | Short | Description | Default |
|---|---|---|---|
--target |
-t |
Specific target to check | All |
--force |
-f |
Run even if not due | False |
Examples:
# Run all due checks
domainraptor watch run
# Check specific target
domainraptor watch run --target example.com
# Force check (ignore schedule)
domainraptor watch run --forceExample Output:
ℹ Running watch checks...
Checking example.com... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100%
Checking api.example.io... ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100%
╭─────────────────── Watch Check Results ───────────────────╮
│ Targets checked: 2 │
│ Changes detected: 1 │
│ New alerts: 1 │
╰───────────────────────────────────────────────────────────╯
Detected Changes
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Target ┃ Type ┃ Change ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ example.com │ NEW │ New subdomain: staging.example.com │
└────────────────┴──────────┴──────────────────────────────────────┘
Pause monitoring for a target:
domainraptor watch pause example.comOptions:
| Option | Short | Description | Default |
|---|---|---|---|
--duration |
-d |
Pause duration (e.g., 7d, 30d) | Indefinite |
Examples:
# Pause indefinitely
domainraptor watch pause example.com
# Pause for 7 days (auto-resume)
domainraptor watch pause example.com --duration 7d
# Pause for maintenance window
domainraptor watch pause example.com --duration 4hExample Output:
✓ Paused monitoring for: example.com
ℹ Resume with: domainraptor watch resume example.com
Resume monitoring for a paused target:
domainraptor watch resume example.comExample Output:
✓ Resumed monitoring for: example.com
ℹ Next check: 2025-01-16 10:30:00
Show detailed status for a watched target:
domainraptor watch status example.comExample Output:
ℹ Watch Status: example.com
╭────────────────── Watch Details ──────────────────╮
│ Target: example.com │
│ Watch ID: watch_a1b2c3d4 │
│ Type: domain │
│ Status: Active │
│ Interval: 24h │
├───────────────────────────────────────────────────┤
│ Created: 2025-01-01 00:00:00 │
│ Last Check: 2025-01-15 10:30:00 │
│ Next Check: 2025-01-16 10:30:00 │
│ Total Checks: 15 │
├───────────────────────────────────────────────────┤
│ Current State: │
│ • Subdomains: 12 │
│ • IP Addresses: 3 │
│ • Certificates: 4 │
│ • Open Ports: 5 │
├───────────────────────────────────────────────────┤
│ Change History: │
│ 2025-01-14: New subdomain detected │
│ 2025-01-10: Certificate renewed │
│ 2025-01-05: New port opened (8080) │
╰───────────────────────────────────────────────────╯
| Change Type | Description | Alert Level |
|---|---|---|
NEW_SUBDOMAIN |
New subdomain discovered | INFO |
REMOVED_SUBDOMAIN |
Subdomain no longer resolves | INFO |
NEW_IP |
New IP address detected | INFO |
IP_CHANGED |
IP address changed | MEDIUM |
NEW_PORT |
New open port detected | MEDIUM |
PORT_CLOSED |
Port no longer open | INFO |
CERT_EXPIRING |
Certificate expiring soon | HIGH |
CERT_EXPIRED |
Certificate has expired | CRITICAL |
CERT_RENEWED |
Certificate renewed | INFO |
DNS_CHANGED |
DNS record changed | MEDIUM |
NEW_VULN |
New vulnerability detected | HIGH/CRITICAL |
domainraptor watch add example.com --notify email:security@example.comdomainraptor watch add example.com --notify webhook:https://hooks.slack.com/services/xxxdomainraptor watch add example.com \
--notify email:security@example.com \
--notify webhook:https://hooks.slack.com/xxxSet up automatic monitoring:
# Run watch checks every hour
0 * * * * domainraptor watch run >> /var/log/domainraptor.log 2>&1
# Run checks every 6 hours
0 */6 * * * domainraptor watch run >> /var/log/domainraptor.log 2>&1- Set Appropriate Intervals: Use shorter intervals for critical assets
- Use Tags: Organize watches with tags (prod, staging, critical)
- Configure Notifications: Set up alerts for important changes
- Regular Review: Periodically review watch list and adjust
- Baseline Updates: Update baselines after legitimate changes
← Report Commands | Next: Compare Commands →
DomainRaptor v0.2.0 | GitHub | Report Issue | MIT License