Netsody

Blog

Netsody 1.0.0-rc.3: Support Bundles and Faster Relayed Connections

Heiko Bornholdt Heiko Bornholdt Dr. Heiko Bornholdt Dr. Heiko Bornholdt Senior Research Assistant Profile GitHub LinkedIn 4 min read

Netsody 1.0.0-rc.3 adds support bundles, which record everything needed to diagnose a problem into a single file. The release also makes relayed connections considerably faster, keeps devices connected through DNS outages, and delivers changes between controller, agent, and UI immediately instead of after a few seconds.

Support Bundles

The agent logs very little by default. When something goes wrong, the relevant information is spread across logs, status output, configuration, and the network setup of the host, and much of it is gone by the time someone asks for it.

A support bundle is therefore not a dump of the current state but a capture session. netsody bundle create turns on detailed logging, takes status snapshots while you reproduce the problem, and packs logs, snapshots, configuration, and network and system information into a single zip. By default, the capture runs for one minute.

netsody bundle create --comment "No direct connection to build server"
netsody bundle upload

netsody bundle upload hands the newest bundle to Netsody support and returns a bundle ID that you can quote in your report. For problems that only occur sporadically, --rolling keeps capturing until you stop it and retains only the most recent part of the capture.

Bundles do not contain secrets. The configuration is exported from an allowlist, and everything that goes into the archive is scrubbed for known secrets first. The bundle is an ordinary zip file, so you can inspect it before handing it over.

Faster Relayed Connections

When no direct path can be established, Netsody relays the end-to-end encrypted connection over a super peer. rc.3 makes these relayed connections considerably faster, over HTTP/3 and above all over HTTP/2, which is the path Netsody falls back to where UDP is blocked.

This matters most in restrictive networks, such as guest Wi-Fi or tightly filtered corporate networks, because the relayed path is often the only one available there.

Resilience to DNS Outages

Netsody itself needs name resolution to reach the super peers and the controller. With rc.3, a device keeps its connections to the super peers and the controller even when name resolution fails.

Changes Arrive Immediately

With rc.3, the agent keeps a persistent gRPC connection to the controller instead of polling it every few seconds. Changes made in the controller, such as a new policy or resource, now reach your devices immediately, and changes on a device appear in the controller just as fast.

The same applies locally. The agent now pushes status and configuration changes to the Netsody UI over its gRPC connection, so the UI shows them immediately instead of polling for them.

The dashboard benefits as well. It now uses the controller’s authoritative online status, so a device that disconnects is shown as offline right away.

Also in the Dashboard

  • Group colors: Groups can now be given a color, which makes them easier to tell apart in nodes, resources, and policies.
  • Group usage: The groups list shows how many users carry each group, and deleting a group now requires confirming its name.
  • Network description: A network’s description is now shown on its overview page and can be edited there.
  • Linked devices: The networks of a linked device are listed with the device’s hostname and IP address in each network.

Also in rc.3

  • Notifications: The desktop notifications of the Netsody UI can now be switched on and off.
  • HTTP/2 to HTTP/3 upgrade: Fixed devices staying on an HTTP/2 connection to their super peer instead of upgrading to HTTP/3.
  • Service stop: netsody service stop now shuts the agent down within the time the service manager allows, so a stopped service stays stopped.
  • Windows: Your device stays reachable over the overlay even when Windows classifies the network as Public.
  • macOS: Temporary (privacy) IPv6 addresses are no longer offered as connection candidates.
  • Links: Fixed a problem where links were not opened in your default browser.

Try it

Install the latest release at my.netsody.io/install. The complete list of changes is in the release notes.

If you run into a problem, you now know what to do: create a bundle, upload it, and send us the bundle ID on Discord or at oi.ydosten@olleh.