eping 3.65__tar.gz → 3.84__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {eping-3.65 → eping-3.84}/PKG-INFO +93 -36
- {eping-3.65 → eping-3.84}/README.md +92 -35
- {eping-3.65 → eping-3.84}/pyproject.toml +1 -1
- {eping-3.65 → eping-3.84}/src/eping/__init__.py +0 -0
- {eping-3.65 → eping-3.84}/src/eping/_launch_eping.py +0 -0
- {eping-3.65 → eping-3.84}/src/eping/eping.py +1330 -123
- {eping-3.65 → eping-3.84}/src/eping.egg-info/PKG-INFO +93 -36
- {eping-3.65 → eping-3.84}/LICENSE +0 -0
- {eping-3.65 → eping-3.84}/setup.cfg +0 -0
- {eping-3.65 → eping-3.84}/src/eping/epinga.py +0 -0
- {eping-3.65 → eping-3.84}/src/eping.egg-info/SOURCES.txt +0 -0
- {eping-3.65 → eping-3.84}/src/eping.egg-info/dependency_links.txt +0 -0
- {eping-3.65 → eping-3.84}/src/eping.egg-info/entry_points.txt +0 -0
- {eping-3.65 → eping-3.84}/src/eping.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: eping
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.84
|
|
4
4
|
Summary: Continuous ICMP reachability monitor built on fping, with a CSV logfile analyser (epinga)
|
|
5
5
|
Author-email: Ewald Jeitler <ewald@jeitler.cc>
|
|
6
6
|
License: GPL-3.0-or-later
|
|
@@ -17,7 +17,7 @@ Description-Content-Type: text/markdown
|
|
|
17
17
|
License-File: LICENSE
|
|
18
18
|
Dynamic: license-file
|
|
19
19
|
|
|
20
|
-
# eping.py 3.
|
|
20
|
+
# eping.py 3.84
|
|
21
21
|
|
|
22
22
|
Continuous ICMP reachability monitor built on `fping`. Scans a host list in a loop,
|
|
23
23
|
reports each host UP/DOWN/NO-DNS, counts state changes. CLI (curses) or web GUI.
|
|
@@ -48,6 +48,19 @@ Standalone scripts (installs/updates `eping.py`, `epinga.py`, `esplit.py`):
|
|
|
48
48
|
|
|
49
49
|
`esplit.py` isn't part of the pip package - use the standalone install for it.
|
|
50
50
|
|
|
51
|
+
## Windows
|
|
52
|
+
|
|
53
|
+
Portable Windows version (web GUI only, no installation): download and unpack
|
|
54
|
+
[`eping-windows.zip`](https://github.com/ewaldj/eping/blob/main/Windows_Version/eping-windows.zip)
|
|
55
|
+
([folder](https://github.com/ewaldj/eping/tree/main/Windows_Version/)), then start `eping.exe`.
|
|
56
|
+
|
|
57
|
+
- Contains `eping.exe` (small launcher window: web port, Start / Stop / Restart, open web GUI),
|
|
58
|
+
`eping.py`, `epinga.py`, `fping.exe` + `cygwin1.dll` (fping for Windows) and an embedded Python.
|
|
59
|
+
- The web GUI opens in the browser (default `http://127.0.0.1:8080`). The port is read from the hosts file
|
|
60
|
+
(`opt: -port 9000`); a port already in use is reported and can be changed in the launcher window.
|
|
61
|
+
- No terminal (curses) mode and no `-wv`/`-wvc` on Windows; log file names use `-` instead of `:`.
|
|
62
|
+
- Extra options: put them in `eping-args.txt` next to `eping.exe`. Details: `README-WINDOWS.txt` in the zip.
|
|
63
|
+
|
|
51
64
|
## Quick start
|
|
52
65
|
|
|
53
66
|
pip install: use `eping`/`epinga` instead of `./eping.py`/`./epinga.py` below.
|
|
@@ -61,7 +74,7 @@ pip install: use `eping`/`epinga` instead of `./eping.py`/`./epinga.py` below.
|
|
|
61
74
|
./eping.py -wvc # CLI + controllable web view
|
|
62
75
|
```
|
|
63
76
|
|
|
64
|
-
No args: creates a sample `eping-hosts.txt
|
|
77
|
+
No args: creates a sample `eping-hosts.txt` and `eping-hosts-sample.csv` (same hosts with invented inventory values, a template for the *Inventory CSV import*; never loaded by eping). `-df`: start with no hosts, add at runtime.
|
|
65
78
|
|
|
66
79
|
### Running unattended (screen / tmux)
|
|
67
80
|
|
|
@@ -86,7 +99,7 @@ expansion includes network/broadcast. Several `-f` files are combined before ded
|
|
|
86
99
|
|
|
87
100
|
### Host file format
|
|
88
101
|
|
|
89
|
-
Same parser for `-f`, `F`/ADD FILE (CLI), and web GUI ADD FILE:
|
|
102
|
+
Same parser for `-f`, `F`/ADD FILE (CLI), and web GUI ADD HOSTS FILE:
|
|
90
103
|
|
|
91
104
|
```
|
|
92
105
|
# comment to end of line
|
|
@@ -99,7 +112,7 @@ www.google.com # hostname/FQDN
|
|
|
99
112
|
2606:4700:4700::1111/128 # IPv6 with /128 - single host
|
|
100
113
|
```
|
|
101
114
|
|
|
102
|
-
Network mask range /13…/32 everywhere (host file, ADD FILE, web upload, ADD/DELETE
|
|
115
|
+
Network mask range /13…/32 everywhere (host file, ADD HOSTS FILE, web upload, ADD/DELETE
|
|
103
116
|
host input); out of range is rejected (message names the allowed range; `-f` warns and
|
|
104
117
|
ignores). IPv6: only `/128` accepted, any other mask rejected. Anything else is ignored.
|
|
105
118
|
|
|
@@ -117,34 +130,38 @@ opt: -web -port 9000
|
|
|
117
130
|
Multiple `opt:` lines join in file order. `#` comments out the rest of the line (or
|
|
118
131
|
the whole line at the start). Quote values with spaces: `opt: -f "my hosts.txt"`. A
|
|
119
132
|
flag typed on the command line wins over the same flag from a file. Only applies to
|
|
120
|
-
the initial `-f` read at startup — `F`/ADD FILE (CLI
|
|
133
|
+
the initial `-f` read at startup — `F`/ADD FILE (CLI) and ADD HOSTS FILE (web)
|
|
121
134
|
never parse `opt:` lines, they're just text.
|
|
122
135
|
|
|
136
|
+
`opt:` lines also work at the top of an inventory `.csv`. SAVE HOSTS FILE and DOWNLOAD ALL/ACTIVE HOSTS write every option that differs from the default there (start-up flags and live ADV OPTIONS changes; not `-f -df -n -r -o -up -setref -gn -cl`).
|
|
137
|
+
|
|
123
138
|
The default `eping-hosts.txt`: sample hosts, this section, then every CLI option as a
|
|
124
139
|
commented-out `opt:` line with its default (remove `# ` to activate).
|
|
125
140
|
|
|
126
141
|
## Inventory CSV import
|
|
127
142
|
|
|
128
143
|
A `.csv` inventory export (one device per row) can be used as host file: `-f FILE.csv`,
|
|
129
|
-
`F`/ADD FILE (CLI), web GUI ADD FILE (FROM CLIENT, FROM SERVER, drag and drop). Files
|
|
144
|
+
`F`/ADD FILE (CLI), web GUI FILE OPERATIONS > ADD HOSTS FILE (FROM CLIENT, FROM SERVER, drag and drop). Files
|
|
130
145
|
named `*.txt` are never treated as CSV - they keep the plain host file format above.
|
|
131
146
|
|
|
132
|
-
- **Detection**: first
|
|
147
|
+
- **Detection**: first line that is not blank, a `#` comment or an `opt:` line is a header with the columns `IP Address` and
|
|
133
148
|
`Hostname` (case-insensitive); the delimiter (`;`, `,` or tab) is detected.
|
|
134
149
|
- **Columns used**: `IP Address`, `Hostname`, `Serial Number`, `Model`, `Location`,
|
|
135
150
|
`sysLocation`, `Type`, `Comment`. All other columns are ignored.
|
|
136
|
-
- **Host entry**: the
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
151
|
+
- **Host entry**: the `Hostname` (default; rows without an IP are pinged by name too,
|
|
152
|
+
NO-DNS if it does not resolve). A name that is not a valid hostname falls back to the
|
|
153
|
+
IP; rows without a usable entry are ignored. In the IP modes (`-ipo`, PREFER IP
|
|
154
|
+
ADDRESS, also when active while the file is added) the entry is the IP address
|
|
155
|
+
instead and rows without a valid IP are ignored. `-ph` is not needed for a CSV.
|
|
141
156
|
- **Duplicates**: one host per entry, the first row wins. The count of ignored and
|
|
142
157
|
duplicate rows is reported when the file is added (startup message / web footer).
|
|
143
158
|
- **Log**: the six inventory values and the CSV hostname are written with every row
|
|
144
159
|
of that host, see *Logging*. A `Hostname` that is not the host entry (IP mode) is
|
|
145
160
|
only kept there as information.
|
|
146
|
-
-
|
|
147
|
-
|
|
161
|
+
- **Filters**: `M` matches the inventory values as text, `V` / ADV FILTER selects them
|
|
162
|
+
(see *ADV FILTER*).
|
|
163
|
+
- **Save**: if the displayed hosts carry inventory values, `SAVE HOSTS FILE` writes an
|
|
164
|
+
inventory `.csv` (see *Web GUI*); plain `.txt` hosts are saved as `.txt`.
|
|
148
165
|
|
|
149
166
|
Example (`;` delimited, extra columns are ignored):
|
|
150
167
|
|
|
@@ -158,8 +175,8 @@ sw-access-01;10.0.1.1;FOC5678C3DE;C9200L-24P;Vienna DC1;Rack C1;Switch;
|
|
|
158
175
|
fw-edge-01;192.0.2.1;JMX2345F6GH;ASA5516;Linz POP;Rack B2;Firewall;ASA 5516 - EoL 2027
|
|
159
176
|
```
|
|
160
177
|
|
|
161
|
-
|
|
162
|
-
|
|
178
|
+
This gives 6 hosts, named by `Hostname`. In an IP mode it gives 5 hosts (the IP
|
|
179
|
+
addresses); `ap-lobby-01` has no IP and is ignored.
|
|
163
180
|
|
|
164
181
|
## CLI mode
|
|
165
182
|
|
|
@@ -170,6 +187,7 @@ DOWN. Columns: hostname/IP, state, RTT (ms), last-change timestamp, change count
|
|
|
170
187
|
|---|---|
|
|
171
188
|
| `U` | view picker — all 9 views (see *Views and sort orders*) |
|
|
172
189
|
| `M` | match filter — regex on hostname/IP and inventory fields, display only (see *Match filter*) |
|
|
190
|
+
| `V` | ADV FILTER — check/uncheck Model/Location/sysLocation/Type/Comment values (show only / hide), display only (see *ADV FILTER*) |
|
|
173
191
|
| `A` | add host — IP, hostname, CIDR (/13…/32), or `ip1-ip2` (max 524288) |
|
|
174
192
|
| `D` | delete host — same formats/limits as add |
|
|
175
193
|
| `F` | add hosts from a file |
|
|
@@ -192,7 +210,7 @@ same option set as the matching web GUI dropdown.
|
|
|
192
210
|
Dialogs: ENTER confirms, ESC/empty cancels. Key bar shortens on narrow terminals.
|
|
193
211
|
`PLEASE WAIT` box with elapsed counter shown until the first round has results.
|
|
194
212
|
|
|
195
|
-
Ping checks keep running while a dialog (`A`/`D`/`F`/`M`/`T`) is open — same
|
|
213
|
+
Ping checks keep running while a dialog (`A`/`D`/`F`/`M`/`V`/`T`) is open — same
|
|
196
214
|
retry/state/logging logic as the main loop; screen repaints once the dialog closes.
|
|
197
215
|
|
|
198
216
|
Screen repaints ~7×/s independent of fping. `UP`, `SET REFERENCE`, `DEL HOST`, `ZERO
|
|
@@ -217,9 +235,9 @@ Single self-contained page, no external resources.
|
|
|
217
235
|
|
|
218
236
|
- Table: CLI-style columns, filled top-down then next column right. Horizontal scroll
|
|
219
237
|
if needed ("SCROLL RIGHT FOR MORE" hint in the stats bar).
|
|
220
|
-
- Footer stats: RUNTIME, HOST UP/DOWN/FLAPPING, for the whole current view regardless
|
|
221
|
-
of the match filter. RUNTIME shows `n/a` briefly during a background round.
|
|
222
|
-
- Adding many hosts (`ADD`,
|
|
238
|
+
- Footer stats: HOSTS, RUNTIME, HOST UP/DOWN/FLAPPING, for the whole current view regardless
|
|
239
|
+
of the match filter and the ADV FILTER (HOSTS-SHOWN = shown count). The CLI footer counts the same way. RUNTIME shows `n/a` briefly during a background round.
|
|
240
|
+
- Adding many hosts (`ADD`, ADD HOSTS FILE, upload) shows "added N host(s) - please wait,
|
|
223
241
|
pinging ..." until they appear with a state, then `done`.
|
|
224
242
|
- Font size 6–28px (slider, `A−`/`A+`, `+`/`−` keys), stored in `localStorage`.
|
|
225
243
|
- Column headers sort the list (IPv4-aware).
|
|
@@ -227,38 +245,46 @@ Single self-contained page, no external resources.
|
|
|
227
245
|
- Row 1: view select (9 views), sort order select, SET REFERENCE, ZERO CHANGES,
|
|
228
246
|
CLEAR ALL, address mode select, GET NAMES, ADV OPTIONS, RESET LOG, FILE OPERATIONS
|
|
229
247
|
select, EXIT, font size.
|
|
230
|
-
- Row 2: match filter (SET/CLEAR), host field (ADD/DELETE), comment
|
|
231
|
-
|
|
248
|
+
- Row 2: match filter (SET/CLEAR), ADV FILTER, host field (ADD/DELETE), comment
|
|
249
|
+
field (COMMENT), GENERATE REPORT select.
|
|
232
250
|
- View select, sort order select, address mode select and ADV OPTIONS all match the
|
|
233
|
-
CLI's `U`/`O`/`P`/`X` pickers exactly. FILE OPERATIONS
|
|
234
|
-
FROM SERVER
|
|
251
|
+
CLI's `U`/`O`/`P`/`X` pickers exactly. FILE OPERATIONS (incl. ADD HOSTS FILE FROM CLIENT/
|
|
252
|
+
FROM SERVER) is web-gui-only (no CLI key - CLI already runs on the server's own
|
|
235
253
|
filesystem).
|
|
236
254
|
- **FILE OPERATIONS** dropdown, in this order:
|
|
237
255
|
| Entry | Does |
|
|
238
256
|
|---|---|
|
|
239
|
-
|
|
|
257
|
+
| ADD HOSTS FILE FROM SERVER | picks one or more `.txt` files or inventory `.csv` files already on the server, adds their hosts; a `.csv` without the inventory header, e.g. an eping log, is refused |
|
|
258
|
+
| ADD HOSTS FILE FROM CLIENT | local file picker (`.txt`/`.csv`), adds the hosts; a file can also be dropped anywhere on the page |
|
|
259
|
+
| SAVE HOSTS FILE ON SERVER | confirmation, then saves the currently displayed hosts; blank name overwrites the active `-f` hostfile (first one, if eping.py was started with one) or, with none active, the default `eping-hosts.txt`; a typed name always saves as that new file instead, `.txt` appended once, active hostfile left untouched. If the displayed hosts carry inventory values (CSV import) an inventory `.csv` is written instead (`;` delimited, columns as in *Inventory CSV import*); a `.txt` name or hostfile then becomes `.csv`, the default is `eping-hosts.csv`. The options that differ from the default are written first as `opt:` lines (see *Host file format*); for a `.csv` the checkboxes `include options (opt: lines)` (default on) and `save as .txt (hosts only, no inventory)` (default off) are offered |
|
|
240
260
|
| UPLOAD FILE TO SERVER | picks a local `.txt`/`.csv`, saves as-is server-side, no host parsing; never overwrites, appends `-1`/`-2`/... |
|
|
241
|
-
| DOWNLOAD ALL HOSTS | full reference list,
|
|
242
|
-
| DOWNLOAD ACTIVE HOSTS | currently displayed hosts (view/address mode/filter applied),
|
|
261
|
+
| DOWNLOAD ALL HOSTS | full reference list: inventory `.csv` if the hosts carry inventory values, else `.txt`; non-default options first as `opt:` lines (`.csv`: checkboxes `include options`, default on, and `save as .txt`, default off) |
|
|
262
|
+
| DOWNLOAD ACTIVE HOSTS | currently displayed hosts (view/address mode/filter applied), same format and options as DOWNLOAD ALL HOSTS |
|
|
243
263
|
| DOWNLOAD ACTIVE LOGFILE | active CSV log, zipped; disabled while logging off |
|
|
244
264
|
| DOWNLOAD SELECTED FILES | picker: every `.csv`/`.txt`/`.html` in the working dir, table (name/size/date), extension filter, "select all", "no compression" checkbox (single-file selection only); multi-select bundles into one ZIP |
|
|
245
265
|
| DELETE FILES FROM SERVER | same picker as DOWNLOAD SELECTED FILES, red DELETE button, confirms with file count; active logfile can't be deleted |
|
|
246
266
|
| VIEW FILE FROM SERVER | picker: every `.csv`/`.txt` in the working dir, table (name/size/date), "select all"; opens each picked file read-only, raw content, COPY/DOWNLOAD buttons - see *VIEW FILE FROM SERVER* below |
|
|
247
|
-
- **ADD FILE** dropdown: `FROM CLIENT` (local file picker) / `FROM SERVER` (picks one
|
|
248
|
-
or more `.txt` files or inventory `.csv` files already on the server, adds their
|
|
249
|
-
hosts; a `.csv` without the inventory header, e.g. an eping log, is refused).
|
|
250
267
|
- Keyboard shortcuts (no modifier, only while no text field has focus; own quick
|
|
251
268
|
variants, not the CLI's picker keys of the same letter): `U` cycles the original 3
|
|
252
269
|
views (ALL HOSTS → CURRENTLY-UP → UP+FLAPPING → ALL HOSTS), the other 6 need the
|
|
253
270
|
dropdown; `O` cycles all 5 sort orders one at a time; `P`/`I` toggle PREFER HOSTNAME /
|
|
254
271
|
SWITCH TO IP ONLY directly, the address mode select reaches all 4 modes; `G`/`S`/`Z`/
|
|
255
272
|
`C`/`L`/`E` click the matching button (`E`/`C`/`L` confirm); `A`/`D` focus host field;
|
|
256
|
-
`M`/`T` focus their field; `F` opens the
|
|
273
|
+
`M`/`T` focus their field; `V` opens ADV FILTER; `F` opens the ADD HOSTS FILE FROM CLIENT picker; `R` forces a status refresh;
|
|
257
274
|
`+`/`−` font size (works while typing). No keyboard shortcut for `X`/ADV OPTIONS or
|
|
258
275
|
GENERATE REPORT - click required.
|
|
259
276
|
- Host field feeds both ADD/DELETE; ENTER triggers the button used last, ESC clears.
|
|
260
277
|
- Files can also be dropped anywhere on the page (max 16MB, see *Host file format*).
|
|
261
278
|
- Commands acknowledge immediately; a click aborts the running round.
|
|
279
|
+
- **Host popup**: hovering a host row (after ~350 ms) shows everything known about it:
|
|
280
|
+
state, previous state, RTT, last check, changes, time in the current state, resolved/CSV
|
|
281
|
+
IP, inventory values (Model, Location, sysLocation, Type, Comment, serial) and its
|
|
282
|
+
history (last up to 50 state changes, newest first, merged with the log `COMMENT`s
|
|
283
|
+
by time). The data is fetched per host on demand (`GET /api/host`), the polled status
|
|
284
|
+
stays small. A click on the row pins the popup: the text can be selected, `COPY` copies
|
|
285
|
+
all of it, `DELETE` removes the host immediately (no confirmation; not shown in `-wv`),
|
|
286
|
+
`×`/ESC/click elsewhere closes it. The history lives in memory only; it is cleared by
|
|
287
|
+
ZERO CHANGES and CLEAR ALL.
|
|
262
288
|
|
|
263
289
|
### Views and sort orders
|
|
264
290
|
|
|
@@ -330,7 +356,8 @@ Same bounds as the matching CLI flags (`-lms`/`-lmf` for the last two - see *Out
|
|
|
330
356
|
|---|---|---|---|
|
|
331
357
|
| GET | `/` | — | the page |
|
|
332
358
|
| GET | `/api/status` | — | JSON: rows, counters, scan/phase info |
|
|
333
|
-
| GET | `/api/
|
|
359
|
+
| GET | `/api/host?name=...` | — | JSON: all known data and history of one host (mouse-over popup) |
|
|
360
|
+
| GET | `/api/logfiles` | — | JSON list of `.csv`/`.txt`/`.html` files (FILE OPERATIONS > ADD HOSTS FILE FROM SERVER) |
|
|
334
361
|
| GET | `/api/download/hosts_all` | — | full reference list, `.txt` |
|
|
335
362
|
| GET | `/api/download/hosts_shown` | — | shown hosts, `.txt` |
|
|
336
363
|
| GET | `/api/download/logfile` | — | active CSV log, zipped; `404` if logging off |
|
|
@@ -341,11 +368,14 @@ Same bounds as the matching CLI flags (`-lms`/`-lmf` for the last two - see *Out
|
|
|
341
368
|
| POST | `/api/add_from_server` | `{"names":[...]}` | add hosts from listed `.txt` files |
|
|
342
369
|
| GET | `/api/report` | — | last GENERATE REPORT HTML; `404` until done |
|
|
343
370
|
| POST | `/api/command` | `{"cmd":"...","value":"..."}` | control (see cmd list below) |
|
|
371
|
+
| POST | `/api/advvalues` | `{"filter":{...}}` | ADV FILTER: values still selectable for a draft selection (same format as `adv_filter`) |
|
|
344
372
|
| POST | `/api/upload` | host list, text | add hosts |
|
|
345
373
|
|
|
346
374
|
`cmd` values: `up_only`, `set_filter`, `addr_mode`, `get_names`, `match_filter`,
|
|
347
|
-
`sort`, `add`, `del`, `set_ref`, `zero`, `add_comment`, `reset_log`, `clear`,
|
|
348
|
-
`set_option`, `reset_options`, `run_report`, `save_hosts_file`, `exit`. `
|
|
375
|
+
`adv_filter`, `sort`, `add`, `del`, `set_ref`, `zero`, `add_comment`, `reset_log`, `clear`,
|
|
376
|
+
`set_option`, `reset_options`, `run_report`, `save_hosts_file`, `exit`. `adv_filter` value: JSON object `{"<field>":{"mode":"in|out","values":[...]}}` with the fields `model`,
|
|
377
|
+
`location`, `sysloc`, `type`, `comment`; `\u0001none` as value = hosts without a value; `{}` = off
|
|
378
|
+
(the old `{"<field>":"<value>"}` form is still accepted as `in` with one value). `set_option`
|
|
349
379
|
value: `key=value`. `reset_log` value: logging off - optional custom file name (blank =
|
|
350
380
|
auto-generated); logging on - `y` (clear) or `new`/`new=<name>` (new file, optional
|
|
351
381
|
custom name). `run_report`: `value` = empty (active logfile) or one `.csv` filename; or
|
|
@@ -361,7 +391,9 @@ authentication. Default bind `0.0.0.0` — use `-bind 127.0.0.1` outside trusted
|
|
|
361
391
|
1. Hostnames resolved once (32 parallel), cached around `-dns` seconds (randomized a
|
|
362
392
|
bit so a large batch resolved together doesn't all expire - and need re-resolving -
|
|
363
393
|
in the same round later). Same-address names share one probe. Unresolvable → NO-DNS,
|
|
364
|
-
no fping call. `-dns 0` = fping-side resolve.
|
|
394
|
+
no fping call. `-dns 0` = fping-side resolve. A command (filter, add, ...) cuts
|
|
395
|
+
the name resolution short as well, so it applies at once even with thousands of
|
|
396
|
+
hostnames.
|
|
365
397
|
2. UP/new hosts get full `-re` retries; confirmed-DOWN hosts get `-dr` retries. Every
|
|
366
398
|
`-fs`-th round probes everything with full retries.
|
|
367
399
|
3. Only 1/`-ds` of DOWN hosts probed per round, strided.
|
|
@@ -565,6 +597,31 @@ value turns it off. CLI: replaces the version banner with `MATCH FILTER '<regex>
|
|
|
565
597
|
active (N of M hosts shown, all still pinged)`. Invalid regex: error shown, previous
|
|
566
598
|
filter unchanged.
|
|
567
599
|
|
|
600
|
+
## ADV FILTER
|
|
601
|
+
|
|
602
|
+
Excel-style display filter on the inventory values of a CSV import (*Inventory CSV
|
|
603
|
+
import*) for `Model`, `Location`, `sysLocation`, `Type` and `Comment`. Display only -
|
|
604
|
+
every host keeps being pinged. Needs hosts with inventory values; without them the
|
|
605
|
+
dialog says so.
|
|
606
|
+
|
|
607
|
+
- **Open**: CLI `V`, web GUI button `ADV FILTER` or key `V`. A separate window; the
|
|
608
|
+
filter only changes when applied.
|
|
609
|
+
- **Per field**: check any number of values (with host count; `(empty)` = hosts without
|
|
610
|
+
a value) and choose the mode: `SHOW ONLY CHECKED` (include) or `HIDE CHECKED`
|
|
611
|
+
(exclude). Nothing checked = field not filtered.
|
|
612
|
+
- **Combination**: values within a field are ORed, fields are ANDed with each other, with
|
|
613
|
+
the match filter (`M`) and the view. The lists narrow as you select: only values still
|
|
614
|
+
possible with the other fields' selection are offered.
|
|
615
|
+
- **Web window**: one list per field with search box, `ALL`/`NONE` (act on the entries
|
|
616
|
+
matching the search), the mode toggle, APPLY, RESET ALL, CLOSE. Lists show the first
|
|
617
|
+
500 entries, the rest via search.
|
|
618
|
+
- **CLI window**: `↑`/`↓` field, ENTER opens the value list (`SPACE` check, `I` show-only/hide,
|
|
619
|
+
`A` all, `N` none, ENTER ok, ESC cancel), then `A` APPLY, `R` RESET ALL, ESC CANCEL.
|
|
620
|
+
No search in the CLI list.
|
|
621
|
+
- **Banner**: while active the CLI banner shows e.g. `ADV Type not in (Firewall, Switch)`.
|
|
622
|
+
- **Reset**: SET REFERENCE and CLEAR ALL turn the filter off. It is not saved
|
|
623
|
+
with `SAVE HOSTS FILE`.
|
|
624
|
+
|
|
568
625
|
## IPv6
|
|
569
626
|
|
|
570
627
|
IPv4/IPv6 mixed freely. Resolution follows `-4`/`-6` (preference, not restriction; A
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# eping.py 3.
|
|
1
|
+
# eping.py 3.84
|
|
2
2
|
|
|
3
3
|
Continuous ICMP reachability monitor built on `fping`. Scans a host list in a loop,
|
|
4
4
|
reports each host UP/DOWN/NO-DNS, counts state changes. CLI (curses) or web GUI.
|
|
@@ -29,6 +29,19 @@ Standalone scripts (installs/updates `eping.py`, `epinga.py`, `esplit.py`):
|
|
|
29
29
|
|
|
30
30
|
`esplit.py` isn't part of the pip package - use the standalone install for it.
|
|
31
31
|
|
|
32
|
+
## Windows
|
|
33
|
+
|
|
34
|
+
Portable Windows version (web GUI only, no installation): download and unpack
|
|
35
|
+
[`eping-windows.zip`](https://github.com/ewaldj/eping/blob/main/Windows_Version/eping-windows.zip)
|
|
36
|
+
([folder](https://github.com/ewaldj/eping/tree/main/Windows_Version/)), then start `eping.exe`.
|
|
37
|
+
|
|
38
|
+
- Contains `eping.exe` (small launcher window: web port, Start / Stop / Restart, open web GUI),
|
|
39
|
+
`eping.py`, `epinga.py`, `fping.exe` + `cygwin1.dll` (fping for Windows) and an embedded Python.
|
|
40
|
+
- The web GUI opens in the browser (default `http://127.0.0.1:8080`). The port is read from the hosts file
|
|
41
|
+
(`opt: -port 9000`); a port already in use is reported and can be changed in the launcher window.
|
|
42
|
+
- No terminal (curses) mode and no `-wv`/`-wvc` on Windows; log file names use `-` instead of `:`.
|
|
43
|
+
- Extra options: put them in `eping-args.txt` next to `eping.exe`. Details: `README-WINDOWS.txt` in the zip.
|
|
44
|
+
|
|
32
45
|
## Quick start
|
|
33
46
|
|
|
34
47
|
pip install: use `eping`/`epinga` instead of `./eping.py`/`./epinga.py` below.
|
|
@@ -42,7 +55,7 @@ pip install: use `eping`/`epinga` instead of `./eping.py`/`./epinga.py` below.
|
|
|
42
55
|
./eping.py -wvc # CLI + controllable web view
|
|
43
56
|
```
|
|
44
57
|
|
|
45
|
-
No args: creates a sample `eping-hosts.txt
|
|
58
|
+
No args: creates a sample `eping-hosts.txt` and `eping-hosts-sample.csv` (same hosts with invented inventory values, a template for the *Inventory CSV import*; never loaded by eping). `-df`: start with no hosts, add at runtime.
|
|
46
59
|
|
|
47
60
|
### Running unattended (screen / tmux)
|
|
48
61
|
|
|
@@ -67,7 +80,7 @@ expansion includes network/broadcast. Several `-f` files are combined before ded
|
|
|
67
80
|
|
|
68
81
|
### Host file format
|
|
69
82
|
|
|
70
|
-
Same parser for `-f`, `F`/ADD FILE (CLI), and web GUI ADD FILE:
|
|
83
|
+
Same parser for `-f`, `F`/ADD FILE (CLI), and web GUI ADD HOSTS FILE:
|
|
71
84
|
|
|
72
85
|
```
|
|
73
86
|
# comment to end of line
|
|
@@ -80,7 +93,7 @@ www.google.com # hostname/FQDN
|
|
|
80
93
|
2606:4700:4700::1111/128 # IPv6 with /128 - single host
|
|
81
94
|
```
|
|
82
95
|
|
|
83
|
-
Network mask range /13…/32 everywhere (host file, ADD FILE, web upload, ADD/DELETE
|
|
96
|
+
Network mask range /13…/32 everywhere (host file, ADD HOSTS FILE, web upload, ADD/DELETE
|
|
84
97
|
host input); out of range is rejected (message names the allowed range; `-f` warns and
|
|
85
98
|
ignores). IPv6: only `/128` accepted, any other mask rejected. Anything else is ignored.
|
|
86
99
|
|
|
@@ -98,34 +111,38 @@ opt: -web -port 9000
|
|
|
98
111
|
Multiple `opt:` lines join in file order. `#` comments out the rest of the line (or
|
|
99
112
|
the whole line at the start). Quote values with spaces: `opt: -f "my hosts.txt"`. A
|
|
100
113
|
flag typed on the command line wins over the same flag from a file. Only applies to
|
|
101
|
-
the initial `-f` read at startup — `F`/ADD FILE (CLI
|
|
114
|
+
the initial `-f` read at startup — `F`/ADD FILE (CLI) and ADD HOSTS FILE (web)
|
|
102
115
|
never parse `opt:` lines, they're just text.
|
|
103
116
|
|
|
117
|
+
`opt:` lines also work at the top of an inventory `.csv`. SAVE HOSTS FILE and DOWNLOAD ALL/ACTIVE HOSTS write every option that differs from the default there (start-up flags and live ADV OPTIONS changes; not `-f -df -n -r -o -up -setref -gn -cl`).
|
|
118
|
+
|
|
104
119
|
The default `eping-hosts.txt`: sample hosts, this section, then every CLI option as a
|
|
105
120
|
commented-out `opt:` line with its default (remove `# ` to activate).
|
|
106
121
|
|
|
107
122
|
## Inventory CSV import
|
|
108
123
|
|
|
109
124
|
A `.csv` inventory export (one device per row) can be used as host file: `-f FILE.csv`,
|
|
110
|
-
`F`/ADD FILE (CLI), web GUI ADD FILE (FROM CLIENT, FROM SERVER, drag and drop). Files
|
|
125
|
+
`F`/ADD FILE (CLI), web GUI FILE OPERATIONS > ADD HOSTS FILE (FROM CLIENT, FROM SERVER, drag and drop). Files
|
|
111
126
|
named `*.txt` are never treated as CSV - they keep the plain host file format above.
|
|
112
127
|
|
|
113
|
-
- **Detection**: first
|
|
128
|
+
- **Detection**: first line that is not blank, a `#` comment or an `opt:` line is a header with the columns `IP Address` and
|
|
114
129
|
`Hostname` (case-insensitive); the delimiter (`;`, `,` or tab) is detected.
|
|
115
130
|
- **Columns used**: `IP Address`, `Hostname`, `Serial Number`, `Model`, `Location`,
|
|
116
131
|
`sysLocation`, `Type`, `Comment`. All other columns are ignored.
|
|
117
|
-
- **Host entry**: the
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
132
|
+
- **Host entry**: the `Hostname` (default; rows without an IP are pinged by name too,
|
|
133
|
+
NO-DNS if it does not resolve). A name that is not a valid hostname falls back to the
|
|
134
|
+
IP; rows without a usable entry are ignored. In the IP modes (`-ipo`, PREFER IP
|
|
135
|
+
ADDRESS, also when active while the file is added) the entry is the IP address
|
|
136
|
+
instead and rows without a valid IP are ignored. `-ph` is not needed for a CSV.
|
|
122
137
|
- **Duplicates**: one host per entry, the first row wins. The count of ignored and
|
|
123
138
|
duplicate rows is reported when the file is added (startup message / web footer).
|
|
124
139
|
- **Log**: the six inventory values and the CSV hostname are written with every row
|
|
125
140
|
of that host, see *Logging*. A `Hostname` that is not the host entry (IP mode) is
|
|
126
141
|
only kept there as information.
|
|
127
|
-
-
|
|
128
|
-
|
|
142
|
+
- **Filters**: `M` matches the inventory values as text, `V` / ADV FILTER selects them
|
|
143
|
+
(see *ADV FILTER*).
|
|
144
|
+
- **Save**: if the displayed hosts carry inventory values, `SAVE HOSTS FILE` writes an
|
|
145
|
+
inventory `.csv` (see *Web GUI*); plain `.txt` hosts are saved as `.txt`.
|
|
129
146
|
|
|
130
147
|
Example (`;` delimited, extra columns are ignored):
|
|
131
148
|
|
|
@@ -139,8 +156,8 @@ sw-access-01;10.0.1.1;FOC5678C3DE;C9200L-24P;Vienna DC1;Rack C1;Switch;
|
|
|
139
156
|
fw-edge-01;192.0.2.1;JMX2345F6GH;ASA5516;Linz POP;Rack B2;Firewall;ASA 5516 - EoL 2027
|
|
140
157
|
```
|
|
141
158
|
|
|
142
|
-
|
|
143
|
-
|
|
159
|
+
This gives 6 hosts, named by `Hostname`. In an IP mode it gives 5 hosts (the IP
|
|
160
|
+
addresses); `ap-lobby-01` has no IP and is ignored.
|
|
144
161
|
|
|
145
162
|
## CLI mode
|
|
146
163
|
|
|
@@ -151,6 +168,7 @@ DOWN. Columns: hostname/IP, state, RTT (ms), last-change timestamp, change count
|
|
|
151
168
|
|---|---|
|
|
152
169
|
| `U` | view picker — all 9 views (see *Views and sort orders*) |
|
|
153
170
|
| `M` | match filter — regex on hostname/IP and inventory fields, display only (see *Match filter*) |
|
|
171
|
+
| `V` | ADV FILTER — check/uncheck Model/Location/sysLocation/Type/Comment values (show only / hide), display only (see *ADV FILTER*) |
|
|
154
172
|
| `A` | add host — IP, hostname, CIDR (/13…/32), or `ip1-ip2` (max 524288) |
|
|
155
173
|
| `D` | delete host — same formats/limits as add |
|
|
156
174
|
| `F` | add hosts from a file |
|
|
@@ -173,7 +191,7 @@ same option set as the matching web GUI dropdown.
|
|
|
173
191
|
Dialogs: ENTER confirms, ESC/empty cancels. Key bar shortens on narrow terminals.
|
|
174
192
|
`PLEASE WAIT` box with elapsed counter shown until the first round has results.
|
|
175
193
|
|
|
176
|
-
Ping checks keep running while a dialog (`A`/`D`/`F`/`M`/`T`) is open — same
|
|
194
|
+
Ping checks keep running while a dialog (`A`/`D`/`F`/`M`/`V`/`T`) is open — same
|
|
177
195
|
retry/state/logging logic as the main loop; screen repaints once the dialog closes.
|
|
178
196
|
|
|
179
197
|
Screen repaints ~7×/s independent of fping. `UP`, `SET REFERENCE`, `DEL HOST`, `ZERO
|
|
@@ -198,9 +216,9 @@ Single self-contained page, no external resources.
|
|
|
198
216
|
|
|
199
217
|
- Table: CLI-style columns, filled top-down then next column right. Horizontal scroll
|
|
200
218
|
if needed ("SCROLL RIGHT FOR MORE" hint in the stats bar).
|
|
201
|
-
- Footer stats: RUNTIME, HOST UP/DOWN/FLAPPING, for the whole current view regardless
|
|
202
|
-
of the match filter. RUNTIME shows `n/a` briefly during a background round.
|
|
203
|
-
- Adding many hosts (`ADD`,
|
|
219
|
+
- Footer stats: HOSTS, RUNTIME, HOST UP/DOWN/FLAPPING, for the whole current view regardless
|
|
220
|
+
of the match filter and the ADV FILTER (HOSTS-SHOWN = shown count). The CLI footer counts the same way. RUNTIME shows `n/a` briefly during a background round.
|
|
221
|
+
- Adding many hosts (`ADD`, ADD HOSTS FILE, upload) shows "added N host(s) - please wait,
|
|
204
222
|
pinging ..." until they appear with a state, then `done`.
|
|
205
223
|
- Font size 6–28px (slider, `A−`/`A+`, `+`/`−` keys), stored in `localStorage`.
|
|
206
224
|
- Column headers sort the list (IPv4-aware).
|
|
@@ -208,38 +226,46 @@ Single self-contained page, no external resources.
|
|
|
208
226
|
- Row 1: view select (9 views), sort order select, SET REFERENCE, ZERO CHANGES,
|
|
209
227
|
CLEAR ALL, address mode select, GET NAMES, ADV OPTIONS, RESET LOG, FILE OPERATIONS
|
|
210
228
|
select, EXIT, font size.
|
|
211
|
-
- Row 2: match filter (SET/CLEAR), host field (ADD/DELETE), comment
|
|
212
|
-
|
|
229
|
+
- Row 2: match filter (SET/CLEAR), ADV FILTER, host field (ADD/DELETE), comment
|
|
230
|
+
field (COMMENT), GENERATE REPORT select.
|
|
213
231
|
- View select, sort order select, address mode select and ADV OPTIONS all match the
|
|
214
|
-
CLI's `U`/`O`/`P`/`X` pickers exactly. FILE OPERATIONS
|
|
215
|
-
FROM SERVER
|
|
232
|
+
CLI's `U`/`O`/`P`/`X` pickers exactly. FILE OPERATIONS (incl. ADD HOSTS FILE FROM CLIENT/
|
|
233
|
+
FROM SERVER) is web-gui-only (no CLI key - CLI already runs on the server's own
|
|
216
234
|
filesystem).
|
|
217
235
|
- **FILE OPERATIONS** dropdown, in this order:
|
|
218
236
|
| Entry | Does |
|
|
219
237
|
|---|---|
|
|
220
|
-
|
|
|
238
|
+
| ADD HOSTS FILE FROM SERVER | picks one or more `.txt` files or inventory `.csv` files already on the server, adds their hosts; a `.csv` without the inventory header, e.g. an eping log, is refused |
|
|
239
|
+
| ADD HOSTS FILE FROM CLIENT | local file picker (`.txt`/`.csv`), adds the hosts; a file can also be dropped anywhere on the page |
|
|
240
|
+
| SAVE HOSTS FILE ON SERVER | confirmation, then saves the currently displayed hosts; blank name overwrites the active `-f` hostfile (first one, if eping.py was started with one) or, with none active, the default `eping-hosts.txt`; a typed name always saves as that new file instead, `.txt` appended once, active hostfile left untouched. If the displayed hosts carry inventory values (CSV import) an inventory `.csv` is written instead (`;` delimited, columns as in *Inventory CSV import*); a `.txt` name or hostfile then becomes `.csv`, the default is `eping-hosts.csv`. The options that differ from the default are written first as `opt:` lines (see *Host file format*); for a `.csv` the checkboxes `include options (opt: lines)` (default on) and `save as .txt (hosts only, no inventory)` (default off) are offered |
|
|
221
241
|
| UPLOAD FILE TO SERVER | picks a local `.txt`/`.csv`, saves as-is server-side, no host parsing; never overwrites, appends `-1`/`-2`/... |
|
|
222
|
-
| DOWNLOAD ALL HOSTS | full reference list,
|
|
223
|
-
| DOWNLOAD ACTIVE HOSTS | currently displayed hosts (view/address mode/filter applied),
|
|
242
|
+
| DOWNLOAD ALL HOSTS | full reference list: inventory `.csv` if the hosts carry inventory values, else `.txt`; non-default options first as `opt:` lines (`.csv`: checkboxes `include options`, default on, and `save as .txt`, default off) |
|
|
243
|
+
| DOWNLOAD ACTIVE HOSTS | currently displayed hosts (view/address mode/filter applied), same format and options as DOWNLOAD ALL HOSTS |
|
|
224
244
|
| DOWNLOAD ACTIVE LOGFILE | active CSV log, zipped; disabled while logging off |
|
|
225
245
|
| DOWNLOAD SELECTED FILES | picker: every `.csv`/`.txt`/`.html` in the working dir, table (name/size/date), extension filter, "select all", "no compression" checkbox (single-file selection only); multi-select bundles into one ZIP |
|
|
226
246
|
| DELETE FILES FROM SERVER | same picker as DOWNLOAD SELECTED FILES, red DELETE button, confirms with file count; active logfile can't be deleted |
|
|
227
247
|
| VIEW FILE FROM SERVER | picker: every `.csv`/`.txt` in the working dir, table (name/size/date), "select all"; opens each picked file read-only, raw content, COPY/DOWNLOAD buttons - see *VIEW FILE FROM SERVER* below |
|
|
228
|
-
- **ADD FILE** dropdown: `FROM CLIENT` (local file picker) / `FROM SERVER` (picks one
|
|
229
|
-
or more `.txt` files or inventory `.csv` files already on the server, adds their
|
|
230
|
-
hosts; a `.csv` without the inventory header, e.g. an eping log, is refused).
|
|
231
248
|
- Keyboard shortcuts (no modifier, only while no text field has focus; own quick
|
|
232
249
|
variants, not the CLI's picker keys of the same letter): `U` cycles the original 3
|
|
233
250
|
views (ALL HOSTS → CURRENTLY-UP → UP+FLAPPING → ALL HOSTS), the other 6 need the
|
|
234
251
|
dropdown; `O` cycles all 5 sort orders one at a time; `P`/`I` toggle PREFER HOSTNAME /
|
|
235
252
|
SWITCH TO IP ONLY directly, the address mode select reaches all 4 modes; `G`/`S`/`Z`/
|
|
236
253
|
`C`/`L`/`E` click the matching button (`E`/`C`/`L` confirm); `A`/`D` focus host field;
|
|
237
|
-
`M`/`T` focus their field; `F` opens the
|
|
254
|
+
`M`/`T` focus their field; `V` opens ADV FILTER; `F` opens the ADD HOSTS FILE FROM CLIENT picker; `R` forces a status refresh;
|
|
238
255
|
`+`/`−` font size (works while typing). No keyboard shortcut for `X`/ADV OPTIONS or
|
|
239
256
|
GENERATE REPORT - click required.
|
|
240
257
|
- Host field feeds both ADD/DELETE; ENTER triggers the button used last, ESC clears.
|
|
241
258
|
- Files can also be dropped anywhere on the page (max 16MB, see *Host file format*).
|
|
242
259
|
- Commands acknowledge immediately; a click aborts the running round.
|
|
260
|
+
- **Host popup**: hovering a host row (after ~350 ms) shows everything known about it:
|
|
261
|
+
state, previous state, RTT, last check, changes, time in the current state, resolved/CSV
|
|
262
|
+
IP, inventory values (Model, Location, sysLocation, Type, Comment, serial) and its
|
|
263
|
+
history (last up to 50 state changes, newest first, merged with the log `COMMENT`s
|
|
264
|
+
by time). The data is fetched per host on demand (`GET /api/host`), the polled status
|
|
265
|
+
stays small. A click on the row pins the popup: the text can be selected, `COPY` copies
|
|
266
|
+
all of it, `DELETE` removes the host immediately (no confirmation; not shown in `-wv`),
|
|
267
|
+
`×`/ESC/click elsewhere closes it. The history lives in memory only; it is cleared by
|
|
268
|
+
ZERO CHANGES and CLEAR ALL.
|
|
243
269
|
|
|
244
270
|
### Views and sort orders
|
|
245
271
|
|
|
@@ -311,7 +337,8 @@ Same bounds as the matching CLI flags (`-lms`/`-lmf` for the last two - see *Out
|
|
|
311
337
|
|---|---|---|---|
|
|
312
338
|
| GET | `/` | — | the page |
|
|
313
339
|
| GET | `/api/status` | — | JSON: rows, counters, scan/phase info |
|
|
314
|
-
| GET | `/api/
|
|
340
|
+
| GET | `/api/host?name=...` | — | JSON: all known data and history of one host (mouse-over popup) |
|
|
341
|
+
| GET | `/api/logfiles` | — | JSON list of `.csv`/`.txt`/`.html` files (FILE OPERATIONS > ADD HOSTS FILE FROM SERVER) |
|
|
315
342
|
| GET | `/api/download/hosts_all` | — | full reference list, `.txt` |
|
|
316
343
|
| GET | `/api/download/hosts_shown` | — | shown hosts, `.txt` |
|
|
317
344
|
| GET | `/api/download/logfile` | — | active CSV log, zipped; `404` if logging off |
|
|
@@ -322,11 +349,14 @@ Same bounds as the matching CLI flags (`-lms`/`-lmf` for the last two - see *Out
|
|
|
322
349
|
| POST | `/api/add_from_server` | `{"names":[...]}` | add hosts from listed `.txt` files |
|
|
323
350
|
| GET | `/api/report` | — | last GENERATE REPORT HTML; `404` until done |
|
|
324
351
|
| POST | `/api/command` | `{"cmd":"...","value":"..."}` | control (see cmd list below) |
|
|
352
|
+
| POST | `/api/advvalues` | `{"filter":{...}}` | ADV FILTER: values still selectable for a draft selection (same format as `adv_filter`) |
|
|
325
353
|
| POST | `/api/upload` | host list, text | add hosts |
|
|
326
354
|
|
|
327
355
|
`cmd` values: `up_only`, `set_filter`, `addr_mode`, `get_names`, `match_filter`,
|
|
328
|
-
`sort`, `add`, `del`, `set_ref`, `zero`, `add_comment`, `reset_log`, `clear`,
|
|
329
|
-
`set_option`, `reset_options`, `run_report`, `save_hosts_file`, `exit`. `
|
|
356
|
+
`adv_filter`, `sort`, `add`, `del`, `set_ref`, `zero`, `add_comment`, `reset_log`, `clear`,
|
|
357
|
+
`set_option`, `reset_options`, `run_report`, `save_hosts_file`, `exit`. `adv_filter` value: JSON object `{"<field>":{"mode":"in|out","values":[...]}}` with the fields `model`,
|
|
358
|
+
`location`, `sysloc`, `type`, `comment`; `\u0001none` as value = hosts without a value; `{}` = off
|
|
359
|
+
(the old `{"<field>":"<value>"}` form is still accepted as `in` with one value). `set_option`
|
|
330
360
|
value: `key=value`. `reset_log` value: logging off - optional custom file name (blank =
|
|
331
361
|
auto-generated); logging on - `y` (clear) or `new`/`new=<name>` (new file, optional
|
|
332
362
|
custom name). `run_report`: `value` = empty (active logfile) or one `.csv` filename; or
|
|
@@ -342,7 +372,9 @@ authentication. Default bind `0.0.0.0` — use `-bind 127.0.0.1` outside trusted
|
|
|
342
372
|
1. Hostnames resolved once (32 parallel), cached around `-dns` seconds (randomized a
|
|
343
373
|
bit so a large batch resolved together doesn't all expire - and need re-resolving -
|
|
344
374
|
in the same round later). Same-address names share one probe. Unresolvable → NO-DNS,
|
|
345
|
-
no fping call. `-dns 0` = fping-side resolve.
|
|
375
|
+
no fping call. `-dns 0` = fping-side resolve. A command (filter, add, ...) cuts
|
|
376
|
+
the name resolution short as well, so it applies at once even with thousands of
|
|
377
|
+
hostnames.
|
|
346
378
|
2. UP/new hosts get full `-re` retries; confirmed-DOWN hosts get `-dr` retries. Every
|
|
347
379
|
`-fs`-th round probes everything with full retries.
|
|
348
380
|
3. Only 1/`-ds` of DOWN hosts probed per round, strided.
|
|
@@ -546,6 +578,31 @@ value turns it off. CLI: replaces the version banner with `MATCH FILTER '<regex>
|
|
|
546
578
|
active (N of M hosts shown, all still pinged)`. Invalid regex: error shown, previous
|
|
547
579
|
filter unchanged.
|
|
548
580
|
|
|
581
|
+
## ADV FILTER
|
|
582
|
+
|
|
583
|
+
Excel-style display filter on the inventory values of a CSV import (*Inventory CSV
|
|
584
|
+
import*) for `Model`, `Location`, `sysLocation`, `Type` and `Comment`. Display only -
|
|
585
|
+
every host keeps being pinged. Needs hosts with inventory values; without them the
|
|
586
|
+
dialog says so.
|
|
587
|
+
|
|
588
|
+
- **Open**: CLI `V`, web GUI button `ADV FILTER` or key `V`. A separate window; the
|
|
589
|
+
filter only changes when applied.
|
|
590
|
+
- **Per field**: check any number of values (with host count; `(empty)` = hosts without
|
|
591
|
+
a value) and choose the mode: `SHOW ONLY CHECKED` (include) or `HIDE CHECKED`
|
|
592
|
+
(exclude). Nothing checked = field not filtered.
|
|
593
|
+
- **Combination**: values within a field are ORed, fields are ANDed with each other, with
|
|
594
|
+
the match filter (`M`) and the view. The lists narrow as you select: only values still
|
|
595
|
+
possible with the other fields' selection are offered.
|
|
596
|
+
- **Web window**: one list per field with search box, `ALL`/`NONE` (act on the entries
|
|
597
|
+
matching the search), the mode toggle, APPLY, RESET ALL, CLOSE. Lists show the first
|
|
598
|
+
500 entries, the rest via search.
|
|
599
|
+
- **CLI window**: `↑`/`↓` field, ENTER opens the value list (`SPACE` check, `I` show-only/hide,
|
|
600
|
+
`A` all, `N` none, ENTER ok, ESC cancel), then `A` APPLY, `R` RESET ALL, ESC CANCEL.
|
|
601
|
+
No search in the CLI list.
|
|
602
|
+
- **Banner**: while active the CLI banner shows e.g. `ADV Type not in (Firewall, Switch)`.
|
|
603
|
+
- **Reset**: SET REFERENCE and CLEAR ALL turn the filter off. It is not saved
|
|
604
|
+
with `SAVE HOSTS FILE`.
|
|
605
|
+
|
|
549
606
|
## IPv6
|
|
550
607
|
|
|
551
608
|
IPv4/IPv6 mixed freely. Resolution follows `-4`/`-6` (preference, not restriction; A
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "eping"
|
|
7
|
-
version = "3.
|
|
7
|
+
version = "3.84"
|
|
8
8
|
description = "Continuous ICMP reachability monitor built on fping, with a CSV logfile analyser (epinga)"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { text = "GPL-3.0-or-later" }
|
|
File without changes
|
|
File without changes
|