ZWATCHER
zwatcher is a lightweight bash script for monitoring sub/domains or a list of sub/domains and javascript files. It compares HTTP status codes and content length to detect changes and notifies the user when any modifications occur. Easily keep track of your domains' health and security with zwatcher.
Install / Use
/learn @Hunt3r0x/ZWATCHERREADME
zWATCHER
zWATCHER is a simple bash script that allows you to monitor a sub/domain or a list of sub/domains or java script files for changes in status codes and content length. If any changes are detected, it will notify you.
Features
- Monitor a single sub/domain or a list of sub/domains for changes.
- Monitor a JS "java script" files for changes.
- Compare HTTP status codes and content length to detect changes.
- You can use any httpx tool flag in comparing and changes.
- Notify the user when changes are detected.
- Specify the scan interval in seconds.
- Save scan results to an output file.
Prerequisites
httpx: Make sure you havehttpxinstalled. You can install it usinggoor use the pre-built binary from the following link: httpx.notify: Make sure you havenotifyinstalled. You can install it usinggoor use the pre-built binary from the following link: notify.
Usage
Usage: zwatcher.sh [OPTIONS]
Options:
-u <domain or URL> Specify a single domain to scan
-l <list of domains> Specify a file containing a list of domains to scan
-s <interval> Specify the scan interval in seconds
-n <notify-id> Specify the notification ID
-o <output file> Specify the output file to save scan results
-h Display this help message
httpx-flags
-sc response status-code
-cl response content-length
-title http title
you can all httpx flags in zwatcher
Example:
./zwatcher.sh -u x.com -s 60 -o out.txt -mc 200 -sc -title -n notifyid
./zwatcher.sh -u x.com/script.js -s 60 -o out.txt -mc 200 -sc -title -n notifyid
Examples
- Monitor a single domain with a scan interval of 60 seconds and save the results to
scanresults.txt:
./zwatcher.sh -u example.com -s 60 -o scanresults.txt
- Monitor a list of domains from a file called
domains.txtwith a scan interval of 120 seconds and save the results toscanresults.txt:
./zwatcher.sh -l domains.txt -s 120 -o scanresults.txt
Examples for javascript files
- Monitor a list of js files in list called
js-urls.txtwith a scan interval of 120 seconds and save the results toscanresults.txt:
./zwatcher.sh -l js-urls.txt -s 120 -o scanresults.txt
- Monitor one js file
https://hackerone/scripts/admin.jswith a scan interval of 120 seconds and save the results toscanresults.txt:
./zwatcher.sh -u https://hackerone/scripts/admin.js -s 120 -o scanresults.txt
Notifications
zwatcher can notify you when changes are detected. To enable notifications, you need to have the notify command installed, which allows sending notifications to the desktop.
The notify command can be installed using the following command:
go install -v github.com/projectdiscovery/notify/cmd/notify@latest
After installing notify, you can specify the notification ID "from notify config file" using the -n flag:
./zwatcher.sh -u example.com -s 60 -o scanresults.txt -n mynotifyid
When changes are detected, zwatcher will send a notification with notify.
Notes
- If the output file (
oflag) does not exist, zwatcher will create it when the first scan is completed. - If you specify a file containing a list of domains (
lflag), zwatcher will continuously scan each domain in the list with the specified scan interval.
Disclaimer
This tool is for educational and monitoring purposes only. Use it responsibly and only on domains you have permission to scan. The author is not responsible for any misuse or damage caused by this script.
