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
$ 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.
