Skip to content

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.

License

MPL-2.0, Unknown licenses found

Licenses found

MPL-2.0
LICENSE
Unknown
LICENSE.3RD_PARTY
Notifications You must be signed in to change notification settings

saucelabs/forwarder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Forwarder Proxy Build Status Go Report Card GitHub release

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.

About

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.

Topics

Resources

License

MPL-2.0, Unknown licenses found

Licenses found

MPL-2.0
LICENSE
Unknown
LICENSE.3RD_PARTY

Code of conduct

Security policy

Stars

Watchers

Forks

Languages