Skip to content

Use Cases

This is the fastest page for deciding whether proxykit fits your application.

Mounted reverse proxy inside an existing app

You already own the main HTTP server and want a route such as /proxy/... to forward to a selected upstream.

Start with:

  • reverse
  • optionally cookies
  • optionally observe

Why proxykit fits:

  • mounted path handling is first-class
  • target resolution can stay query-driven or become fully custom
  • your app keeps its own routes, auth, storage, and UI payloads

Classic HTTP forward proxy with CONNECT support

You need a developer proxy, test proxy, or internal tool that accepts absolute-URI HTTP requests and HTTPS tunnels.

Start with:

  • forward
  • connect
  • optionally proxyruntime
  • optionally observe

Why proxykit fits:

  • forward and connect are separate on purpose
  • you can keep HTTP and tunnel policies different
  • listener lifecycle can stay dynamic if your app enables or disables proxy modes at runtime

WebSocket or Socket.IO inspector

You need to proxy WebSocket traffic, observe frames, and maybe decode Socket.IO text frames without turning all WebSocket traffic into Socket.IO-specific abstractions.

Start with:

  • wsproxy
  • observe
  • optionally socketio

Why proxykit fits:

  • WS transport stays transport-focused
  • Socket.IO stays optional
  • frame observation and protocol derivation happen in your adapter layer

Desktop or developer tool with runtime-managed listeners

Your app needs to start and stop forward and SOCKS listeners based on settings, UI state, or feature flags.

Start with:

  • proxyruntime
  • your own config repository
  • your own admin or UI layer

Why proxykit fits:

  • listener lifecycle is separate from your product settings API
  • forward and SOCKS can be toggled without turning the module into a control plane

Extracting a transport core from a larger product backend

You have an existing backend with sessions, storage, replay, or admin routes and want transport code that is smaller and reusable.

Start with:

  • the transport package that matches your first seam
  • observe for neutral event handoff

Why proxykit fits:

  • it gives you a smaller, more versionable transport core
  • your product backend can keep its current contracts while migrating internally

When proxykit is the wrong choice

Choose another tool if you primarily want:

  • a ready-made gateway platform
  • service discovery and load balancing policies out of the box
  • a full programmable proxy engine with a larger built-in rule system
  • a product backend with REST admin APIs already included

For that tradeoff discussion, see Comparisons and Limits and Non-Goals.

Released under the Apache 2.0 License.