Skip to content

Proxy

The WebArc proxy is an HTTP(S) proxy that sits between clients and the web. It can record traffic into an archive, replay responses from an archive, or do both.

The proxy is the primary mechanism for capturing real HTTP interactions without modifying URLs or application behavior.

What the Proxy Does

When a client (browser, CLI tool, application) sends traffic through the WebArc proxy, WebArc can:

  • Forward requests to the live web and record responses into the archive
  • Serve archived responses instead of making live requests
  • Act as a stable interception point for HTTP-based tools

From the client’s perspective, nothing changes: URLs, headers, and behavior remain the same.

Starting the Proxy

The proxy is typically started together with the server:

webarc serve

By default, this starts:

  • An HTTP proxy (e.g. localhost:3000)
  • An API server (e.g. localhost:8000)

Using the Proxy

Browser

Configure your browser to use an HTTP proxy:

Host: localhost
Port: 8000

Once configured:

  • Visiting a website will route traffic through WebArc
  • Requests may be recorded, replayed, or both
  • Archived content is served transparently

Command-Line Tools

Most CLI tools can be pointed at the proxy using environment variables:

http_proxy=http://localhost:8000 \
https_proxy=http://localhost:8000 \
curl https://example.org

This works for tools like:

  • curl
  • wget
  • package managers
  • custom HTTP clients

HTTPS and TLS

For HTTPS traffic, the proxy operates as a MITM proxy.

This typically requires:

  • A WebArc-generated CA certificate
  • Installing that certificate in the client or system trust store

Once trusted, HTTPS traffic can be intercepted, archived, and replayed with full visibility into requests and responses.

See HTTPS/TLS.