The best tool whether to keep free-tier websites awake, or to ping websites for monitoring their health.
Works on all OS, including Windows, VPS systems or local machines without relying on external schedulers like cron or Task Scheduler.
- 🕓 Built-in scheduler (no need for external tools)
- 🌐 Periodically pings a list of websites
- 🧵 Threaded execution - pings are run concurrently
- 🧠 Smart rescheduling for stable uptime monitoring
- 🪵 Simple log output with timestamps and HTTP status codes
- ⚙️ Easily extensible and readable
- 📧 Customizable daily, weekly, or custom frequency reporting logs to email
- Add sources
You will be prompted at runtime to enter the list of URLs to monitor. Alternatively, modify the script to load from a file or hardcode.
JSON structure for sources:
[
{"url": "https://example.com", "frequency": 10},
{"url": "https://example2.com", "frequency": 15}
]- Run the program
python script.pySample output:
Do you want to add sources? (y/n): y
Enter URL: https://example.com
Enter URL: https://google.com
...
Starting monitor...
Fri Jul 19 14:00:01 2025: https://example.com -> 200
Fri Jul 19 14:00:01 2025: https://google.com -> 200
...
- Modify ping interval by adjusting the reschedule logic
- Add persistent URL storage or alerting (email/Telegram/etc.)
- Swap
requestswithhttpxfor async if needed
- Python 3.8+
requests
Install dependencies:
pip install -r requirements.txtCreative Commons Attribution Share Alike 4.0 International, Armen-Jean Andreasian 2025
