CyclopStare is a lightweight, cross-platform site change detection tool 🦀✨ written in Rust. It lets you 👁️ stare at one or more webpages 🌐, track their content over time ⏱️, and detect when something actually changes ⚠️ using hashes 🔐 instead of noisy diffs 📝❌.
CyclopStare is a lightweight, cross-platform site change detection tool 🦀✨ written in Rust. It lets you 👁️ stare at one or more webpages 🌐, track their content over time ⏱️, and detect when something actually changes ⚠️ using hashes 🔐 instead of noisy diffs 📝❌.
<p> tags)cyclopstare/
├── src/
│ ├── main.rs # Entry point
│ ├── cli.rs # CLI argument parsing
│ ├── fetch.rs # HTTP fetching & HTML parsing
│ ├── hash.rs # SHA-256 utilities
│ ├── detect.rs # Change detection logic
│ ├── storage.rs # File I/O & logging
│ └── util.rs # Path resolution & timestamps
├── logs/ # Auto-created per-site logs
├── config/
│ └── starefile # List of URLs to monitor
└── Cargo.toml
undefinedRequirements: Rust (stable) + Cargo. Install Rust from: https://rustup.rs
cargo buildcargo run -- <command>🔹 Stare at a single URL
cargo run -- --stare https://example.com
🔹 Stare at multiple URLs from a file
cargo run -- --starefile config/starefile
config/starefile should contain one URL per line.
🔹 Reset a single site’s log
cargo run -- --reset <site_hash>
🔹 Reset all sites listed in a starefile
cargo run -- --resetstarefile config/starefile
<URL>
<timestamp> <content_hash>
<timestamp> <content_hash>
Resolved starefile path: C:\...\CyclopStare\config\starefile
[Opening File]: C:\...\CyclopStare\config\starefile
⭕ Site change detected: https://example.com
✅ No change detected: https://another-site.com
PRs welcome. Keep it simple, readable, and Rusty.
We use cookies
We use cookies to analyze traffic and improve your experience. You can accept or reject analytics cookies.