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 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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dante-watch",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "Dante watches your own server and never lies to itself: every verdict carries the real line it came from.",
5
5
  "type": "module",
6
6
  "bin": {