DomainMonitor is a Python-based monitoring tool designed to track changes in specified domains and notify users via Discord webhooks. It facilitates monitoring various aspects of a domain, including ping time, WHOIS information, and IP details, and sends notifications when changes are detected.
The project structure includes the following files and directories:
monitors/: Directory containing template monitor configurations.model/domain.json: Configuration template for the monitored domain.model/webhook.json: Configuration template for webhook URL.model/log.json: Template for log data for the monitored domain.model/monitor.py: Python script for monitoring domains.deploy-monitor.py: Script for deploying new monitors.deployer.log: Log file for deployment activities.DomainMonitor relies on the following Python libraries:
whois: For retrieving WHOIS information.requests: For making HTTP requests.discord_webhook: For sending notifications via Discord webhooks.difflib: For generating difference reports.psutil: For managing processes.To install DomainMonitor and its dependencies, follow these steps:
Clone the repository:
git clone https://github.com/yourusername/DomainMonitor.gitNavigate to the project directory:
cd DomainMonitorInstall the required dependencies:
pip install -r requirements.txthttps://example.comThis monitor checks the status of https://example.com and sends notifications via Discord webhook if any changes are detected.
https://github.comSimilar to the previous monitor, this one monitors https://github.com and notifies about changes via Discord webhook.
To deploy a new monitor:
deploy-monitor.py script.Once monitors are set up, the monitoring process runs continuously in the background, checking for changes at regular intervals. You can customize the monitoring frequency and behavior according to your requirements.
The deployer.log file contains logs generated by the deployment process, providing insights into monitor creation and management activities.
Contributions are welcome! Feel free to submit pull requests or open issues for any improvements or bug fixes.
This project is licensed under the MIT License. See the LICENSE file for details.