From c5326cf5f4bbb01b404791d691db3b3f289a0648 Mon Sep 17 00:00:00 2001 From: Shubham Jain Date: Sun, 23 Aug 2026 02:03:15 +0530 Subject: [PATCH] docs: Keploy on Windows no longer needs Administrator MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Native Windows interception used a kernel packet-filter driver, which could only load from an elevated terminal. Keploy now instruments the application it starts and intercepts its network calls in user space instead, so the driver — and the Administrator requirement with it — is gone. - installation/windows.md: drop the "open an Administrator terminal" step and the WinDivert explanation, and state the two limits that come with instrumenting the application rather than filtering packets: Keploy has to be the one that starts it, and UDP traffic is not recorded. Hostname resolution is covered, so a dependency that no longer exists is still answered from its Mock on a replay. - concepts/platform-requirements.md: macOS and Windows are both userspace now, and neither needs sudo or Administrator. The `wsl --install` steps keep their "as Administrator" note — that genuinely needs elevation and is unrelated. Blocked on keploy/keploy#4476, which removes the driver. Do not merge before it ships, or the page will describe behaviour users do not have yet. Signed-off-by: Shubham Jain --- .../concepts/platform-requirements.md | 12 ++++++------ .../version-4.0.0/installation/windows.md | 15 +++++++++++---- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/versioned_docs/version-4.0.0/concepts/platform-requirements.md b/versioned_docs/version-4.0.0/concepts/platform-requirements.md index ed6f8c551..5810242f6 100644 --- a/versioned_docs/version-4.0.0/concepts/platform-requirements.md +++ b/versioned_docs/version-4.0.0/concepts/platform-requirements.md @@ -26,10 +26,10 @@ keywords: Below is a table summarizing the tools needed for both native and Docker installations of Keploy on macOS, Windows, and Linux: -| Operating System | Without Docker | Docker Installation | Prerequisites | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| macOS **macOS** | Supported Native (Go, Node, Python, Java) | [Guide](/server/install/) | - Docker Desktop version must be 4.25.2 or above
- Ensure that Lima is installed on your machine if you prefer to try without Docker. | -| Windows **Windows** | Supported Native, x86‑64 (Go, Node, Python, Java) | [Guide](/server/install/) | - Use [WSL](https://learn.microsoft.com/en-us/windows/wsl/install#install-wsl-command) `wsl --install`
- Windows 10 version 2004 and higher (Build 19041 and higher) or Windows 11
- Ensure that Docker Desktop version 4.25.2 or above is installed if you are following the Docker installation guide | -| Linux **Linux** | Supported | Supported | Linux kernel 5.15 or higher | +| Operating System | Without Docker | Docker Installation | Prerequisites | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| macOS **macOS** | Supported Native (Go, Node, Python, Java) | [Guide](/server/install/) | - Docker Desktop version must be 4.25.2 or above
- Ensure that Lima is installed on your machine if you prefer to try without Docker. | +| Windows **Windows** | Supported Native, x86‑64 (Go, Node, Python, Java) | [Guide](/server/install/) | - Use [WSL](https://learn.microsoft.com/en-us/windows/wsl/install#install-wsl-command) `wsl --install`
- Windows 10 version 2004 and higher (Build 19041 and higher) or Windows 11
- Ensure that Docker Desktop version 4.25.2 or above is installed if you are following the Docker installation guide | +| Linux **Linux** | Supported | Supported | Linux kernel 5.15 or higher | -Keploy runs natively on macOS and Windows — it intercepts traffic in userspace on macOS and with the WinDivert driver on Windows (x86‑64), since neither has eBPF. Docker, Lima (macOS) and WSL (Windows) remain supported alternatives, and are still the route on Windows/ARM. +Keploy runs natively on macOS and Windows (x86‑64) — neither has eBPF, so it intercepts traffic in userspace on both, and neither needs `sudo` or Administrator. Docker, Lima (macOS) and WSL (Windows) remain supported alternatives, and are still the route on Windows/ARM. diff --git a/versioned_docs/version-4.0.0/installation/windows.md b/versioned_docs/version-4.0.0/installation/windows.md index 1a27bdd2d..30611beca 100644 --- a/versioned_docs/version-4.0.0/installation/windows.md +++ b/versioned_docs/version-4.0.0/installation/windows.md @@ -2,7 +2,7 @@ id: windows-installation title: Running Keploy on Windows sidebar_label: Windows Installation -description: "Install Keploy on Windows — natively with the WinDivert driver, or with WSL or Docker." +description: "Install Keploy on Windows — natively with no Administrator needed, or with WSL or Docker." tags: - windows - ebpf @@ -17,7 +17,7 @@ keywords: # Installing Keploy on Windows -Keploy runs **natively on Windows** — you can record and replay an app that runs directly on Windows, with no WSL and no Docker. On Windows it intercepts traffic with the WinDivert network driver (there is no eBPF on Windows), which needs Administrator privileges. +Keploy runs **natively on Windows** — you can record and replay an app that runs directly on Windows, with no WSL and no Docker. There is no eBPF on Windows, so Keploy instruments the application it starts and intercepts its network calls in user space. No driver loads, nothing is installed system-wide, and **you do not need Administrator**. Native Windows support covers apps in **Go, Node.js, Python and Java**. WSL and Docker remain available if you prefer them. @@ -33,7 +33,7 @@ Native Windows support covers apps in **Go, Node.js, Python and Java**. WSL and 1. **Install Keploy** — download the Windows build from the [releases page](https://github.com/keploy/keploy/releases) (or your Keploy distribution) and put `keploy.exe` on your `PATH`. -2. **Open an Administrator terminal.** WinDivert loads a network driver, so `keploy` must run elevated (right-click PowerShell or Terminal → _Run as administrator_). +2. **Open a terminal.** An ordinary PowerShell or Terminal window is enough — Keploy does not need to run elevated. 3. **Record your app** — pass the command that starts it: @@ -57,11 +57,17 @@ Native Windows support covers apps in **Go, Node.js, Python and Java**. WSL and :::note -Native Windows support is **x86‑64 only**. On Windows/ARM, use WSL or Docker. +Native Windows support is **x86‑64 only**, and the application under test must be 64-bit. On Windows/ARM, use WSL or Docker. ::: +:::note + +Keploy instruments the application **it starts**, so launch your app through `keploy record -c` or `keploy test -c` rather than starting it yourself and pointing Keploy at a running process. +Keploy intercepts TCP — HTTP, HTTPS, gRPC, and database and cache protocols — and resolves hostnames through the application's resolver, so a dependency that no longer exists is still answered from its Mock during a replay. Traffic an application sends over UDP is not recorded. + +::: ## Option 2: Install Keploy with WSL @@ -70,6 +76,7 @@ If you already have WSL, Go to Step 2. 1. **Enable WSL** Make sure you’re on: + - **Windows 10** (version 2004 or later, build 19041+) - **Windows 11**