An open API service indexing awesome lists of open source software.

https://github.com/a-jean-andreasian/pingpatrol

The best tool whether to keep free-tier websites awake, or to ping websites for monitoring their health. Works on all OS, including Windows. Operates natively without any external schedulers like cron or Task Scheduler.
https://github.com/a-jean-andreasian/pingpatrol

keep-awake pinger python scheduler vps

Last synced: 8 months ago
JSON representation

The best tool whether to keep free-tier websites awake, or to ping websites for monitoring their health. Works on all OS, including Windows. Operates natively without any external schedulers like cron or Task Scheduler.

Awesome Lists containing this project

README

          

![a](https://i.ibb.co/Spk964x/wmremove-transformed.png)

---

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`.

---
## ๐Ÿš€ Features

- ๐Ÿ•“ 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

---
## ๐Ÿ’ป Usage

1. **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:

```json
[
{"url": "https://example.com", "frequency": 10},
{"url": "https://example2.com", "frequency": 15}
]
```

2. **Run the program**

```bash
python script.py
````

Sample 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
...
```

---
## ๐Ÿ”ง Customization & possible contribution

* Modify ping interval by adjusting the reschedule logic
* Add persistent URL storage or alerting (email/Telegram/etc.)
* Swap `requests` with `httpx` for async if needed

---

## ๐Ÿ“ฆ Requirements

* Python 3.8+
* `requests`

Install dependencies:

```bash
pip install -r requirements.txt
```

---
## ๐Ÿ“„ License

Creative Commons Attribution Share Alike 4.0 International, Armen-Jean Andreasian 2025