pb33f/wiretap

By pb33f

Updated 17 days ago

Wiretap is the world's coolest OpenAPI compliance API Proxy tools in the world.

Image
API management
Developer tools
Monitoring & observability
2

9.9K

pb33f/wiretap repository overview

wiretap

wiretap Docker image

Docker Pulls Docs discord

wiretap sniffs API requests and responses from clients and servers to detect OpenAPI contract violations and compliance problems.

This image packages the wiretap proxy, monitor UI, and websocket service so you can run contract-aware API traffic checks without installing Go, npm, Homebrew, or a local binary.

Images

Images are published to both Docker Hub and GitHub Container Registry:

pb33f/wiretap:latest
ghcr.io/pb33f/wiretap:latest

Release tags are also published alongside latest.

Quick check

docker run --rm pb33f/wiretap:latest --help
docker run --rm ghcr.io/pb33f/wiretap:latest --help

Run the proxy

Map the default ports and point wiretap at the upstream API you want to inspect:

docker run --rm \
  -p 9090:9090 \
  -p 9091:9091 \
  -p 9092:9092 \
  -v "$PWD:/work:rw" \
  -w /work \
  pb33f/wiretap:latest \
  -u https://api.pb33f.com

Send client traffic to http://127.0.0.1:9090 and open the monitor UI at http://127.0.0.1:9091.

Add an OpenAPI contract

Mount your current directory into /work and pass a local OpenAPI contract with -s:

docker run --rm \
  -p 9090:9090 \
  -p 9091:9091 \
  -p 9092:9092 \
  -v "$PWD:/work:rw" \
  -w /work \
  pb33f/wiretap:latest \
  -u https://api.pb33f.com \
  -s ./openapi.yaml

Multi-spec mode

Hand wiretap a list of OpenAPI contracts, or point it at a directory and let it discover them:

docker run --rm \
  -p 9090:9090 \
  -p 9091:9091 \
  -p 9092:9092 \
  -v "$PWD:/work:rw" \
  -w /work \
  pb33f/wiretap:latest \
  -u https://api.pb33f.com \
  --specs ./users.yaml,./orders.yaml,./billing.yaml
docker run --rm \
  -p 9090:9090 \
  -p 9091:9091 \
  -p 9092:9092 \
  -v "$PWD:/work:rw" \
  -w /work \
  pb33f/wiretap:latest \
  -u https://api.pb33f.com \
  --spec-dir ./contracts

wiretap routes each request to the spec that owns it, and reports duplicate or ambiguous routes across your contracts at startup.

CI contract discovery

Use --dry-run to discover and analyze OpenAPI contracts without starting the proxy. It exits non-zero on conflicts or load errors, which makes it useful in CI.

docker run --rm \
  -v "$PWD:/work:rw" \
  -w /work \
  pb33f/wiretap:latest \
  --spec-dir ./contracts \
  --dry-run

Ports

  • 9090: API proxy traffic
  • 9091: monitor UI
  • 9092: monitor websocket service

wiretap is a product of Princess Beef Heavy Industries, LLC.

Tag summary

Content type

Image

Digest

sha256:b90bdd3e4

Size

14 MB

Last updated

17 days ago

docker pull pb33f/wiretap:v0.7.2