v0.4.0 · Windows

Route, capture, mock and test every API on your machine.

Bifurc gives your local services names like api.localhost, puts a proxy in front of their traffic, and sends REST, GraphQL, gRPC, SOAP and WebSocket requests. Everything you save is a file in a git-backed workspace.

Free to use. No account needed.

New in 0.4

Rebuilt as a native app

Bifurc 0.4 replaces the Electron app with a Rust interface on top of a Rust engine, and it looks and behaves like the rest of your desktop.

Native, start to finish

The desktop app, the engine and the CLI are all Rust. No Electron, no bundled browser, no Node runtime. It follows your system's light or dark appearance and ships with 21 more themes.

One engine, three ways in

The desktop app, the bifurc command and the browser extension all talk to the same engine and the same workspace, so what you save in one is there in the others.

Sign in to sync

Sign in with GitHub and publish a workspace to a repository you own, or import one on another machine. No remote URLs to paste, no tokens to manage, and it is entirely optional.

Routing

Every service gets a name. No hosts file.

Names ending in .localhost already resolve to your machine. Bifurc's reverse proxy listens there and sends each name to the port you mapped it to, and its forward proxy lets you redirect, rewrite, mock and record the traffic of a browser or a tool.

  • Map a running service to a name from the Services screen
  • Proxy rules with exact or regex matching, and request and response scripts
  • Optional HTTPS interception with a root certificate made on your machine
api.localhostBifurcrules · mocks · capture:3000 api:5173 app:7000 auth
bifurc

$ bifurc status # engine, proxy and active workspace

$ bifurc mappings list # <sub>.localhost → target

$ bifurc requests send "Create user" # exits 1 when a test fails

$ bifurc health run # check every service

$ bifurc vault run api_keys -- npm run dev # secrets as environment variables

$ bifurc workspaces sync # commit and push what changed

Command line

The same workspace, from your terminal and CI

The bifurc command talks to the same engine as the desktop app. Every kind of saved item has the same verbs (list, show, create, update, and the one that runs it), output can be JSON, and the exit code tells a script whether a request's tests or a health check passed.

Capabilities

Everything the localhost part of your day needs

Proxying and API work live in the same window, so the request you just watched fail is one step away from being replayed, saved or mocked.

Service Discovery

See the local processes listening on a port, with their PIDs, and map any of them to a name directly.

Localhost Domain Mapping

Map *.localhost names to local services. They resolve to your machine already, so there is no hosts file to edit.

Proxy Rules & Scripts

Redirect traffic through the forward proxy and change requests or responses in flight with scripts.

REST, GraphQL, gRPC, SOAP and WebSocket

Write, save and organize requests across the protocols real local integration work uses, and run a folder of them at once.

Traffic Capture

Inspect proxied traffic with full request and response detail, and save any exchange as a request or a mock.

Advanced Mocking

Answer a call yourself: replace the status, headers, body or timing of a response, including streamed ones.

Browser Extension Workflows

Toggle browser proxying, review traffic in a DevTools tab, and send real requests or mocks into Bifurc.

TLS Interception

Generate or import a root certificate so HTTPS traffic through the forward proxy can be captured, mocked and rewritten.

Command Line

Drive the same engine from a terminal or CI with the bifurc command: same workspace, same verbs, JSON output.

Environments & Vaults

Reuse variables across requests, mocks and health checks, and keep secrets sealed behind a passphrase.

Health Monitoring

Track whether your services answer, from the app's health bar or from a script.

Git-Backed Workspaces

Everything you save is a file with history. Sign in with GitHub to publish a workspace or import one.

Privacy

Your work stays on your machine

Workspaces, captured traffic, certificates and secrets never leave your computer unless you sync a workspace to your own repository. Bifurc does send anonymous usage analytics. They are on by default once you accept the terms, and one switch in Settings, under About, turns them off.

What analytics send

  • What kind of thing you did: “request sent”, “mock created”
  • Its shape: request type, HTTP method, counts, yes/no flags
  • Bifurc version, operating system and CPU architecture
  • A random install ID, derived from nothing

What they never send

  • Names, URLs, hosts, paths or patterns
  • Headers, bodies, scripts, variables or secrets
  • Captured or proxied traffic
  • Your GitHub account, token or repositories

The details are in the privacy policy and the terms of use.

Try it on your own stack

Install it, map your first service, and the rest of the toolkit is already there.