Tags: zyoung11/nz
Tags
feat: - msgData carries source VPN IP; receivers identify peers by decrypted source IP and auto-correct NAT address drift - relay data carries source/target VPN IP; server corrects its state table on drift instead of source-address lookup - ls probing chain: node Pong reports stale P2P peers, server sends bidirectional PeerIntro to trigger reconnect, status shows reconnecting - data path falls back to relay and re-probes when a connected peer has no replies for p2pStaleTimeout - punching-state peers periodically re-issue requestPeerInfo to keep refreshing drifted addresses - Windows install stops running instance, registers task, and starts it immediately (schtasks /Run), matching Linux restart behavior - Windows uninstall deletes task and stops the running tray instance via named shutdown event - ls table and web dashboard gain Route column showing p2p/relay between the local node and each peer; Pong now carries per-peer route modes - server infers route mode from relay activity: online pair with recent relay forwarding shows relay, otherwise p2p, filling gaps where nodes did not report - local row is now fully blue (status cell included) in both ls table and web dashboard fix: - keepalive-triggered setConnected now fills sendKey/recvKey - server PeerIntro direction was inverted (introduced the target to itself), now introduces the querying peer - server keepalive ack now refreshes lastSeen of the server peer on nodes - schtasks delete failure now surfaces as an error - shutdown event uses SDDL (Everyone EVENT_MODIFY_STATE, Low integrity) so non-elevated CLI can signal elevated tray - stopRunningInstance ends with taskkill cleanup to remove instances without event listener (old binaries) - ls table alignment now uses display width (runewidth) instead of byte length for CJK/em-dash cells - route placeholder changed from em-dash to ASCII hyphen to avoid double-width rendering in CJK fonts - server row shows p2p by default since nodes always talk to server directly - protocol version bumped to 0x02 chore: remove logToFile file logging from Windows tray (stable, no longer needed) doc: README status list adds reconnecting chore: gitignore adds mobile_nebula
fix: rework keepalive to carry VPN IP; server updates node addr, rest… …ores dead peers, replies ack, re-registers after restart fix: stop dropping PeerQuery for disconnected targets; re-probe peers 3x before declaring dead fix: switch node socket to unconnected UDP so hole punching actually works (WriteToUDP was silently failing) fix: send P2P data directly to peer instead of via server (real P2P path) feat: add P2P keepalive with stale fallback to relay + re-probing feat: add node auto-reconnect to server with DNS re-resolution chore: gofmt peer.go and systray_windows.go
feat: add Windows system tray with web dashboard and Task Scheduler a… …uto-start - Windows: systray app with online/offline status, web dashboard, auto-start toggle - Windows: Task Scheduler auto-start with HighestAvailable to bypass UAC - web dashboard at localhost with ls-style table, auto-refresh - transparent nz.ico, UAC manifest via rsrc, admin shield on exe - keepalive restores disconnected peers to connected - state file stored next to config.json - update README with platform-specific instructions