Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/saucelabs/forwarder
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.
https://github.com/saucelabs/forwarder
http-proxy https-proxy linux macos mitm mitmproxy pac proxy rewriting socks5 upstream windows
Last synced: 3 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/saucelabs/forwarder
- Owner: saucelabs
- License: mpl-2.0
- Created: 2021-09-20T18:45:55.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-11T13:15:56.000Z (7 months ago)
- Last Synced: 2024-04-14T23:02:17.224Z (7 months ago)
- Topics: http-proxy, https-proxy, linux, macos, mitm, mitmproxy, pac, proxy, rewriting, socks5, upstream, windows
- Language: Go
- Homepage: https://forwarder-proxy.io
- Size: 3.75 MB
- Stars: 181
- Watchers: 8
- Forks: 11
- Open Issues: 72
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Forwarder Proxy [![Build Status](https://github.com/saucelabs/forwarder/actions/workflows/go.yml/badge.svg)](https://github.com/saucelabs/forwarder/actions/workflows/go.yml) [![Go Report Card](https://goreportcard.com/badge/github.com/saucelabs/forwarder)](https://goreportcard.com/report/github.com/saucelabs/forwarder) [![GitHub release](https://img.shields.io/github/release/saucelabs/forwarder.svg)](https://github.com/saucelabs/forwarder/releases)
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](https://docs.saucelabs.com/secure-connections/sauce-connect/).
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](https://forwarder-proxy.io).
## Development
### Quick Start
- Install Docker or Podman, for Podman configuration see [this guide](podman.md)
- 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](.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](e2e/README.md)### Updating tools versions
All tools versions are defined in [.version](.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.