Skip to content

Releases: zyoung11/nz

0.3.1

Choose a tag to compare

@zyoung11 zyoung11 released this 19 Aug 03:33

nz v0.3.1

refactor:

  • remove dead code: msgPing/msgPong/msgRouteReport chain (~180 lines)
  • remove unused handlePong/handleRouteReport/handlePing/reconnectPeer/reportRoutes
  • remove staleReported/peerRoutes fields and related logic
  • remove unused routeP2P/routeRelay constants
  • route reporting now handled by node reportRoutes via msgRouteReport

0.3.0

Choose a tag to compare

@zyoung11 zyoung11 released this 18 Aug 16:21

nz v0.3.0

feat:

  • add Android mobile client (Flutter/Kotlin)
  • add VPN service with TUN device
  • add connecting/disconnecting UI states with loading animation
  • add node list view on mobile
  • add keepalive route reporting from nodes to server
  • add SharedPreferences cross-process state sync
  • add MODE_MULTI_PROCESS for VPN service communication

fix:

  • fix VPN status detection (use SharedPreferences instead of interface check)
  • fix disconnect message timing (wait 100ms before closing socket)
  • fix server peer cleanup on disconnect (clear realAddr)
  • fix route detection logic (node reports priority)
  • fix node IP detection in ls command

refactor:

  • simplify status to online/offline only
  • remove Route column from CLI/web/mobile
  • reduce keepalive interval from 20s to 5s
  • reduce server timeout from 90s to 15s
  • remove unused imports

doc:

  • update README with Android support
  • update README with simplified status
  • update mobile README with new keepalive interval
  • add mobile build instructions (arm64 only, ~19MB)

0.2.0

Choose a tag to compare

@zyoung11 zyoung11 released this 17 Aug 01:16

nz v0.2.0

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
  • gitignore adds mobile_nebula

0.1.8

Choose a tag to compare

@zyoung11 zyoung11 released this 11 Aug 14:17

nz v0.1.8
fix: rework keepalive to carry VPN IP; server updates node addr, restores 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
chore: remove nz.log file logging on Windows (restore original console-only logging)

0.1.7

Choose a tag to compare

@zyoung11 zyoung11 released this 04 Aug 11:41

nz 0.1.7

0.1.6

Choose a tag to compare

@zyoung11 zyoung11 released this 29 Jul 14:55

nz 0.1.6

0.1.5

Choose a tag to compare

@zyoung11 zyoung11 released this 27 Jul 15:16

nz 0.1.5

0.1.0

Choose a tag to compare

@zyoung11 zyoung11 released this 26 Jul 15:39

NetZero 0.1.0