04 · Utility Forge · Network

NetDoctor

In development

Why is my internet not working?

Tell me why my network or internet connection is failing.

NetDoctor tests a connection from the bottom up, from adapter, route and address through gateway, DNS, the internet by IP address, proxy, web access and captive portals, and ends with one verdict, its confidence and the evidence behind it. A gaming check measures latency, jitter and loss. It changes nothing.

Release
None yet
Status
In development
Model
Free
Windows
Windows 11 (tested on x64)
Architecture
x64
Packaging
Portable ZIP (planned)
Licence
To be announced
Changes your system
No, read-only

Worked example · illustrative values

The path it makes visible.

The question-to-answer path NetDoctor follows, with illustrative values. NetDoctor is implemented and tested internally but not released, so nothing here can be downloaded yet.

NetDoctor · from question to answer

Illustrative example

Why is my internet not working?

  1. 01 Symptoms Sites cannot be reached What you noticed, in your words.
  2. 02 Diagnostics Adapter ✓ · Gateway ✓ · Internet by IP ✓ · DNS ✗ Tested layer by layer, with the probes listed first.
  3. 03 Evidence Router DNS silent · public resolvers answer The observations each conclusion rests on.
  4. 04 Explanation Your DNS server has stopped answering One verdict with its confidence, not a raw dump.

Answer The connection works; name resolution does not. Restarting the router, whose DNS service stopped, is the first thing to try.

Capabilities

What it does

  • Layered diagnosis

    Adapters, the route Windows would use, addressing (including DHCP failures and address conflicts), gateway, configured DNS servers, a public DNS comparison, internet by IP address, proxy and PAC configuration, HTTP and HTTPS, and captive-portal detection.

  • A verdict, not a dump

    One outcome (healthy, degraded, failing or inconclusive), the problem area, a plain-language explanation, alternative explanations the evidence cannot rule out, and what you can check yourself.

  • Measured kept apart from inferred

    Every finding says whether it was observed directly or concluded from several observations, with a confidence level. An unfinished run is never reported as healthy.

  • VPNs, several adapters and proxies

    Recognises VPN tunnels and keeps its own probes inside them, compares several connected adapters, and evaluates proxy settings the way Windows would.

  • Gaming latency check

    Latency, jitter and packet loss to the router and to reference endpoints over a sampling window; latency under load only after you confirm the data it will use.

  • Probe disclosure

    netdoctor probes lists every destination a diagnosis would contact, why and at most how much data, without sending anything. The report ends with what was actually contacted.

  • Desktop application

    The same engine in a WPF window with Internet and Gaming pages, an adapter choice, the list of what will be contacted before every start, a live latency chart, redacted report export, light, dark and high-contrast themes, keyboard operation and screen-reader support.

Deliberately out of scope

  • It never changes a setting and has no "fix it" button. When it knows what is wrong, it says what you can check or change yourself.
  • It is not a speed test, a traceroute or a network monitor, and it runs nothing in the background.
  • It cannot see beyond your router; "upstream" covers the modem, the line and the provider alike.
  • It does not test whether a VPN leaks, and it cannot tell how a particular game server behaves.

Explanation

How it works

The problem

“The internet is down” can mean a loose cable, a Wi-Fi adapter without an address, a router whose DNS service has hung, a VPN that captures only half the traffic, a proxy script nobody remembers configuring, or a hotel login page. Windows’ own troubleshooter rarely says which, and the manual route (ipconfig, ping, nslookup, Test-NetConnection) gives you raw results that only mean something if you know the order to read them in. The guide Websites do not load but Windows says you are connected walks through that order by hand.

What NetDoctor does

NetDoctor reads the network configuration once, then works bottom-up. Each stage either passes, warns, fails or explains why it could not run:

Stage What it establishes
Adapters Which adapters are connected, and which are virtual, VPN or not bound
Path The route Windows would use for IPv4 and IPv6, and the gateway
Addressing Whether each address is usable (no 169.254 fallback, no conflict)
Gateway Whether the router answers, even if it ignores ping
DNS Whether the configured DNS servers resolve test names
Control DNS Whether public resolvers answer when yours do not
Internet connectivity Whether public endpoints are reachable by IP address, without DNS
Proxy Whether a configured proxy or PAC script works
Web Whether HTTP and HTTPS check pages return their documented response
Captive portal Whether a login page is intercepting web traffic

The verdict names the area (this device, the local network, upstream, DNS, VPN, proxy, captive portal) and lists what you can try. The command-line documentation shows a typical result:

FAILING: The internet works, but your DNS servers are not answering, so websites cannot be found by
  name.
  Confidence: high. Problem area: DNS.

  The configured DNS servers (192.168.1.1 (did not answer)) did not resolve any test name. The
  internet itself is reachable: connections to public endpoints by IP address worked. As a control,
  public resolvers answered the same query, so DNS traffic itself reaches the internet. The DNS
  server is the router itself, whose DNS service is often what has stopped.

What it sends and what it never collects

Before a diagnosis sends anything, NetDoctor prints a summary of what it will contact and the most data the probes could exchange (about 40 KB in the documented example). It never looks up your public IP address, never reads the Wi-Fi network name or access point, and never reports credentials. Web requests identify themselves as NetDoctor/<version>. The loaded-latency part of the gaming check transfers up to 100 MB by default, so it always asks first and says that on a metered connection the data counts against your allowance.

Current status

Part State
Engine, Windows platform, netdoctor CLI Implemented, tested on Windows CI
NetDoctor.exe desktop application Implemented, tested internally
Portable ZIP packaging and verifier Implemented; unsigned internal builds only
Signing decision and public release Open. Nothing is downloadable

Internal packages have been run only on Windows 11 x64.

Datasheet

What it touches, and what it does not

Project publisher
RedLine Final legal publisher name pending.
Code signature
Not decided yet Each release states whether it is signed before you download it.
SHA-256
Published with each release
Packaging
Portable ZIP
Telemetry
None
Account
Not required
Administrator rights
Not required Needs no administrator rights. Reading Wi-Fi signal details is optional and, since Windows 11 24H2, may ask for location permission.
Network access
Required A diagnosis sends small, documented probes to your router, your DNS servers and fixed public endpoints (Cloudflare, Quad9, and Microsoft, Cloudflare and Google connectivity-check pages). netdoctor probes lists them in advance without sending anything. Nothing is sent to a Utility Forge server.
Changes your system
No, read-only Never changes DNS servers, routes, adapters, firewall rules, proxy settings or services, never flushes a cache and never resets Winsock.

Implemented and tested internally. There is no public release and nothing to download yet.

Revision block · status today
Rev Part Status
A1 Diagnostic engine Ten-stage general diagnosis and a gaming scenario, each conclusion tied to the observations it rests on. Implemented
A2 Windows platform (read-only) IP Helper, the DNS client, WinHTTP and sockets; registry keys opened read-only. Implemented
A3 Command line (netdoctor) diagnose, gaming, adapters and probes, with JSON output. Implemented
A4 WPF desktop application (NetDoctor.exe) Internet and Gaming pages over the same engine, the probe list before every start, a separate confirmation for the load test and redacted report export. Tested internally; not released. Implemented
A5 Packaging and release verification Reproducible portable ZIPs with SHA-256 sums, a manifest, an independent verifier and tamper tests. Every package so far is an unsigned internal build. Implemented
C1 Release signing decision and public release Nothing is published or downloadable. No code-signing certificate exists; an unsigned NetDoctor release would need its own policy decision. Planned
Implemented
Merged into the main branch and covered by automated tests on Windows. Implemented is not the same as released.
Planned
Not started.
Released
Nothing yet. No part of this product has been signed or published, and nothing can be downloaded.

Quick start

The common task, before you need a manual.

  1. Build the command line

    No build is published yet. Until the first public release, NetDoctor is built from source with the .NET SDK pinned in global.json.

    Needs access to the source repository, which is private during development.

    cd apps/netdoctor && dotnet build NetDoctor.Engine.slnx -c Release
  2. See what it would contact

    Reads the configuration and lists every probe, its destination and purpose. Sends nothing.

    netdoctor probes
  3. Diagnose

    Runs the general diagnosis and prints the verdict, the tests and what was contacted.

    netdoctor
  4. Check latency for games

    Samples latency, jitter and loss for a minute.

    netdoctor gaming --duration 60

Documentation

Reference

Security and privacy What NetDoctor sends, and privacy

Release history

Versions

No releases published yet

Every release will appear here with its version, date, checksums and notes. Published versions are immutable.

Guides

Problems NetDoctor answers

Troubleshooting · 8 min · updated

Websites do not load but Windows says you are connected

Find out which layer is failing when pages will not load: the adapter and address, the router, the internet itself, DNS, a proxy or a captive portal. Built-in PowerShell checks, read from the bottom up, with what each result means and the fixes that match it.

FAQ

Questions people ask

Does NetDoctor change my network settings?

No. It reads the configuration and sends probes. It never changes DNS servers, routes, adapters, firewall or proxy settings, never restarts a service and never flushes a cache. Any change is yours to make, after you have read the explanation.

What does it send, and to whom?

Small probes to your router, to your configured DNS servers, to public reference endpoints run by Cloudflare and Quad9, and to connectivity-check pages from Microsoft, Cloudflare and Google. netdoctor probes lists them before anything is sent. Your public IP address is never looked up, and nothing goes to a Utility Forge server.

Is a report safe to share?

A report contains your computer's IP addresses, gateway, DNS and proxy settings and adapter names, because the explanation needs them. It does not contain MAC addresses, the Wi-Fi network name, the computer name or the user name. Read it before you share it.

Can I download it today?

Not yet. The engine, the command line and the desktop app are implemented and tested internally, and the packaging pipeline produces unsigned internal builds, but nothing is published. A public release will be published here with SHA-256 checksums and will say before download whether it is signed. Free signing is being evaluated; an unsigned release of this product would first need its own policy decision.