dante-watch 0.1.3 → 0.1.4
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.
- package/README.md +22 -0
- package/package.json +1 -1
- package/src/bib/bib.json +1 -1
- package/src/bib/ear.mjs +5 -3
- package/src/bib/net.json +1 -1
- package/src/bib/system.mjs +8 -1
- package/src/bib/systems.json +1 -0
- package/src/checks/secrets.mjs +13 -2
- package/src/core/sh.mjs +22 -1
- package/src/i18n-checks.mjs +4 -0
- package/src/me/hostkey.mjs +94 -0
- package/src/me/onboard.mjs +2 -2
- package/src/me/recon.mjs +32 -2
- package/src/me/refresh.mjs +1 -1
- package/src/me/servers.mjs +103 -0
- package/src/me/sysid.mjs +113 -0
- package/src/me/sysq.mjs +23 -0
- package/src/me/sysreport.mjs +73 -0
- package/src/me/texts.mjs +128 -7
- package/src/me/user.mjs +4 -1
- package/src/pack/builtin.mjs +48 -0
- package/src/session.mjs +138 -30
- package/src/ticker.mjs +1 -1
- package/src/ui/footer.mjs +6 -0
- package/src/ui/job-worker.mjs +1 -1
package/README.md
CHANGED
|
@@ -59,6 +59,28 @@ line and the kind of pattern, not the code. For an agent configuration he reads
|
|
|
59
59
|
can do and what stands out — **never the values**, so no key or token is shown. Nothing leaves your machine. Without the pack
|
|
60
60
|
he says what it is and offers to open the shop page.
|
|
61
61
|
|
|
62
|
+
**Finding your servers (`find my servers`).** Dante reads `~/.ssh/config` and the readable host names in `~/.ssh/known_hosts`
|
|
63
|
+
(code hosting such as github.com is left out). Only after a separate *yes* he also looks into your shell history, and there
|
|
64
|
+
only at lines that start `ssh`, `scp` or `rsync`: he keeps who@where, how often, and the name of the key file, nothing else
|
|
65
|
+
from the history. Servers found this way are entered in `user.md` with the patrol off; knocking at them (to read the system and
|
|
66
|
+
PHP version) is another *yes*.
|
|
67
|
+
|
|
68
|
+
**What system is this, and what is going on there?** (`what is my system`, `which is my mac`, `what is going on`, in German, English
|
|
69
|
+
and Spanish). For this machine, a server you picked or all known servers, Dante runs a fixed list of harmless read-only probes
|
|
70
|
+
(`/etc/os-release`, `uname`, `sw_vers`, `freebsd-version`, `hostname`, `df`, `uptime` and the like; the list is in `src/me/sysid.mjs`)
|
|
71
|
+
and recognises the system from their output against a library of about 85 systems (Linux distributions, macOS, the BSDs, OpenWrt,
|
|
72
|
+
OPNsense, Proxmox, ESXi, Synology and more). The library holds only patterns and facts, never a command of its own, and a system it
|
|
73
|
+
does not recognise is called unknown, not guessed. "What is going on" adds the busiest processes, open ports, failed services and who
|
|
74
|
+
is logged in. Everything shown is read off the machine; the "usual for this system" line (package manager, firewall, logs) comes from
|
|
75
|
+
the library and is labelled that way.
|
|
76
|
+
|
|
77
|
+
**"Is someone in between?" (a changed SSH host key).** When a server's key has changed, Dante offers a look, without logging in:
|
|
78
|
+
he reads the public keys the server shows (`ssh-keyscan`), compares them with the ones remembered in your `known_hosts`
|
|
79
|
+
(`ssh-keygen -F`), and, after a separate *yes*, also runs `ssh-keyscan` from one or two of your other servers over ssh. A rebuilt
|
|
80
|
+
server shows the same new key from everywhere; an attacker on your own path shows your machine a different key than a server elsewhere
|
|
81
|
+
sees. He reports what speaks for or against and never calls it safe: only a comparison with the provider's console proves the key
|
|
82
|
+
is the server's own, and he prints the fingerprint to compare. Nothing is changed and nothing is sent anywhere.
|
|
83
|
+
|
|
62
84
|
What he reads and writes on your machine: the folder `~/.dante/` — your token (mode 0600), the packs you installed,
|
|
63
85
|
`user.md`, the diary, the small scripts the schedules start (`patrol.sh`, `deep.sh`), a lock file while the deep run is on, a note of when he last asked — plus the schedule entry if you
|
|
64
86
|
armed him. Fixes happen only after a clear *yes*, with the exact commands shown first.
|