Ian Gulliver and Claude Opus 4.5
4746c2b7f1
Separate switch name display from external warning indicator
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-26 12:21:15 -08:00
Ian Gulliver and Claude Opus 4.5
2af5ad51d7
Add link speed and utilization tracking to interface stats
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-26 12:16:44 -08:00
Ian Gulliver and Claude Opus 4.5
3255c1cfe5
Add top padding to nodes for bubble clearance
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-26 11:58:15 -08:00
Ian Gulliver and Claude Opus 4.5
608c9f1b30
Improve visual consistency of bubbles and nodes
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-26 11:51:45 -08:00
Ian Gulliver and Claude Opus 4.5
5666f85b01
Hide node hover popup on dimmed nodes in dante mode
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-26 11:18:06 -08:00
Ian Gulliver and Claude Opus 4.5
7c978d28ac
Add per-interface packet and byte rate statistics
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-26 11:16:32 -08:00
Ian Gulliver and Claude Opus 4.5
353c1ad701
Add node hover popup with IPs and MACs
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-26 10:53:35 -08:00
Ian Gulliver and Claude Opus 4.5
8fc1d675f2
Fix switch uplink port direction and stats perspective
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-26 09:33:22 -08:00
Ian Gulliver and Claude Opus 4.5
49f9a714e7
Add interface error counts to port bubble hover
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-26 09:26:14 -08:00
Ian Gulliver and Claude Opus 4.5
04e22b03cb
Track node reachability across all IPs, increase ping interval
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-25 21:03:15 -08:00
Ian Gulliver and Claude Opus 4.5
5cd5db1e4a
Add broadcast packet bucketing by protocol/port
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-25 20:16:53 -08:00
Ian Gulliver and Claude Opus 4.5
c701d26f0e
Require 3 consecutive ping failures before marking unreachable
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-25 20:05:29 -08:00
Ian Gulliver and Claude Opus 4.5
0b65998d07
Add link speed coloring to port bubbles
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-25 19:57:31 -08:00
Ian Gulliver and Claude Opus 4.5
bbd938b924
Add broadcast packet tracking with rate monitoring
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-25 19:40:39 -08:00
Ian Gulliver and Claude Opus 4.5
b2ec349c51
Track unreachable nodes separately for diagram highlighting
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-25 19:05:13 -08:00
Ian Gulliver and Claude Opus 4.5
1eef7319cc
Suppress cleared unreachable errors until node becomes reachable
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-25 19:02:36 -08:00
Ian Gulliver and Claude Opus 4.5
c8be46b739
Add per-node ping monitoring with unreachable error tracking
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-25 18:56:12 -08:00
Ian Gulliver and Claude Opus 4.5
a94f816f3d
Add SSE endpoint for real-time status updates
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-25 18:49:39 -08:00
Ian Gulliver and Claude Opus 4.5
a96eb7db8c
Add port error tracking with UI display
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-25 18:43:23 -08:00
Ian Gulliver and Claude Opus 4.5
93c3cbb585
Fix getLabel to fall back to IPs and MACs for unnamed nodes
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-25 18:31:00 -08:00
Ian Gulliver and Claude Opus 4.5
2bc6b1054b
Add Dante overlay with TX/RX highlighting and channel info
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-25 18:22:22 -08:00
Ian Gulliver and Claude Opus 4.5
d7bb971edd
Fix switch-to-switch link detection by finding all valid last hops
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-25 18:01:43 -08:00
Ian Gulliver and Claude Opus 4.5
b503c96252
Add switch uplink display with spanning tree topology
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-25 17:32:32 -08:00
Ian Gulliver and Claude Opus 4.5
6e7600ae0c
Add switch port labels to nodes with location-aware external detection
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-25 17:24:37 -08:00
Ian Gulliver and Claude Opus 4.5
0e6db94b83
Replace Cytoscape with DOM-based grid layout
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-25 17:16:21 -08:00
Ian Gulliver
19fabc71e4
Rotate mDNS query order to avoid repeated blocking
2026-01-25 11:53:32 -08:00
Ian Gulliver
1d6075d395
Add mDNS support for _netaudio-chan service with channel@device format
2026-01-25 11:52:28 -08:00
Ian Gulliver
f9afd3abb6
Always enable HTTPS, require config.yaml
2026-01-25 11:33:15 -08:00
Ian Gulliver
2ab66520b6
Switch to HTTPS with auto-generated self-signed certificate
2026-01-25 11:31:00 -08:00
Ian Gulliver
81796dbdb6
Add mDNS SRV linkage for Dante devices and improve UI
2026-01-25 11:28:56 -08:00
Ian Gulliver
221ee2477b
New pcap
2026-01-25 10:01:37 -08:00
Ian Gulliver
4c149ecdf7
Fix IP deduplication and filter link interfaces in JSON
2026-01-25 09:53:31 -08:00
Ian Gulliver
3a33ece7d9
Add SIGHUP handler to reload config file
2026-01-25 09:38:52 -08:00
Ian Gulliver
142143f8d4
Remove swap file and add swap patterns to gitignore
2026-01-25 09:34:33 -08:00
Ian Gulliver and Claude Opus 4.5
67f4f23192
Filter out reverse DNS names from mDNS hostname extraction
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-25 09:30:55 -08:00
Ian Gulliver and Claude Opus 4.5
cc3d84b97e
Query DHCP binding table from Netgear switches via SNMP
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-24 23:11:55 -08:00
Ian Gulliver
1f2b2c2156
Updated config for realistic layout
2026-01-24 22:52:31 -08:00
Ian Gulliver and Claude Opus 4.5
6801cb7f68
Add mDNS service queries for SMB, AirPlay, QLab, Blackmagic, and HyperDeck
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-24 22:43:20 -08:00
Ian Gulliver and Claude Opus 4.5
6492456ce0
Add alternating layout direction by nesting depth
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-24 21:24:05 -08:00
Ian Gulliver
4123b49a98
Add broadcast pinging and fix node merging by shared IP
2026-01-24 20:02:43 -08:00
Ian Gulliver and Claude Opus 4.5
f72f716349
Center top-level location boxes on same vertical axis
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-24 16:37:32 -08:00
Ian Gulliver and Claude Opus 4.5
01f14cc3f7
Reorder top-level location boxes after ELK layout
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-24 16:33:56 -08:00
Ian Gulliver and Claude Opus 4.5
a6ce2e4696
Convert config from maps to lists for ordering
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-24 16:00:26 -08:00
Ian Gulliver
997868949a
Switch to ELK layout engine for proper compound node support
2026-01-24 15:37:04 -08:00
Ian Gulliver
8b50762c92
Add location grouping with cola layout
2026-01-24 15:04:42 -08:00
Ian Gulliver
c662ff80f4
Fix gitignore and remove log file
2026-01-24 14:51:54 -08:00
Ian Gulliver
d6f3debd73
Fix duplicate node creation from pre-joined DisplayName
2026-01-24 14:50:19 -08:00
Ian Gulliver
77e523a302
Position edge labels near their respective nodes
2026-01-24 14:44:23 -08:00
Ian Gulliver
8acda6902d
Remove log file and add to gitignore
2026-01-24 14:41:06 -08:00
Ian Gulliver
c687ace65c
Fix node overlap in network diagram layout
2026-01-24 14:40:07 -08:00
Ian Gulliver
fdd60a39e1
Replace mermaid.js with cytoscape.js for network diagram
2026-01-24 14:26:38 -08:00
Ian Gulliver
7c0d4ad05a
Fix switch-to-switch link detection for downstream nodes
2026-01-24 11:48:24 -08:00
Ian Gulliver and Claude Opus 4.5
bf787209a5
Add web UI with mermaid.js network diagram
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-24 11:22:35 -08:00
Ian Gulliver
9aebe8b83d
Add HTTP API with JSON status endpoint and typeid support
2026-01-24 11:03:34 -08:00
Ian Gulliver and Claude Opus 4.5
168cdedbcb
Add flow status parsing and DOWN indicator for inactive dante flows
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-24 10:28:10 -08:00
Ian Gulliver and Claude Opus 4.5
894e355f56
split nodes.go into focused files and refactor Update function
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 23:31:57 -08:00
Ian Gulliver and Claude Opus 4.5
f02b25ca29
fix goroutine leak and reduce code duplication
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 23:28:58 -08:00
Ian Gulliver and Claude Opus 4.5
7e8ec697ae
refactor codebase and fix bugs
...
- merge dante.go and dante_control.go into single dante.go
- consolidate buildDantePacket and buildDantePacket28 into one function
- fix broken comparison logic in SetDanteClockMaster
- split ARP parsing into platform-specific files with build tags
- implement Linux ARP table parsing via /proc/net/arp
- run gofmt on all files
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 23:21:51 -08:00
Ian Gulliver and Claude Opus 4.5
f4b2351de8
add 0x0006 dante channel type and default 0x3000 subscriptions to audio
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 23:16:09 -08:00
Ian Gulliver and Claude Opus 4.5
604123559b
remove mdns dante node discovery
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 23:05:04 -08:00
Ian Gulliver and Claude Opus 4.5
92040c832b
fix 0x141a record parsing and add dante channel type detection
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 23:01:35 -08:00
Ian Gulliver and Claude Opus 4.5
111cb51fdb
update node references in flows and memberships when nodes are merged
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 22:24:18 -08:00
Ian Gulliver and Claude Opus 4.5
528f58dca1
add yamaha speaker discovery via tcp:50000 and move pollNode to tendrils.go
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 22:21:35 -08:00
Ian Gulliver and Claude Opus 4.5
a374b34b18
improve link display formatting and sorting
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 22:15:18 -08:00
Ian Gulliver and Claude Opus 4.5
0e8dfc46b1
refactor dante flows and artnet to use node references instead of names
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 22:09:44 -08:00
Ian Gulliver
5c4729333a
handle loopback subscriptions where device name is .
2026-01-23 21:51:59 -08:00
Ian Gulliver
694a51eade
fix 0x3400 parsing to use offset-based string references
2026-01-23 21:49:12 -08:00
Ian Gulliver and Claude Opus 4.5
71aa3bfc3e
add 0x3400 fallback for dante unicast subscription discovery
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 17:32:29 -08:00
Ian Gulliver
fdb8740a0a
add 0x3400 command fallback for dante subscription discovery
2026-01-23 16:35:41 -08:00
Ian Gulliver
c16146f2d8
fix dante flow count and zero-pad rx channel numbers
2026-01-23 16:30:53 -08:00
Ian Gulliver
c694efade5
fix dante discovery bugs: filter .in-addr names, dedupe multicast flows, fix unicast channel numbers
2026-01-23 16:28:41 -08:00
Ian Gulliver and Claude Opus 4.5
66f98075e4
fix multicast flow tx device identification via igmp correlation
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 16:12:36 -08:00
Ian Gulliver
3222e20e84
track multiple names per node
2026-01-23 13:11:38 -08:00
Ian Gulliver and Claude Opus 4.5
29a0c80fea
remove dante channel extraction from mdns discovery
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 13:00:06 -08:00
Ian Gulliver and Claude Opus 4.5
84876dd595
improve dante flow display format and remove meaningless multicast channel info
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 12:00:27 -08:00
Ian Gulliver and Claude Opus 4.5
9c7bd671ba
add multicast flow transmitter discovery via mdns _netaudio-chan service
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 11:53:30 -08:00
Ian Gulliver and Claude Opus 4.5
47b48337b3
add dante subscription discovery via arc protocol
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 11:30:40 -08:00
Ian Gulliver and Claude Opus 4.5
a157a2a5e4
add well-known multicast address names for shure, ssdp, slp, ptp
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 09:52:18 -08:00
Ian Gulliver and Claude Opus 4.5
c7db24b1fd
add shure slp discovery and comma-separate group member lists
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 09:47:51 -08:00
Ian Gulliver and Claude Opus 4.5
6394b55191
send mdns queries from listener socket for multicast responses
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 09:27:45 -08:00
Ian Gulliver and Claude Opus 4.5
f3b85fc8f2
add skaarhoj device discovery and remove unused dante query
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 09:12:09 -08:00
Ian Gulliver and Claude Opus 4.5
e73c591e34
add hyperdeck and videohub discovery via tcp probing
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 08:58:41 -08:00
Ian Gulliver and Claude Opus 4.5
26f0aac587
implement full atem handshake to get product names
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 07:20:09 -08:00
Ian Gulliver and Claude Opus 4.5
c7db6c0c68
add blackmagic atem discovery via udp 9910
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 07:18:14 -08:00
Ian Gulliver and Claude Opus 4.5
c2318279bf
add names for well-known multicast addresses and cap sacn universes
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 07:02:47 -08:00
Ian Gulliver and Claude Opus 4.5
c12e8c0933
add danteancil mdns service query
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 00:45:09 -08:00
Ian Gulliver and Claude Opus 4.5
a0e8b4cec5
fix mdns to use A record IPs and create interfaces for IP-only nodes
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 00:32:07 -08:00
Ian Gulliver and Claude Opus 4.5
2fa2fcd57d
add dante device discovery via mdns and ptp clock master detection
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 00:24:36 -08:00
Ian Gulliver and Claude Opus 4.5
536c2d3dc9
add mdns hostname discovery and artnet universe tracking
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-22 23:59:32 -08:00
Ian Gulliver and Claude Opus 4.5
7bced7b350
add igmp querier for multicast group membership tracking
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-22 23:46:56 -08:00
Ian Gulliver and Claude Opus 4.5
395180493a
add link detection via mac table path following
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-22 23:29:22 -08:00
Ian Gulliver and Claude Opus 4.5
c3ed8e30e3
refactor to per-node snmp polling and immediate arp dump
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-22 23:09:54 -08:00
Ian Gulliver and Claude Opus 4.5
d2a09250d0
add switch-wide poe budget tracking via snmp
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-22 22:56:47 -08:00
Ian Gulliver and Claude Opus 4.5
5333d3e11e
add interface stats and poe power monitoring via snmp
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-22 22:47:30 -08:00
Ian Gulliver and Claude Opus 4.5
54fc941728
add per-node mac table populated from snmp and arp
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-18 14:54:06 -08:00
Ian Gulliver and Claude Opus 4.5
2262e8d3bf
merge nodes when update discovers mac belongs to different node
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-18 14:47:46 -08:00
Ian Gulliver and Claude Opus 4.5
9bcda6b96c
add target node parameter to Update and SIGUSR1 dump handler
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-18 14:44:15 -08:00
Ian Gulliver and Claude Opus 4.5
8cb605b817
merge snmp-discovered interfaces with existing node found by ip
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-18 14:23:21 -08:00
Ian Gulliver and Claude Opus 4.5
6d50ee30aa
deduplicate interfaces by mac during update and merge
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-18 14:12:14 -08:00
Ian Gulliver and Claude Opus 4.5
5e1ba33cb4
use natural sort order for interface names
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-18 14:05:33 -08:00