repositorypackage
1.3.2
Repository: https://github.com/saucelabs/forwarder.git
Documentation: pkg.go.dev
# Packages
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# README
Forwarder Proxy

Forwarder is a production-ready, fast MITM proxy with PAC support.
It's suitable for debugging, intercepting and manipulating HTTP traffic.
It's used as a core component of Sauce Labs Sauce Connect Proxy.
It is a forward proxy, which means it proxies traffic from clients to servers (e.g. browsers to websites), and supports CONNECT
requests.
It can proxy:
- HTTP/HTTPS/HTTP2 requests
- WebSockets (both HTTP and HTTPS)
- Server Sent Events (SSE)
- TCP traffic (e.g. SMTP, IMAP, etc.)
Documentation
The documentation is available at forwarder-proxy.io.
Development
Quick Start
- Install Docker or Podman, for Podman configuration see this guide
- Install Docker Compose
- Install
make
- Run
make install-dependencies
Linting
- Run
make fmt
to auto format code - Run
make lint
to lint code - Edit .golangci.yml to change linting rules
Building Devel Images
Run make update-devel-image
to build the devel docker image.
Testing
- Run
make test
to run Go unit tests - Run
make -C e2e run-e2e
to run e2e tests, more details in e2e/README.md
Updating tools versions
All tools versions are defined in .version file. To update a version, edit the file and create a merge request. CI will run and update the CI image with the new version.