Releases: saucelabs/forwarder
Releases · saucelabs/forwarder
v1.5.1
v1.5.0
Support authenticating against Kerberos KDC server by forwarder, fetch service tickets and injecting SPNEGO auth tokens to the forwarder requests if host requires Kerberos authentication.
v1.4.0
What's Changed
- net: change dial t/o to 25s by @mmatczuk in #881
- martian: fix link name by @mmatczuk in #884
- tls: if TLSClientConfig.Insecure is set use all cipher suites by @mmatczuk in #892
- linkname: remove usage of net.lookupStaticHost by @mmatczuk in #899
- log: run test only in unix by @mmatczuk in #893
- Refactor osdns to avoid using custom linker flags in common situations by @mmatczuk in #903
- net: fix addr2Host for backwards compatibility with isLocalhost() by @mmatczuk in #906
- Add --connect-to flag that allows to change dial target by @mmatczuk in #905
- martian: extract common code of proxyConn.handleConnectRequest() and proxyHandler.handleConnectRequest() to a function by @mmatczuk in #908
- log/stdlog: allow to pass options when creating a sublogger by @budziam in #913
- http_proxy_errors: improve tls errors handling by @Choraden in #910
- Support for PROXY protocol v1 and v2 by @mmatczuk in #920
- chore(proxyproto) add v2 tests by @mmatczuk in #922
- chore(proxyproto/testdata): fix import path by @mmatczuk in #923
- bind: fix passing default value for --dns-server flag by @Choraden in #929
- martian: log with request ctx in h2writer by @Choraden in #934
- bind: rename proxy-protocol-enabled to proxy-protocol-listener flag by @mmatczuk in #935
- martian(test): implement testHelper pattern by @Choraden in #939
- martian: move TLS handshake from forwarder.Listener by @Choraden in #941
- e2e: enable goleak check by @Choraden in #909
- conntrack: add connection tracker wrapper based on connfu by @mmatczuk in #943
- net: conntrack improvements by @mmatczuk in #946
- net: add TrackTraffic knob to Listener by @mmatczuk in #947
- chore: extract listener config by @mmatczuk in #948
- http proxy: allow multiple listeners by @mmatczuk in #949
- Fix connect response that prevented proper working of websockets in FireFox by @mmatczuk in
- http proxy: make isLocalhost() case insensitive by @mmatczuk in #961
- chore: bump go version by @mmatczuk in #962
- Do not close client connection after returning HTTP status code 304 by @mmatczuk in #963
- net: use KeepAliveConfig from standard net package by @Choraden in #965
- martian(mitm): fix connect error response propagation by @mmatczuk in #966
- On shutdown try to drain connections for 30s and close them by @mmatczuk in #967
- Fix local/browser and add mk targets for profiling by @mmatczuk in #968
- docs: move website to opensource.saucelabs.com/forwarder/ by @mmatczuk in #969
- mitm: LRU cache for certificates by @mmatczuk in #971
- metrics: connections use active instead of closed by @mmatczuk in #972
- martian: enable gosec, errcheck and bodyclose linters by @mmatczuk in #973
- martian/header: optimized ViaModifier implementation by @mmatczuk in #974
- middleware(prometheus): use summaries instead of histograms by @mmatczuk in #975
- bench/gnet: scripts to run wrk against gnet http server over proxy by @mmatczuk in #980
- net: dial retries by @mmatczuk in #981
New Contributors
Full Changelog: v1.3.2...v1.4.0
v1.3.2
What's Changed
- log: reopen disk files on SIGHUP by @mmatczuk in #848
- log: add reopen to API by @mmatczuk in #849
- build(deps): bump github.com/prometheus/common from 0.54.0 to 0.55.0 by @dependabot in #850
- build(deps): bump golang.org/x/sys from 0.21.0 to 0.22.0 by @dependabot in #853
- build(deps): bump google.golang.org/grpc from 1.64.0 to 1.65.0 by @dependabot in #852
- Add support for SSLKEYLOGFILE by @mmatczuk in #855
- build(deps): bump golang.org/x/net from 0.26.0 to 0.27.0 by @dependabot in #858
- bind: refactor osFileFlag to FileFlag by @mmatczuk in #859
- docs: document SSLKEYLOGFILE by @mmatczuk in #857
- Fix file flag handling by @mmatczuk in #860
- utils/cobrautil: add functional options to BindAll() to allow Viper customization by @mmatczuk in #861
- chore(bind): make log-file flag redact function permanent by @mmatczuk in #862
- utils/compose: initial support for data containers by @mmatczuk in #863
- utils/cobrautil: FlagsDescriber change field ShowNotChanged to ShowChangedOnly by @mmatczuk in #864
- Fix content length in CONNECT requests and responses by @mmatczuk in #866
- chore(utils/httpbin): make delay return 200 on contex cancel explicit by @mmatczuk in #867
- martian: add not nil header in newConnectResponse() by @mmatczuk in #868
- martian: fix half-close propagation downstream when using http2 handler by @mmatczuk in #870
- martian(mitm): use newConnectResponse() by @mmatczuk in #871
- Fix reading api-address from config file in container by @mmatczuk in #874
Full Changelog: v1.3.1...v1.3.2
v1.3.1
What's Changed
- build(deps): bump google.golang.org/protobuf from 1.34.1 to 1.34.2 by @dependabot in #843
- e2e: fix invalid ip range by @Choraden in #846
- build(deps): bump github.com/spf13/cobra from 1.8.0 to 1.8.1 by @dependabot in #845
- build(deps): bump github.com/gorilla/websocket from 1.5.2 to 1.5.3 by @dependabot in #844
- log: revert log level to int by @Choraden in #847
Full Changelog: v1.3.0...v1.3.1
v1.3.0
What's Changed
- docs(monitoring): remove info about --prom-namespace flag by @Choraden in #760
- chore: bump Go version to 1.22.2 by @mmatczuk in #771
- build(deps): bump golang.org/x/net from 0.22.0 to 0.23.0 by @dependabot in #769
- build(deps): bump github.com/prometheus/client_model from 0.6.0 to 0.6.1 by @dependabot in #768
- Parallel e2e tests by @mmatczuk in #765
- build(deps): bump github.com/prometheus/common from 0.51.1 to 0.52.2 by @dependabot in #766
- build(deps): bump golang.org/x/net from 0.23.0 to 0.24.0 by @dependabot in #774
- build(deps): bump golang.org/x/sync from 0.6.0 to 0.7.0 by @dependabot in #776
- local/linux: migrate to makefile by @Choraden in #773
- utils/cobrautil/templates: print help and usage to stdout by @Choraden in #777
- systemd: restrict permissions by @Choraden in #778
- fix e2e DNS issues and increase parallelism level by default by @mmatczuk in #772
- build(deps): bump google.golang.org/grpc from 1.62.1 to 1.63.2 by @dependabot in #779
- build(deps): bump github.com/prometheus/common from 0.52.2 to 0.52.3 by @dependabot in #780
- ratelimit: invert read and write limits by @Choraden in #783
- dialvia(socks5): support context dialing by @Choraden in #784
- build(deps): bump github.com/prometheus/common from 0.52.3 to 0.53.0 by @dependabot in #785
- bind: fix --proxy flag usage by @Choraden in #786
- e2e: podman-compose compatibility by @mmatczuk in #788
- http_proxy: remove ambiguity in connect headers configuration by @Choraden in #787
- local/monitoring: add http req res size graphs by @Choraden in #790
- dialvia: add connect timeout by @Choraden in #789
- martian/header(via): close looped request by @Choraden in #792
- e2e: cpuset per service by @mmatczuk in #791
- build(deps): bump google.golang.org/protobuf from 1.33.0 to 1.34.0 by @dependabot in #793
- martian: strip X-Martian-Terminate-TLS before connecting by @Choraden in #794
- martian(header): do not add X-Forwarded headers for CONNECT requests by @mmatczuk in #795
- e2e: change static IPs in dns test by @Choraden in #799
- build(deps): bump golang.org/x/text from 0.14.0 to 0.15.0 by @dependabot in #798
- build(deps): bump golang.org/x/sys from 0.19.0 to 0.20.0 by @dependabot in #797
- build(deps): bump golang.org/x/net from 0.24.0 to 0.25.0 by @dependabot in #801
- build(deps): bump google.golang.org/protobuf from 1.34.0 to 1.34.1 by @dependabot in #802
- chore: bump go version to 1.22.3 by @mmatczuk in #803
- build(deps): bump github.com/prometheus/client_golang from 1.19.0 to 1.19.1 by @dependabot in #804
- e2e(mk): export compose project name in all targets by @Choraden in #805
- docs: extend log-http flag docs and better explain syntax of flags supporting multiple data sources by @mmatczuk in #807
- martian: fix CONNECTs content length by @Choraden in #808
- golangci: silence grpc.Dial deprecated error by @Choraden in #809
- build(deps): bump google.golang.org/grpc from 1.63.2 to 1.64.0 by @dependabot in #806
- chore: simplify generating metrics docs by @mmatczuk in #810
- martian: support server sent events without chunked encoding by @Choraden in #812
- chord: fix code block rendering in help and yaml help by @mmatczuk in #815
- utils/cobrautil/templates: change
to - chore: fix rendering code-block in markdown by @mmatczuk in #817
- martian(mitm): support CONNECT over HTTP 1.0 by @mmatczuk in #814
- bind: improve header flag usage with tags by @Choraden in #822
- build(deps): bump github.com/spf13/viper from 1.18.2 to 1.19.0 by @dependabot in #823
- martian: support iterating over not interfaceable fields in asCloseWriter() by @mmatczuk in #824
- build(deps): bump github.com/prometheus/common from 0.53.0 to 0.54.0 by @dependabot in #826
- chore: bump Go version to 1.22.4 by @mmatczuk in #827
- build(deps): bump golang.org/x/text from 0.15.0 to 0.16.0 by @dependabot in #829
- build(deps): bump golang.org/x/sys from 0.20.0 to 0.21.0 by @dependabot in #831
- build(deps): bump golang.org/x/net from 0.25.0 to 0.26.0 by @dependabot in #830
- goreleaser: add winget by @mmatczuk in #825
- martian: extend round trip error log by @mmatczuk in #828
- contribution: cleanse the doc from false statements by @Choraden in #839
- build(deps): bump github.com/gorilla/websocket from 1.5.0 to 1.5.2 by @dependabot in #840
- bind: fix httplogFlag default value in help by @Choraden in #837
- log: change level type to string by @Choraden in #838
- martian: refactor copySync() for easier bidirectional copying by @mmatczuk in #841
- middleware(prom): add customizable label for http metrics by @Choraden in #747
Full Changelog: v1.2.1...v1.3.0
v1.2.1
What's Changed
- chore: Fix typo in MITM flag doc by @alexh-sauce in #735
- chore(gh): release update deprecated dependencies by @mmatczuk in #734
- dial: increase dial t/o to 30s by @mmatczuk in #736
- build(deps): bump golang.org/x/net from 0.21.0 to 0.22.0 by @dependabot in #737
- build(deps): bump golang.org/x/sys from 0.17.0 to 0.18.0 by @dependabot in #738
- build(deps): bump google.golang.org/grpc from 1.62.0 to 1.62.1 by @dependabot in #739
- build(deps): bump google.golang.org/protobuf from 1.32.0 to 1.33.0 by @dependabot in #740
- build(deps): bump github.com/prometheus/common from 0.47.0 to 0.50.0 by @dependabot in #741
- Add matcher interface for domains filtering by @Choraden in #742
- docsgen: move WriteCommand and WriteDefaultConfig to utils by @Choraden in #743
- bind: change data URI scheme format in pac flag usage by @Choraden in #744
- chore: update docs by @Choraden in #745
- docsgen: add ID in the footer for cli by @Choraden in #746
- utils/docsgen: export FlagGroups and EnvPrefix variables to allow specifying them by @Choraden in #749
- Document Prometheus metics by @mmatczuk in #750
- cobrautil/templates: support custom formats in usages by @Choraden in #752
- build(deps): bump github.com/prometheus/common from 0.50.0 to 0.51.0 by @dependabot in #753
- build(deps): bump github.com/prometheus/common from 0.51.0 to 0.51.1 by @dependabot in #754
- docs(mk): add clean target by @mmatczuk in #756
- cobrautil/templates(yaml_flag_printer): support
,and by @Choraden in #755 - Use docker or podman compose instead of docker-compose by @mmatczuk in #757
Full Changelog: v1.2.0...v1.2.1
v1.2.0
What's Changed
- build(deps): bump github.com/prometheus/common from 0.45.0 to 0.46.0 by @dependabot in #651
- add idle timeout by @Choraden in #649
- packaging: removing service account is safe by @Choraden in #653
- Add armed Listener with TLS handshake timeout by @Choraden in #637
- api(prom): fix allocations made by promhttp by @mmatczuk in #660
- minor fixes by @mmatczuk in #661
- build(deps): bump google.golang.org/grpc from 1.60.0 to 1.61.0 by @dependabot in #662
- Update connection pool config for proxy by @mmatczuk in #666
- command/test/grpc: add plain text mode by @mmatczuk in #658
- docs/content: add Google Summer of Code page by @mmatczuk in #671
- chore(martian): unpack Proxy to proxyConn and move stuff around by @mmatczuk in #673
- chore: add development docs and document how to use Podman by @mmatczuk in #677
- chore: bump go and linter by @Choraden in #678
- build(deps): bump golang.org/x/sys from 0.16.0 to 0.17.0 by @dependabot in #680
- build(deps): bump golang.org/x/net from 0.20.0 to 0.21.0 by @dependabot in #681
- docs/content: add more ideas by @mmatczuk in #685
- README.md: podman document fix for docker-credential-desktop": execut… by @mmatczuk in #682
- log/stdlog: add Debug logger by @mmatczuk in #687
- martian: remove Context and Session by @mmatczuk in #683
- docs/content: update project descriptions with required information by @mmatczuk in #689
- martian: configure proxy by exported variables only by @mmatczuk in #691
- build(deps): bump google.golang.org/grpc from 1.61.0 to 1.61.1 by @dependabot in #692
- martian: use X-Forwarded-Proto if request scheme is unknown by @mmatczuk in #693
- martian: use request ID in trace if provided by @mmatczuk in #695
- martian: fix invalid error printing by @mmatczuk in #694
- build(deps): bump github.com/prometheus/common from 0.46.0 to 0.47.0 by @dependabot in #697
- build(deps): bump github.com/prometheus/client_model from 0.5.0 to 0.6.0 by @dependabot in #698
- Add connection metrics by @mmatczuk in #696
- net: instrument Listener connection close by @mmatczuk in #699
- net: export TrackedConn fields by @mmatczuk in #700
- net(listener): count closed connections only once by @Choraden in #702
- net: instrument dials by @mmatczuk in #701
- prom: export config by @Choraden in #704
- chore: update copyright by @mmatczuk in #703
- Close connection after 1h of inactivity by @mmatczuk in #705
- Automatically increase ConnectTimeout to be >= 2xDialTimeout by @mmatczuk in #707
- build(deps): bump google.golang.org/grpc from 1.61.1 to 1.62.0 by @dependabot in #709
- mitm: rename default org name to forwarder by @Choraden in #710
- tls: add DefaultTLSClientConfig function by @Choraden in #712
- gh: update project settings by @mmatczuk in #714
- docs: remove Podman setup from README.md by @mmatczuk in #713
- martian: info log CONNECT rejected with status code by @mmatczuk in #716
- martian: use localhost for testing by @mmatczuk in #715
- martian: fix connection hangs in mitm mode by @mmatczuk in #718
- net(metrics): rename unspecified host to localhost by @Choraden in #711
- config: Allow
@symbols in credentials by @alexh-sauce in #719 - chore(gh): bump actions/checkout to v4 by @mmatczuk in #721
- Add metrics for GOMEMLIMIT and GOMAXPROCS by @mmatczuk in #722
- Improve mitm logs by @mmatczuk in #720
- http_proxy: use mitm-org with in memory generated CA by @mmatczuk in #723
- chore(martian): minor refactoring by @mmatczuk in #728
- martian: clear res.Close hop by hop by @mmatczuk in #724
- chore(gh): bump setup-go to v5 by @mmatczuk in #729
- Debug log all dials by @mmatczuk in #727
- http_proxy(errors): windows return status 502 for WSAENETUNREACH error by @mmatczuk in #732
- build(deps): bump github.com/stretchr/testify from 1.8.4 to 1.9.0 by @dependabot in #733
- Add request and response size metrics by @mmatczuk in #725
Full Changelog: v1.1.2...v1.2.0
v1.1.2
What's Changed
- command/run: add default GOMEMLIMIT by @mmatczuk in #630
- build(deps): bump golang.org/x/sync from 0.5.0 to 0.6.0 by @dependabot in #635
- martian: improve error logging in response writing by @mmatczuk in #631
- build(deps): bump golang.org/x/sys from 0.15.0 to 0.16.0 by @dependabot in #636
- chore: various minor improvements by @mmatczuk in #638
- local/linux: improve bash scripts readability by @Choraden in #639
- e2e/prometheus: use latest image by @Choraden in #640
- remove
--prom-namespaceflag by @Choraden in #641 - build(deps): bump golang.org/x/net from 0.19.0 to 0.20.0 by @dependabot in #642
- chore: add codeowners file by @alexplischke in #643
- http_proxy_errors: add host information to the message by @mmatczuk in #644
- chore: bump go version to 1.21.6 by @Choraden in #650
- Add gRPC e2e test by @mmatczuk in #646
- martian: dont set tcp keep alive by @Choraden in #648
New Contributors
- @alexplischke made their first contribution in #643
Full Changelog: v1.1.1...v1.1.2
v1.1.1
Relevant Changes
- dialvia(http): read CONNECT response by byte by @mmatczuk in #617
- dial: use OS defaults for TCP keepalive params by @mmatczuk in #606
- listen: use OS defaults for TCP keepalive params by @mmatczuk in #612
- http_proxy: do not manually set Connection: close header by @mmatczuk in #601
- Improve forwarder dashboard by @Choraden in #602
- ci: add govulncheck-action by @mmatczuk in #600
What's Changed
- goreleaser: use github-native changelog by @mmatczuk in #585
- docs renames by @mmatczuk in #586
- docs: mitm tutorial by @mmatczuk in #589
- docs: add flag value format to default config file and markdown by @mmatczuk in #590
- docs: add favicon an copyright footer by @mmatczuk in #591
- docs: fix ports in Setup Browser by @mmatczuk in #592
- build(deps): bump github.com/spf13/viper from 1.16.0 to 1.18.0 by @dependabot in #593
- docs: remove All rights reserved. from footer by @mmatczuk in #594
- add local monitoring package and a grafana dashboard by @Choraden in #580
- build(deps): bump github.com/spf13/viper from 1.18.0 to 1.18.1 by @dependabot in #595
- log/stdlog: add log line labels by @mmatczuk in #596
- Add client logging middleware by @mmatczuk in #597
- build(deps): bump google.golang.org/grpc from 1.59.0 to 1.60.0 by @dependabot in #598
- ci: add govulncheck-action by @mmatczuk in #600
- http_proxy: do not manually set Connection: close header by @mmatczuk in #601
- Improve forwarder dashboard by @Choraden in #602
- fix utils/golden by @mmatczuk in #604
- dial: use OS defaults for TCP keepalive params by @mmatczuk in #606
- build(deps): bump github.com/spf13/viper from 1.18.1 to 1.18.2 by @dependabot in #611
- listen: use OS defaults for TCP keepalive params by @mmatczuk in #612
- http_proxy: unexport HTTPProxy.TLSConfig field by @mmatczuk in #613
- ruleset: export RegexpListItem.Exclude by @mmatczuk in #615
- dialvia(http): read CONNECT response by byte by @mmatczuk in #617
- dashboards(forwarder): add mean and max values in CPU panel by @Choraden in #619
- mk: add run target to simplify local running by @mmatczuk in #618
- chore: bump goja version by @mmatczuk in #621
- dialvia(http): change read buffer size to hold response line by @mmatczuk in #620
- build(deps): bump google.golang.org/protobuf from 1.31.0 to 1.32.0 by @dependabot in #623
- build(deps): bump github.com/prometheus/client_golang from 1.17.0 to 1.18.0 by @dependabot in #625
- docs/static/img: update forwarder's dashboard img by @Choraden in #624
Full Changelog: v1.1.0...v1.1.1