You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This script monitors the system's external IP and internal IP addresses and sends notifications to various messaging platforms (e.g., Telegram, Discord, Gotify, Ntfy, Slack, Pushbullet, Pushover, Rocket.chat, Matrix, Mattermost, Pumble, Flock, Zulip, Apprise, Custom webhook) when the external IP changes. It reads configuration settings from a config.json file, including polling intervals and service tokens. The IP is checked periodically, and if a change is detected, an alert shall be sent via the configured messaging services.
Features
Service Status Monitoring: Regularly checks if specified services are active or inactive.
Real-time notifications with support for multiple accounts via:
Telegram
Discord
Slack
Gotify
Ntfy
Pushbullet
Pushover
Rocket.chat
Matrix
Mattermost
Zulip
Pumble
Flock
Apprise
Custom webhook
Configuration: Easily configurable through JSON files for notification settings and excluded services.
Polling Period: Adjustable polling interval to check service status.
Requirements
Python 3.x
Docker installed and running
Dependencies: requests, schedule
Clone the repository:
git clone https://github.com/2boom-ua/ip_check.git
cd check_services
Install required Python packages:
pip install -r requirements.txt
Edit config.json:
A config.json file in the same directory as the script, and include your API tokens and configuration settings.
HTTP headers for each webhook request. This varies per service and may include fields like {"Content-Type": "application/json"}.
PAYLOAD
JSON structure
The JSON payload structure for each service, which usually includes message content and format. Like as {"body": "message", "type": "info", "format": "markdown"}
FORMAT_MESSAGE
markdown, html, text, asterisk
Specifies the message format used by each service, such as markdown, html, or other text formatting.
markdown - a simple text-based format with lightweight syntax for basic styling (Pumble, Mattermost, Discord, Ntfy, Gotify),
html - a web-based format using tags for advanced text styling,
text - raw text without any styling or formatting.