{"id":20761483,"url":"https://github.com/thatsinewave/domainmonitor","last_synced_at":"2026-04-25T12:32:23.486Z","repository":{"id":238390168,"uuid":"796448651","full_name":"ThatSINEWAVE/DomainMonitor","owner":"ThatSINEWAVE","description":"A Python script designed to monitor the status of specified domains and report changes to a Discord channel using webhooks.","archived":false,"fork":false,"pushed_at":"2025-07-24T10:43:17.000Z","size":44,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-24T15:00:35.947Z","etag":null,"topics":["discord","discord-api","discord-bot","discord-py","discord-webhook","discord-webhook-api","discord-webhook-notifications","discord-webhook-tool","discord-webhook-tools","discord-webhooks","good-first-contribution","good-first-issue","good-first-issues","good-first-pr-first-contribution","good-first-project","good-first-prs","thatsinewave","webhook","webhook-server","webhooks"],"latest_commit_sha":null,"homepage":"https://github.com/ThatSINEWAVE/DomainMonitor","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ThatSINEWAVE.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"ThatSINEWAVE","ko_fi":"thatsinewave"}},"created_at":"2024-05-06T00:26:14.000Z","updated_at":"2025-07-24T10:43:21.000Z","dependencies_parsed_at":"2024-05-08T04:29:15.483Z","dependency_job_id":"3fe692e9-7be7-4935-939a-ca663f94e441","html_url":"https://github.com/ThatSINEWAVE/DomainMonitor","commit_stats":null,"previous_names":["thatsinewave/webhook-watcher"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ThatSINEWAVE/DomainMonitor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThatSINEWAVE%2FDomainMonitor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThatSINEWAVE%2FDomainMonitor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThatSINEWAVE%2FDomainMonitor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThatSINEWAVE%2FDomainMonitor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ThatSINEWAVE","download_url":"https://codeload.github.com/ThatSINEWAVE/DomainMonitor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThatSINEWAVE%2FDomainMonitor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32262801,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T09:15:33.318Z","status":"ssl_error","status_checked_at":"2026-04-25T09:15:31.997Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["discord","discord-api","discord-bot","discord-py","discord-webhook","discord-webhook-api","discord-webhook-notifications","discord-webhook-tool","discord-webhook-tools","discord-webhooks","good-first-contribution","good-first-issue","good-first-issues","good-first-pr-first-contribution","good-first-project","good-first-prs","thatsinewave","webhook","webhook-server","webhooks"],"created_at":"2024-11-17T10:21:12.698Z","updated_at":"2026-04-25T12:32:23.479Z","avatar_url":"https://github.com/ThatSINEWAVE.png","language":"Python","funding_links":["https://github.com/sponsors/ThatSINEWAVE","https://ko-fi.com/thatsinewave"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# DomainMonitor\n\nDomainMonitor 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.\n\n\u003c/div\u003e\n\n## Features\n\n- **Domain Monitoring**: Keep track of the status and details of specified domains.\n- **Ping Time Monitoring**: Measure the response time (ping) of monitored domains.\n- **WHOIS Information**: Retrieve and monitor WHOIS information for domains.\n- **IP Details**: Obtain and monitor IP details associated with domains.\n- **Change Detection**: Detect changes in domain information and notify users via Discord webhooks.\n- **Customization**: Easily deploy and configure new monitors using provided scripts.\n- **Continuous Monitoring**: Run monitoring processes continuously to ensure timely detection of changes.\n- **Logging**: Log deployment activities and monitoring data for reference and analysis.\n\n\u003cdiv align=\"center\"\u003e\n\n## ☕ [Support my work on Ko-Fi](https://ko-fi.com/thatsinewave)\n\n\u003c/div\u003e\n\n## Project Structure\n\nThe project structure includes the following files and directories:\n\n- **`monitors/`**: Directory containing template monitor configurations.\n- **`model/domain.json`**: Configuration template for the monitored domain.\n- **`model/webhook.json`**: Configuration template for webhook URL.\n- **`model/log.json`**: Template for log data for the monitored domain.\n- **`model/monitor.py`**: Python script for monitoring domains.\n- **`deploy-monitor.py`**: Script for deploying new monitors.\n- **`deployer.log`**: Log file for deployment activities.\n\n## Requirements\n\nDomainMonitor relies on the following Python libraries:\n\n- `whois`: For retrieving WHOIS information.\n- `requests`: For making HTTP requests.\n- `discord_webhook`: For sending notifications via Discord webhooks.\n- `difflib`: For generating difference reports.\n- `psutil`: For managing processes.\n\n## Installation\n\nTo install DomainMonitor and its dependencies, follow these steps:\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/yourusername/DomainMonitor.git\n   ```\n\n2. Navigate to the project directory:\n\n   ```bash\n   cd DomainMonitor\n   ```\n\n3. Install the required dependencies:\n\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n\u003cdiv align=\"center\"\u003e\n\n## [Join my discord server](https://thatsinewave.github.io/Discord-Redirect/)\n\n\u003c/div\u003e\n\n## Example Monitors\n\n### Monitor for `https://example.com`\n\nThis monitor checks the status of `https://example.com` and sends notifications via Discord webhook if any changes are detected.\n\n### Monitor for `https://github.com`\n\nSimilar to the previous monitor, this one monitors `https://github.com` and notifies about changes via Discord webhook.\n\n## Deployment\n\nTo deploy a new monitor:\n\n1. Run the `deploy-monitor.py` script.\n2. Enter the domain URL and Discord webhook URL when prompted.\n3. Optionally, start the monitor immediately or start it later using the provided options.\n\n## Usage\n\nOnce 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.\n\n## Log File\n\nThe `deployer.log` file contains logs generated by the deployment process, providing insights into monitor creation and management activities.\n\n## Contributing\n\nContributions are welcome! Feel free to submit pull requests or open issues for any improvements or bug fixes.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthatsinewave%2Fdomainmonitor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthatsinewave%2Fdomainmonitor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthatsinewave%2Fdomainmonitor/lists"}