DEV Community

Cover image for I spent months building an open-source network diagnostic tool. Now I’m trying to make my first dollar.
Michael Placzek
Michael Placzek

Posted on

I spent months building an open-source network diagnostic tool. Now I’m trying to make my first dollar.

For the last few months, I've been building Network Doctor.

It's a cross-platform terminal application for answering a deceptively simple question:

Where is this connection actually breaking?

When something on the network fails, the normal troubleshooting process tends to look like this:

  • Run ping
  • Run dig
  • Try curl
  • Check the proxy
  • Try another DNS server
  • Run a traceroute
  • Check TLS
  • Try another network

Eventually, if you're experienced enough and collect enough evidence, you figure out whether the problem is your machine, your local network, DNS, the path, a proxy, or the service itself.

I wanted one tool that could reason across those layers instead of making the user interpret each command independently.

That became Network Doctor.

Today it runs on Linux, macOS, and Windows and checks things like:

  • interfaces and local connectivity
  • DNS
  • public and encrypted DNS
  • TCP
  • TLS
  • HTTP and HTTPS
  • proxies
  • routing
  • path MTU
  • service-specific connectivity

It also has Watch Mode for intermittent failures, diagnostic snapshots, remote diagnosis, two-sided diagnosis, service profiles, and a network simulator with deliberately broken networks.

I just released v1.17.3.

But this release also marks a different milestone for me.

The project has made $0

I've spent a lot of time building Network Doctor.

People use it. People star it. People contribute to it. It's available through package managers.

Other projects have even started pointing their own users toward it for network troubleshooting.

But financially, it has made me $0.

I don't want to turn the useful parts of Network Doctor into paid features just because I want the project to become sustainable.

So I'm trying something else.

Paid help, not a paid binary

Network Doctor can generate a sanitized support snapshot locally:


netdoc --support support.ndoc example.com
Enter fullscreen mode Exit fullscreen mode

Top comments (0)