Commit Graph
22 Commits
Author SHA1 Message Date
rzuastiandClaude Opus 4.7 ca83009944 Add passive mDNS/Bonjour discovery scanner
Introduce a second discovery module that passively listens for mDNS
multicast announcements (224.0.0.251:5353) and feeds discovered devices
into the existing devices/events/notifications pipeline, running in its
own task alongside the ARP scanner.

Since mDNS carries an IP and hostname but no MAC (the device key), the
module resolves IP->MAC via the OS ARP cache with a targeted ARP-probe
fallback. The advertised hostname is stored in a new optional `name`
column on devices (blank for ARP-only devices); the single `update`
writes `name` only when set so ARP rescans never clobber it. Device
names are included in event/notification messages.

Adds a GET /api/mdns_scanner/status endpoint (is_listening, devices_seen,
last_device_seen_seconds_ago) wired into OpenAPI, an optional
[mdns_scanner] config section, and the corresponding Nix module option.
Also aligns the Nix module's stale `timings` section with the current
`arp_scanner` schema.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 09:37:33 -04:00
rzuastiandClaude Sonnet 4.6 08f2dc8340 Auto-detect network interface when not configured
If no interface is set in the config, the ARP scanner now picks the
first non-loopback, up, IPv4-enabled interface automatically. The
setting is optional in the TOML config, sample config, and Nix module.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-29 07:35:25 -04:00
rzuastiandClaude Sonnet 4.6 22d30a146c Document retention.window parameter and add storage sizing guidance
Adds the retention.window option to the NixOS module and documents it
in the README alongside a new Storage considerations section covering
per-network-size estimates and guidance on tuning scan timings and the
retention window to meet storage requirements.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 09:18:46 -04:00
rzuasti f7f7810dfd Rollback to single nix package for backend 2026-02-12 12:55:20 -05:00
rzuasti ef6d2b73f1 fixed hash 2026-02-12 11:53:04 -05:00
rzuasti f5ffd6bcde Combining frontend and backend 2026-02-12 11:51:43 -05:00
rzuasti 7908de9068 Fixing 2026-02-12 10:44:58 -05:00
rzuasti 91c5926e1b Adding json lock file for flutter project 2026-02-12 09:31:35 -05:00
rzuasti 14995230db Adding extras folder 2026-02-12 09:03:10 -05:00
rzuasti 714c0c893d Actually we can do it all from a single package.nix 2026-02-12 08:52:01 -05:00
rzuasti d95803c773 Moved package.nix to package-backend.nix to make room for frontend
package
2026-02-12 08:43:24 -05:00
rzuasti 39a58983d6 Moved backend code into its own subfolder 2026-02-10 14:03:33 -05:00
rzuasti b1184d16ee Added all configuration parameters to nix flake 2026-01-27 13:13:02 -05:00
rzuasti f7513c329e Update oott-service.nix 2026-01-27 08:38:40 -05:00
rzuasti d64d8eb898 Update oott-service.nix 2026-01-26 11:39:27 -05:00
rzuasti 335807e0f3 Changed config file generation in the nix flake to YAML 2026-01-26 11:02:39 -05:00
rzuasti 3b776462b0 trying generation of config file (oott.toml) 2026-01-26 10:41:00 -05:00
rzuasti 04b6e1553a Update oott-service.nix 2026-01-25 11:42:39 -05:00
rzuasti 4abd754695 trying 2026-01-25 11:35:31 -05:00
rzuasti ab11cdaadb Fixed module name 2026-01-25 11:30:51 -05:00
rzuasti 9b40bb2da8 Added config.toml to speed up compilation 2026-01-25 11:10:07 -05:00
rzuasti a4e4ee6a50 grouped nix config in a folder 2026-01-25 11:01:11 -05:00