Skip to content

Tags: zyoung11/nz

Tags

0.2.0

Toggle 0.2.0's commit message
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

0.1.8

Toggle 0.1.8's commit message
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

0.1.7

Toggle 0.1.7's commit message
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

0.1.6

Toggle 0.1.6's commit message
fix: keepalive restores disconnected peers, handle directory renames

0.1.5

Toggle 0.1.5's commit message
chore:

- rename binary/service/state file from netzero to nz
- state file now saved next to config.json instead of binary directory
- service restart on install instead of start (picks up config changes)

0.1.0

Toggle 0.1.0's commit message
init