Releases: saucelabs/forwarder
Releases · saucelabs/forwarder
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-namespace
flag 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
v1.1.0
New Features
- Man-In-The-Middle (MITM) support #335
- Rate limiting #411
- Direct domains #428
- Upstream proxy headers modification #403
- Proxy errors are written in response body (and headers) #502
- Default config files contain all field description and can be generated from command line #517
Relevant changes
- Our Google Martian fork has been internalized and largely modernized #350
- On Windows End-Of-File is properly handled #471
What's Changed
- fix setting dial function in proxy by @Choraden in #316
- e2e: make FlagProxyLocalhost test all allow and deny values by @mmatczuk in #321
- utils/cobrautil/templates: new value type search algorithm by @mmatczuk in #324
- chore: bump Go version to 1.20.6 by @Choraden in #326
- CA file by @mmatczuk in #323
- add DNS e2e tests by @Choraden in #328
- e2e: tests for insecure by @mmatczuk in #329
- dns: fix custom servers support and extend tests by @Choraden in #320
- utils/compose(service): enable privileged mode by @Choraden in #341
- chore: bump Go version to 1.21.0 by @Choraden in #339
- MITM by @mmatczuk in #335
- Fix logging in e2e by @mmatczuk in #356
- Ingest Martian Fork by @mmatczuk in #350
- Rework DNS integrity check by @Choraden in #347
- utils/httpexpect: add httptrace.ClientTrace by @mmatczuk in #346
- Linting by @Choraden in #359
- Revert "bind: remove tls prefix from tls-[cert,key]-file" by @mmatczuk in #365
- http_transport: use unused values from config by @Choraden in #367
- assert upstream proxy does the traffic by @Choraden in #327
- deny domains by @Choraden in #366
- Martian modernize logger and support request logging by @Choraden in #368
- Add route mode for http logging by @Choraden in #372
- bind: Add JSON parameter to DescribeFlags by @alexh-sauce in #370
- golangci: enable context key type check by @Choraden in #374
- utils/golden: support diff of Prometheus Metrics from api server by @Choraden in #369
- cmd:
runE
functions don't need to be exported by @alexh-sauce in #378 - fix Excess found: excess = 2 url = / (zero-length body) in HEAD response by @mmatczuk in #358
- utils/cobrautil: support pasring lists from env vars and config file by @Choraden in #381
- bind: redact base64 cert and key value by @Choraden in #382
- add
/headers
endpoint to httpbin by @Choraden in #388 - Move describe flags to utils and reformat by @Choraden in #390
- Ruleset adjustments by @Choraden in #389
- remove httpbin
/header/
endpoint by @Choraden in #393 - Fix bind slice by @mmatczuk in #395
- e2e(mk): run profiling concurrently with the benchmark by @Choraden in #398
- change http log mode route to short-url by @Choraden in #397
- refactor recent changes to martian logging by @Choraden in #396
- martian: peek the connection before setting read timeout by @Choraden in #400
- make prometheus namespace configurable by @Choraden in #399
- add
--proxy-header
for managing proxy headers by @Choraden in #403 - cmd/forwarder: log fatal error if logger is available by @mmatczuk in #402
- utils/cobrautil(bind): set flags directly in FlagSet by @Choraden in #401
- Eager listener init by @mmatczuk in #405
- Allow getting unstarted proxy as http.Handler by @mmatczuk in #408
- log/martianlog: export martian log setting by @mmatczuk in #409
- http_proxy: alias all martian types to avoid exposing them by @mmatczuk in #410
- http_proxy: only update upstream proxy user from credentials if user … by @mmatczuk in #412
- Read request ID from header and use in logs by @Choraden in #407
- martian: replace inner mutlierror with go.uber.org/multierr by @Choraden in #422
- dialvia: do not send default GO HTTP client User-Agent by @Choraden in #420
- api extensions by @mmatczuk in #415
- Deny domains new approach by @mmatczuk in #423
- Bump dependencies by @mmatczuk in #425
- Close proxy only once by @Choraden in #427
- Add rate limiting by @Choraden in #411
- Direct domains by @mmatczuk in #428
- e2e: treat any stderr output as an error by @Choraden in #430
- http_proxy: add missing log line "PROXY server listen address" by @mmatczuk in #432
- mitm domains by @mmatczuk in #434
- packaging: add powershell to completions.sh by @mmatczuk in #436
- ruleset: RegexpMatcher add inverse by @mmatczuk in #438
- cmd/forwarder: do not defer when building commands by @Choraden in #439
- Do not url escape user and password by @Choraden in #433
- e2e: set dns timeout to 1 second by @Choraden in #442
- middleware: remove metrics labels by @amckenzie132 in #443
- Martian refactor by @mmatczuk in #444
- /cacert endpoint by @mmatczuk in #435
- martian: add TLS termination in CONNECT by @mmatczuk in #446
- martian(mitm): check if peeked data is not nil by @Choraden in #448
- bind: fix --basic-auth and --credentials values in usage description by @Choraden in #449
- Improve debugging by @Choraden in #455
- improve mitm logging by @mmatczuk in #457
- utlis/httpx: add RoundTripperFunc by @mmatczuk in #460
- chore: update dependencies by @Choraden in #462
- runctx: allow to start group without notify signals by @Choraden in #463
- bind: rephrase
--log-http
usage by @Choraden in #461 - metrics: add proxy error counter by @Choraden in #459
- cmd/forwarder/run: register process metrics by @mmatczuk in #467
- gh: run unit tests on Ubuntu and Windows by @mmatczuk in #464
- cmd/forwarder: add proxy traffic flag group by @Choraden in #470
- Fix Windows EOF in tunnel treated as error by @mmatczuk in #471
- cmd/forwarder/run: add base namespace for process metrics by @mmatczuk in #473
- update readme by @Choraden in #474
- utils/cobrautil: add BindFromViper by @mmatczuk in #475
- packaging: add testing environment by @Choraden in #469
- cobrautil better describe by @mmatczuk in #476
- cobrautil describe only changed by @mmatczuk in #478
- local: improve bash scripts by @Choraden in #479
- utils/cobrautil: describe flags unredacted by @mmatczuk in #480
- Cobra related patches by @mmatczuk in #482
- golangci: bump golangci version by @mmatczuk in https://github.com/saucelabs/forwarder/...
v1.1-rc1
Changelog
- a9e5d1c bind: rephrase
--log-http
usage - 1bdbc3b cmd/forwarder/run: initialize runctx.Group with a function
- 5fce40a cmd/forwarder/run: register process metrics
- af5d444 http_proxy: add proxy errors metric
- 8088def http_proxy: make errorResponse func a proxy method
- f11b5b5 martian: add TestReadHeaderConnectionReset
- 8455fb6 martian: add isClosedConnError from http2
- 01e4130 martian: always close connection on readRequest error
- 4474a8d martian: modernize isClosedConnError
- 888aa15 martian: move readRequest error logging to handle
- 6da7936 martian: refactor isCloseable
- 2dece1d martian: use isClosedConnError instead of isCloseable outside of handleLoop
- 180744c runctx: allow to start group without notify signals
- 26a961f utlis/httpx: add RoundTripperFunc
v1.1-rc0
Changelog
- 753084e Revert "log/stdlog: implement WithValue"
- 3e0d95b Revert "log: extend Logger interface with WithValue method"
- d37e335 Revert "martian(context): do not initialize ID value"
- 4b7e381 Revert "martian(handler): use traced logger"
- 7c2edb4 Revert "martian(proxy): use traced logger"
- 6ebaae3 Revert "martian/context: store id as string"
- 483e90d Revert "martian/context: use base 10 when converting id to string"
- beb0acd api: add configurable endpoints
- dcb33d4 api: make readiness check optional
- 8a08c40 api: refactor script, config and version to APIEndpoint
- e1eb3c2 bind: add
--log-http-request-id-header
flag - 4e96a0b bind: add func to bind prometheus namespace
- 2e2570e bind: add proxy-header flag
- 8297fe9 bind: add read and write limit
- 37f9a1b bind: fix
--basic-auth
and--credentials
values in usage description - 5ad9761 bind: redact base64 cert and key value
- dc1a869 bind: replace route with short-url http log mode
- ae8d2db bind: update credentials and basic-auth value types in usage
- 8d9a6f5 bind: update deny-domain-exclude usage description
- e078fdf cmd/forwarder/run: add --mitm-domains flag
- 68026c4 cmd/forwarder/run: add /cacert if MITM is enabled
- d491e9b cmd/forwarder/run: add ProxyHeaders
- da64271 cmd/forwarder/run: add direct domains flag
- 5c3679b cmd/forwarder/run: only add /pac endpoint if pac is set
- 08f1569 cmd/forwarder/run: remove decorate func from martian logger
- 09bd2ad cmd/forwarder: do not defer when building commands
- 93b1263 cmd/forwarder: log fatal error if logger is available
- 814f757 cmd/fowarder/run: bind prometheus namespace
- d187193 cmd:
runE
functions don't need to be exported - ee5fc58 cmd: remove note on url escaping of user and password
- 49aee3a config: rename
ParseUserInfo
->ParseUserinfo
- 6d9f351 config: rework parse host port and user
- 073eada config: rework parse proxy url
- 7da8a62 config: rework parse user info
- a2155d6 dialvia: add connect request modifier
- f5b3aaf dialvia: do not send default GO HTTP client User-Agent
- 0d6de38 dialvia: do not url escape user and pass for proxy auth header
- 9071f47 e2e (setups): remove deny domain exclude only setup
- 5d6a855 e2e(mk): ignore stderr in copying httpbin env vars in
make test
- 36c78d1 e2e(mk): pre pull docker e2e test image
- d684d69 e2e(mk): run profiling concurrently with the benchmark
- 3e765e5 e2e/setup(callback): log
SKIP:
lines from test's stdout - 9e86b9c e2e/setup(callback): return error on nonempty stderr
- e47d6ff e2e/tests (TestProxyUpstream): use httpbin/headers/ endpoint to assert traffic
- 789e0b8 e2e/tests: rework request and response header flag tests to use
/headers/
endpoint - 83801d1 e2e: add direct domains flag test
- 595f74c e2e: add rate limit tests
- a599a70 e2e: add test for --mitm-domains
- 2af6f01 e2e: add tests for MITM with generated CA
- 20e7a2d e2e: set dns timeout to 1 second
- 8a34fe5 e2e: use special characters for basic auth and credentials
- 88c514f forwarder: add SizeSuffix type
- c1ffc16 http_(proxy,server) remove TunnelScheme
- 212cbb6 http_(proxy,server): remove Listener
- 571c52f http_proxy: add ConnectRequestModifier
- 98100dc http_proxy: add MITMDomains to HTTPProxyConfig
- 32cb1ed http_proxy: add NewHTTPProxyHandler
- 0e7d355 http_proxy: add direct domains support
- b091ca8 http_proxy: add missing log line "PROXY server listen address"
- ed64507 http_proxy: adjust usage of ruleset NewRegexp
- 5e0a9ab http_proxy: alias all martian types to avoid exposing them
- 04d306c http_proxy: allow to read request ID from header and use in logs
- 833de33 http_proxy: do not check if proxy is closing on Close()
- 8442986 http_proxy: enable getting MITM CA cert
- 44221d0 http_proxy: move deny domains parsing to command
- 52196e3 http_proxy: only update upstream proxy user from credentials if user is not set
- 0fc4e21 http_proxy: start listener on construction
- fa5ecce http_proxy: support read and write limit
- 5b52d66 http_proxy: unexport Handler function
- 2be927d http_server: start listener on construction
- c38c870 httplog: change trace format and the way it is retrieved
- 1df1df3 httplog: replace route mode with short-url
- 627add0 log/martianlog: export martian log setting
- 290433e log/stdlog: change log level print format
- 5c12190 log/stdlog: log timestamp with microseconds resolution
- 12c4cff maritan: delete internal multierror
- 43fb8e0 martian (mitm): add possibility to MITM only selected requests
- 8cbd509 martian (mitm): improve logging
- 9a7a80f martian (mitm): use Peek and avoid allocating reader for 1 byte slice
- b76ca56 martian(context): add trace id to context.Context when wrapping martian.Context there
- be38ac2 martian(httpspec): add Transfer-Encoding to unit test
- b47a00a martian(mitm): check if peeked data is not nil
- 80c8031 martian/fifo: replace multierror with go uber's one
- e1ccb6d martian/log: add context.Context to logging functions
- 34edee3 martian/log: make martian's logger interface
- d6ea3fc martian/mitm: enable getting CA cert from Config
- 737a653 martian/proxyutil: use http.NoBody
- 4dad5c6 martian: add ConnectRequestModifier
- 719bd2c martian: add TLS termination in CONNECT
- 06a56b5 martian: close proxy only once
- b7e80ea martian: fix Excess found: excess = 2 url = / (zero-length body) in HEAD response
- c1a6aef martian: fix TestReadHeaderTimeout
- c00af3a martian: handler, do not copy http.NoBody
- 502fef8 martian: improve request IDs format
- ef63de5 martian: log request id from header
- 235e635 martian: pass context.TODO() to logging functions
- 1a1bad5 martian: peek the connection before setting read timeout
- 4fbcf23 martian: reformat duplicate code in Proxy.connectHTTP
- f6e851d martian: remove
martian:
prefix from logs - 243b179 martian: test ConnectRequestModifier for HTTP upstream proxy
- 2296ca0 martian: use context logging functions in proxy and handler
- 4f94ae0 middleware: remove metrics labels
- d5620c1 packaging: add powershell to completions.sh
- 84f4b8b ratelimit: implement rate limiting package
- 10d1079 ruleset: RegexpMatcher add inverse
- ed8e4d0 ruleset: add RegexpList to support parsing Regexp from slice and rename Regexp to RegexpMatcher for clarity
- ff558bf ruleset: rename RuleSet to Regexp
- 066eb8c ruleset: rename files to regex
- 3681cb3 ruleset: return error on creation when specified exclude rules without includes
- 1e466b7 utils/cobrautil(bind): always get config file type from extension
- 8fe63cc utils/cobrautil(bind): extract setFlagFromViper to function
- 00fe2eb utils/cobrautil(bind): implementation based on Replace(val []string) with tests
- df50e5f utils/cobrautil: handle errors and flag state when updating from viper
- 4ccf9e9 utils/cobrautil: refactor DescribeFlags
- 0683990 utils/cobrautil: reformat describe unit tests
- 138fae7 utils/cobrautil: support pasring lists from env vars and config file
- 7e0061c utils/cobrautil: use any instead of interface{}
- ea3479c utils/golden: support diff of Prometheus Metrics from api server
- 9ed2543 utils/httpbin: add
count-bytes
endpoint - d789027 utils/httpbin: add headers endpoint
- 91d0d31 utils/httpbin: remove
/header/
endpoint - 76c1d95 utils/httpbin: remove comment with implemented handlers
- cfa0cc7 utils/httphandler: add SendCACert