Over the past six months we shipped a steady stream of releases, including several betas. With 1.0.0-rc.1, Netsody reaches its first release candidate.
This release is about reliability: more direct connections, fewer dropped sessions, and consistent behavior across platforms.
Port Mapping on Home and Office Routers
Netsody always prefers a direct encrypted path between two devices. A relayed path over a super peer is only used when no direct path can be established. How often the direct path succeeds depends largely on the NATs and firewalls between the two devices. Netsody’s NAT traversal already gets through many routers, but not all of them, and connections that do not get through stay on a relay.
With rc.1, the agent additionally asks the router to open the port it needs, using PCP, NAT-PMP, and UPnP. Many home and small office routers support at least one of these protocols. Where the router grants the mapping, peers can reach the device directly, so more connections take a direct path instead of a relay.
There is nothing to configure in Netsody. The router has to play along, though: some routers ship with port mapping switched off, and others, such as the FRITZ!Box, require it to be allowed for each device individually. Where the router does not grant a mapping, Netsody behaves as before.
Netsody DNS on Linux with NetworkManager
Netsody runs a DNS resolver on each device. It answers node names such as <node>.netsody.me and forwards queries for domain resources, such as *.example.internal, to their gateway. For this to work, the system has to send these queries to Netsody. On Linux, this requires integration with whatever component manages the system’s DNS settings. rc.1 adds support for systems where this is NetworkManager, so Netsody hostnames now work there without manual setup.
More Reliable Connections
Much of the work in rc.1 went into keeping connections up once they exist. Connections now survive network changes, such as switching from Wi-Fi to Ethernet or waking from idle. A relayed connection is continuously checked for a faster direct path and moved there when one becomes available. Connections to super peers recover faster when they drop.
Self-Hosting Guide
A self-hosting guide is now available for running Netsody partially or completely on your own infrastructure. The controller and the super peers are independent of each other, so you decide per component. You can run your own controller and keep using the super peers we operate, run your own super peers next to ours, or run everything yourself. The guide is based on Docker Compose.
Also in rc.1
- Overlapping routes: Direct connections keep working even when an overlay route overlaps a peer’s underlay address.
- Routes and DNS: If something else on the system changes the routes or DNS entries that Netsody applied, Netsody detects this and restores them without a restart.
- Logout: Logging out no longer depends on the controller. It removes the credentials from the device, even when the controller cannot be reached. Unlinking a device from your account is done in the dashboard.
- Service management: On macOS and Windows, starting, stopping, restarting, and uninstalling the service through the command line interface now behave more consistently.
- macOS: Fixed an issue where the Netsody UI menu could disappear the first time a submenu was hovered.
Try it
Install the latest release at my.netsody.io/install. The complete list of changes is in the release notes.
A release candidate is not the finish line, and we may ship more before cutting 1.0. If something doesn’t work the way you expect, tell us on Discord or at oi.ydosten@olleh.