* Add nilsonlinux/link-ip-monitor v1.0.0 * Add nilsonlinux/link-ip-monitor v1.0.0 * Update plugin ID in README.md * Rename project to link-ip-monitor and update ID Updated the project name and ID in the README. * Update plugin ID and command syntax in README
65 lines
2.7 KiB
Markdown
65 lines
2.7 KiB
Markdown
# link-ip-monitor
|
|
link-ip-monitor pings a list of IPs, hostnames or links on an interval, tracks
|
|
each host's online/offline status and response time, and notifies when one
|
|
goes down or comes back up.
|
|
|
|
## Plugin
|
|
| Field | Value |
|
|
| --- | --- |
|
|
| ID | `nilsonlinux/link-ip-monitor` |
|
|
| Entries | Bar widget: `status`; panel: `panel`; service: `monitor` |
|
|
|
|
## Requirements
|
|
Uses the system `ping` binary (`iputils`, present on most Linux distros).
|
|
No other external dependency.
|
|
|
|
## Usage
|
|
Add the `status` widget to the bar: it turns green when every monitored
|
|
host is responding, red with a count badge when one or more are down, and
|
|
neutral when the list is empty.
|
|
|
|
Click the widget to open the panel. Use the `+` button in the panel header
|
|
to reveal the add-host form — accepts an IP (`8.8.8.8`), a hostname
|
|
(`example.com`) or a full link (scheme, port, path and query are stripped
|
|
automatically, keeping only the host to ping). An optional description can
|
|
be set alongside it.
|
|
|
|
Each row in the panel shows the label (or the host, if no label was set), a
|
|
status pill, the response time in ms while online, a drag handle to
|
|
reorder the list, and a trash button to remove that entry (asks for
|
|
confirmation). Right-click the widget, or use the refresh button in the
|
|
panel, to force an immediate check.
|
|
|
|
Open the panel directly with:
|
|
```sh
|
|
noctalia msg panel-toggle nilsonlinux/link-ip-monitor:panel
|
|
```
|
|
|
|
Force an immediate check via IPC:
|
|
```sh
|
|
noctalia msg plugin nilsonlinux/link-ip-monitor:monitor all refresh
|
|
```
|
|
|
|
The host list itself is not stored in plugin settings — it lives in the
|
|
service's own persisted state (`pluginDataDir()/state.json`) and is
|
|
managed entirely from the panel (add / remove / reorder), since the
|
|
plugin API has no way to write settings back from a script.
|
|
|
|
## Settings
|
|
| Setting | Type | Default | Description |
|
|
| --- | --- | --- | --- |
|
|
| `interval_seconds` | `int` | `30` | How often each host is checked. |
|
|
| `timeout_seconds` | `int` | `1` | How long to wait for a ping reply before treating it as a failure. |
|
|
| `notify_on_recovery` | `bool` | `true` | Send a notification when a host that was down responds again. |
|
|
| `glyph` (widget) | `glyph` | `activity` | Icon shown in the bar for the `status` widget. |
|
|
|
|
## Notes
|
|
Notification text and panel labels come from `translations/<locale>.json`
|
|
via `noctalia.tr()` (English and `pt-BR` included). `noctalia.notify()` /
|
|
`noctalia.notifyError()` accept only a title and body — the plugin API
|
|
exposes no urgency parameter, so the "host down" alert's appearance (the
|
|
red border from `notifyError`) can't be further customized from the
|
|
plugin. Response time (ms) is parsed from `ping`'s own text output, so it
|
|
depends on that output containing a `=<number> ms` pattern regardless of
|
|
the system's locale.
|