Releases: saucelabs/forwarder
Releases · saucelabs/forwarder
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
v1.0.2
Changelog
- 820efd5 README.md: add more information on installation
- 1d4014c api: add context to ready func
- 264affe bind: add "c" as shorthand for config-file
- 067b4d3 bind: remove "socks" as supported proxy protocol, the supported protocol is "socks5"
- be8f5f7 bind: remove shorthand "k" for "insecure" flag
- f779f8b cmd/forwarder/ready: add readiness check command
- 9f50d52 cobrautil (templater): pass custom envPrefix for flag usages
- 17ee304 e2e (compose): make OnStart function mandatory
- 6d8ed51 e2e (compose): wait for all containers in parallel
- 35672e4 e2e (setups): change and document the naming scheme to use httpbin scheme first
- 70b9b31 e2e (setups): change formatting to improve readability
- 8d87ddb e2e (setups): split components to different files
- 3c1c34e e2e (test): replace Errorf With Fatalf
- f59dce3 e2e (tests): extract basic proxy tests to separate file and add Proxy
- 4161c7f e2e (wait): automatically extend MaxWait time in CI
- f2632bb e2e/forwarder: streamline service creation
- 6b46a27 e2e/forwarder: unexport HealthCheck and make increase retries to 10
- b66d69c e2e/forwarder: use compose healthcheck instead of WaitFunc
- 0122d68 e2e: add debug flag to simplify debugging
- 0cb9123 e2e: add possibility to run tests for a specific environment setup
- 8b15b1e e2e: avoid reading env var multiple times
- 21d8175 e2e: export test setups
- b7f0c16 e2e: extract run into e2e
- adc5418 e2e: make e2e.test phony
- 3a5d72e e2e: make waiting time configurable
- 545de07 e2e: move browser-pac.js to repo root
- 4c1bf0d e2e: move compose to utils
- ae817e3 e2e: move run/setups service and opts to forwarder
- c674f3c e2e: move tests to tests package
- 0f7b21d e2e: move wait to utils
- ff660f9 e2e: quote RUN and SETUP
- 0ce4f61 e2e: refactor setups and tests
- cfe326b e2e: refactor test setup creation
- b0f36b3 e2e: rename default to defaults
- 1400bc1 e2e: rename framework to client
- bc70897 e2e: rephrase why the 1xx tests are skipped
- afd22b5 e2e: status, check multiple methods
- 4efe0f0 e2e: test statusCodes for HEAD method
- f125caf e2e: use httpexpect.NewURLWithBasicAuth
- fc95df3 fix (readme): remove shorthand for "insecure" flag
- a53cee2 fix: improve logging
- 311759d go mod update github.com/saucelabs/martian/v3
- 02ebded http proxy: add function to return ProxyFunc used by the proxy
- 04bae21 http_server: debug log loading TLS certificate
- 7fbca70 http_transport: reduce dial timeout to 10s
- 7a43be8 runctx: add unit tests
- 1e70b19 runctx: ignore context canceled error
- edb6251 runctx: refactoring
- b3e7c66 runctx: unregister signals after ctx is done
- 3e6cd21 utils/compose: add Service healthcheck
- a906054 utils/compose: extract Service to separate file
- d9aa591 utils/compose: remove wait
- c7cf14a utils/httpexpect: add NewURLWithBasicAuth
- bcb914c utils/httpexpect: export Request function
- 890ea0e utils/wait: remove
v1.0.1
Changelog
- 3efddff Fix usage example
- 58c7f3f bind: export redact functions
- 12d16e8 bind: header, escape flag values
- 2fb7229 e2e/bench: fix linter issues
- cf90166 e2e/mk: add run-e2e, bench and adjust to test rework
- 7bb45fa e2e/mk: test, escape env vars that are copied from containers
- 26998fe e2e: add compose
- c79e602 e2e: delete bash scripts and configs
- 255afe1 e2e: framework, improve error logging
- 3b85685 e2e: gitignore docker-compose.yaml
- c120899 e2e: move httpexpect Client to its own util module
- d3e1ed3 e2e: remove go mod
- 0d6c07f e2e: replace httpexpect with light substitute
- e5929ce e2e: rework test and framework
- d4f675e e2e: rewrite test setups in go
- fb5946e e2e: test request and response headers modifiers
- 7afdd2a e2e: update readme
- 96af44d go mod tidy
- e99d1f8 go mod tidy
- 09371cd header: implement Stringer
- eab4074 http_server: move TLS{Cert,Key}File to TLSConfig
- 5e19ab0 utils/cobrautil: process env prefix
v1.0.0
Changelog
- 5dbecca Ingest templates from k8s.io/kubectl/pkg/util/templates as utils/cobrautil/templates
- d13ddf2 Revert "http_[server, proxy]: remove Listener field"
- a5bd54f Update LICENSE.3RD_PARTY
- 847a1d6 Update README.md
- 12ccf9a api: add explicit readiness check
- 6789a4b api: add index with links
- f662505 bind: improved format of configuration description
- 2326136 build(deps): bump golang.org/x/net from 0.2.0 to 0.7.0
- e2db0f0 build(deps): bump golang.org/x/net in /e2e
- e6daa9f cmd/forwarder/proxy: remove apiEndpoints from help
- 15d0495 cmd/forwarder/run: add -H, --header and -R --response-header flags
- 3d57492 cmd/forwarder: add httpbin by default as a hidden command
- 100d2fc cmd/forwarder: add support for config files
- 71a3aee cmd/forwarder: do not print command errors in main
- 954934f cmd/forwarder: mark flags as filename by flag name and/or usage
- 0a0d3e1 cmd/forwarder: move listing of supported PAC functions from help to README.md
- 871044a cmd/forwarder: on exit try to write error message to /dev/termination-log
- 30cc7a6 cmd/forwarder: rename "Flags" to "Options"
- c60c44d cmd/forwarder: rename --http-insecure to -k, --insecure
- d5c2cb4 cmd/forwarder: renaming and moving of subcommands
- bf47c10 cmd/forwarder: rework flags
- 510347a cmd/forwarder: use utils/cobrautil/templates
- 39e630c cmd: sort flags in help
- 557f176 cmd[pacserver,proxy]: pac, execute FindProxyForURL for validation
- 4eae47e config,dns: harden DNS server address parsing
- 6020dd7 config: URL decode username and password
- 941dc69 config: harden proxy URL parsing
- 7549d5b config: support UserInfo in proxy URL
- e350f66 e2e: add debug.yaml to turn on debug logs in proxy and upstream-proxy
- d879cf1 e2e: add readiness check in tests
- c2c65f3 go mod tidy
- 387a480 go mod update github.com/google/martian/v3
- a411a1d go mod update github.com/saucelabs/martian/v3 to v3.0.0-20230310141251-deabc39b934d
- f560858 header: a package to add and remove headers
- 1739270 http_proxy: Remove header removal
- 16a6be7 http_proxy: add Prometheus middleware if PromRegistry != nil
- 6e5ed37 http_proxy: add http handler support in testing
- e24ab26 http_proxy: config, add ConnectPassthrough
- 2bb6ac2 http_proxy: don't send the default Go HTTP client User-Agent
- 40b3871 httplog: reimplementation of http logging
- adc421d httplog: rename LoggerMode to Mode
- 8fe25c4 license: add Sauce Labs copyright to file header
- cd84787 license: apply MPL file header
- d6091aa license: full license content
- 395b909 log: replace verbosity with log levels
- a20ea0e utils/cobrautil/templates: add prefix based flags grouping
- ce90840 utils/cobrautil/templates: improve flags printing
- 6c9f1fd utils/cobrautil/templates: print persistent flags
- 8ef88cd utils/cobrautil/templates: support custom value information
- 4516877 utils/cobrautil/templates: support multiple prefixes in FlagGroup
- 1190573 utils/cobrautil/templates: use strings.Replacer for env vars names
- 696388b utils/cobrautil: add BindAll a helper function for binding flags, env vars and config files
- d3a70d1 utils/httpbin: ws, add websocket testing html page
- a9038cd utlils/httpbin: move httpbin to utils
v1.0.0-rc2
Changelog
- 972489a Fix logging in FindProxyForURL
- 065ea43 api: expose configuration
- d4f2e1e bind: allow to specify list of supported schemes
- 7e0536c bind: rename --log-http-requests to --log-http
- 34adc12 cmd,bind: group logging flags together
- 018e43c cmd,bind: log flags and theirs values in debug mode
- 4ea6cc3 cmd,bind: redact passwords in flags
- 1023c4d cmd/forwarder/proxy: move code around
- af5060a cmd/proxy: fix forwarder proxy usage example
- 7f4f821 credentials: support matching empty urls
- 88f87cc dockerfile: use distroless base image
- 7fd194d gh: release only on tags stating with v
- 6bdaf33 gh: release, do not run verify licenses and install dependencies
- 4963b90 gh: split build job into multiple jobs
- 31d5a15 ghaction: verify licenses on release
- 379b2ff go mod update github.com/mmatczuk/anyflag to v0.0.0-20230209112147-9567d4cab866
- b826ec0 go mod update github.com/saucelabs/martian/v3
- 4f62329 golangci: additional configuration
- 3635545 golangci: set funlen to 100 lines i.e. two screens
- 3ae2518 http proxy: use httplog.Logger
- 9cc4b85 http server: use httplog.Logger
- 94b86e6 http_[server, proxy]: add tunnel scheme
- 8d4d724 http_[server, proxy]: remove Listener field
- 6612769 http_proxy: don't use Host header in FindProxyForURL() host parameter
- b6f0a5f http_proxy: use http.RoundTripper instead of *http.Transport
- 724341f http_server: copy config
- 7180488 httpbin: delay handler return on context canceled
- 6097801 httpbin: do not use rand
- e0379b4 httpbin: status handler require body=true to write status text in response body
- 6131433 httplog: add http logger
- 88e45c1 httplog: change logging format to more pleasant
- 3890632 license: use ./cmd/forwarder as report root
- ea62107 log/stdlog: add Unwrap
- eda8b1c log: ingest Logger interface
- c2e9b4b make gen-licenses
- 6ed8113 middleware: add http.Response to the LogEntry
- 720b390 middleware: fix Prometheus registry assignment if nil
- 86b7c76 middleware: implement martian.RequestResponseModifier on Logger
- d09e1a8 middleware: use prometheus to gather proxy traffic metrics
- 23a9cf8 modifiers: add request modifier that removes headers by prefix
- 7e88fcf replace go.uber.org/atomic with sync/atomic
- dfdd17d utils/golden: promote Prometheus golden file testing to separate pkg
- e453e71 utlils/certutil: move cert generation to a standalone pkg
v1.0.0-rc0
Changelog
- d0eb3e7 .golangci-fmt.yml: add copyright
- 27860fe .golangci-fmt.yml: add gci
- 7803415 .golangci.yml: disable cyclop
- 1ff5ff4 .golangci.yml: disable nlreturn
- 3f5856a .golangci.yml: reconfigure linters
- 4a4b28d .golangci.yml: update configuration after adding pac
- d1538af .goreleaser.yml: modernize configuration and the produced binary
- 022abbb .version: add file to track tools versions
- 970c08d Bump Go version to 1.19.4
- 0af674d Bump GoReleaser to 1.13.1
- e177920 CHANGELOG.md: move to archive
- e09b5db CONTRIBUTION.md: remove recommendation to sign-off commits
- e8d4950 Dockerfile: add HEALTHCHECK
- 1882dfc Makefile: add update-devel-image target
- a967498 Makefile: remove integration-test and bench
- 6dd30f7 Makefile: test, disable verbose mode by default
- 06c69d8 Merge pull request #109 from saucelabs/mmt/clean-proxy
- 19046ae Rename "master" to "main"
- 7fb34b7 Update README.md
- ced1f63 Update github.com/saucelabs/martian/v3 from 6423d41 to 9457eff
- 35ba30f add ReadHostsFile a function to read /etc/hosts content
- b90f02f allow skipping TLS verification for client connections
- c4f1aba api: APIHandler extensions
- e00df75 api: add API handler and server
- c5bc6ab api: add version
- 70dc925 api: assign pac
- 27e7477 api: remove "/debug/pprof/cmdline" endpoint
- a29e6ac basic auth: add BasicAuthUtil a standalone basic auth implementation with ability to set the authentication header
- fd6ef0e bind: HTTPServerConfig, change addr to address for clarity
- 40b4820 bind: add MarkFlags helpers
- ccde1c6 bind: ingest all the forwarder *Config flag binding
- 92d690c cert: add self-signed certificate generation
- 9ececba cert: set Host to "localhost"
- a672f99 cmd/forwarder/httpbin: run api server
- eefc9d2 cmd/forwarder/proxy: adjust to proxy changes and improve help
- 0cfdd3c cmd/forwarder/proxy: change default proxy port to 3128
- 3630215 cmd/forwarder/proxy: optionally check for leaked go routines
- 3ef3810 cmd/forwarder/run: bind HTTPTransportConfig values
- 9e32a18 cmd/forwarder/run: flags, mark "upstream-proxy-uri", "pac-uri" flags mutually exclusive
- 548acae cmd/forwarder/run: flags, readability whitespace changes
- cb207b0 cmd/forwarder/run: flags, remove defaults specified manually in usage
- c3f9cdd cmd/forwarder/run: flags, remove misleading information on env vars in long description
- 3befc6b cmd/forwarder/run: forwarderLogger, add new line to format
- 194d2df cmd/forwarder/run: integrate the new HTTP server
- 036575a cmd/forwarder/run: refactor binding config values to methods
- 7d8e7d1 cmd/forwarder/run: remove "sets" prefix from command descriptions
- 8c22634 cmd/forwarder/run: use DefaultProxyConfig
- a996d07 cmd/forwarder: add httpbin command implementing elements of httpbin.org API
- 361c447 cmd/forwarder: add httpbin only if e2e tag is provided
- 011b262 cmd/forwarder: add pac-server and pac-eval commands
- c7ed88a cmd/forwarder: bind flag values from environment variables
- 572d7f3 cmd/forwarder: fix short descriptions
- 35c456e cmd/forwarder: main, handle Execute error
- eb5d920 cmd/forwarder: modernize logger configuration
- f29588d cmd/forwarder: move PAC supportedFunctions to root
- c525fdd cmd/forwarder: move run command to separate package
- 92f4fad cmd/forwarder: move version command to separate package
- a99b171 cmd/forwarder: remove global state and init function
- 3247b51 cmd/forwarder: rename run to proxy and update its help
- 3e9e2d1 cmd/forwarder: use anyflag to correctly parse *url.URL and []*url.URL
- c8c3853 cmd/forwarder: version, use fmt.Fprintln instead of fmt.Print
- a671349 cmd/forwarder: wrap long descriptions at 80 chars
- 96f9b8c cmd: move forwarder main to cmd/forwarder
- 7ce512a config: add OpenFileParser a parser generator for calling os.OpenFile
- cc44518 config: drop the URI and -uri suffixes
- 2b7515b config: remove deepCopy and config cloning
- fef8c5c credentials: matcher minor fix in doc string
- eab3693 credentials: refactor userInfoMatcher into CredentialsMatcher
- f60ea43 dns: reduce scope of custom DNS server setting to proxy
- 5bf88c1 dns: skip DNS lookup test in CI
- 628d623 doc: remove information on env variables in forwarder package
- ebdd77f e2e: COMPOSE rewriting improvement
- 7b41f97 e2e: add BadGateway and Localhost proxying tests and improve the framework
- a8ba71d e2e: add PAC tests
- e8eb417 e2e: add httpbin service to docker-compose.yaml
- b30e70b e2e: add proxy-h2.yaml
- 0b5ce14 e2e: add tools for benchmarking proxy
- b8f2ac7 e2e: add upstream test with upstream using HTTP and HTTPS
- fbb1a34 e2e: document test development quickstart
- 529fb79 e2e: end-to-end testing framework and status check test
- 5cf5873 e2e: expose proxy ports for manual inspection
- a75a95a e2e: make test, copy proxy container env vars to test runner container
- deff5a4 e2e: make test, read RUN from environment
- b59c7f4 e2e: more tests and a refactoring
- ffb5df9 e2e: port tests to httpexpect
- ea9c9ea e2e: use docker compose instead of docker-compose
- 4973eb5 fileurl: add support for interpreting "-" as stdin
- 365a70b fileurl: module for correct parsing file paths and URLs with special focus on RFC 8089
- f862d80 fix table driven tests
- 7bbe893 gh: go, modernize running golangci-lint
- ae7a470 gh: release, skip docker builds temporarily
- e8d51ba gh: remove CODEOWNERS
- e79fad1 gh: remove Docker Layer Cache
- a82af8f gh: run e2e tests
- fdab1b8 gh: update release.yml due deprecation errors
- aab7ff0 go get -u github.com/dop251/goja
- fe2867a go get -u github.com/mmatczuk/anyflag
- d965dd7 go get go.uber.org/atomic
- c3c9891 go mod add github.com/mmatczuk/anyflag
- 2da90a7 go mod add github.com/spf13/viper v1.10.0
- 901c3bf go mod add go.uber.org/goleak
- 5b631fc go mod replace github.com/elazarl/goproxy => github.com/mmatczuk/goproxy
- fb7b895 go mod tidy
- 75dfe51 go mod tidy
- 719dd49 go mod tidy
- 69b0c76 go mod tidy
- 5550e86 go mod update github.com/elazarl/goproxy
- 43c3432 go mod update github.com/mmatczuk/anyflag
- d194a31 golangci: allow nop implementations to be unused
- db8d197 golangci: allow w.Write without error check
- 3b8d615 golangci: configure gomnd not to see common values as magic numbers
- d90a8c6 golangci: disable bodyclose in tests
- 9b887a3 golangci: disable nosnakecase
- 6aa5260 golangci: ignore expvar.Var interface
- 7cea87a goreleaser: add DEB and RPM builds
- 37afd7d goreleaser: build docker images
- 1d72d38 handle errors in tests
- e4f0a88 http proxy: add rules for checking if request targets localhost
- 4b5f5ef http proxy: extract http transport to separate file
- 86280d0 http proxy: pac, PROXY means HTTP proxy
- 1e12b5c http proxy: refactor proxy to http proxy
- a1af873 http proxy: remake using the new building blocks
- 53dc6d8 http proxy: tests, make assertRequest a test helper
- dc205f8 http server: add a function that returns the actual listen address
- bc6c296 http server: add reusable HTTP server
- 35512ba http server: bind to all addresses IPv6 and IPv4
- a9a7fa2 http server: generate self-signed certificate if no certificate is provided
- 4a760a0 http server: log requests
- 26fc955 http server: rename getLister to listener
- 976e24d http transport: add Dial from configured net.Dialer
- fef2ed2 http_proxy: improve HTTP error responses
- b160bac httpbin: add Server Sent Events endpoint
- df99df5 httpbin: add WebSocket echo endpoint
- 9ac308f httpbin: delayHandler change units from seconds to millis
- 0b4478c internal/credential,credentials: refactored to use *url.UserInfo for basic auth
- 87eab11 internal/logger: remove
- 8fa9a79 internal/util: move to root
- 0dce31b internal/validator: move to validation
- 314744a internal/validator: move to validator
- 3b634ca internal/version: move version information to cmd/forwarder
- 6fe6cdf license: add MPL to the license file
- 6069aa7 license: remove Fernando
- b8a6708 log/stdlog: add log message decorator
- d65a19b log/stdlog: use verbose value from log.Config
- 9497f6f log: adjust configuration to sc, and modernize logging
- 64a869e log: export NopLogger
- 9c87984 middleware: add prometheus HTTP server middleware
- 87d51a6 middleware: basic auth, always use AuthorizationHeader in NewBasicAuth()
- 002ffc4 middleware: basic auth, remove SetBasicAuth and SetBasicAuthFromUserInfo
- 9e724d0 middleware: ingest basic auth
- 1c103b6 mk: install-dependencies, add golang.org/x/tools/cmd/stringer
- 596a7a7 pac: add FindProxyForURL result parser and Proxy type
- 73e8e7d pac: add ProxyResolver the PAC runtime
- 87e98cb pac: add ProxyResolverPool a thread-safe ProxyResolver variant
- 67842b2 pac: add SOCKS5 mode
- bdbc6e6 pac: add SupportedFunctions
- 8bce045 pac: change return type of FindProxyForURL to string
- 4403527 pac: fail if both FindProxyForURLEx and FindProxyForURL are present
- 9ff7b42 pac: ingest Mozilla ascii_pac_utils.js script
- 422ab8a pac: rename FindProxyForURLAndHostname to FindProxyForURL
- b1be64b pac: test, ingest Chromium testcases
- 970e230 pac: test, ingest ldx/libpac testcases
- 357ae5f pac: test, run Chromium testcases
- 18ef318 pac: test, run ldx/libpac testcases
- 9598409 packaging: fix forwarder.service
- bf6508b pkg/proxy: move all files to root
- d4ccd7a proxy: ProxyConfig use *url.URL for URIs
- 169bd07 proxy: add FIXME with GH issue for security issues
- b64b931 proxy: add FIXME without GH issue for code complexity issues...
- 10f3ed7 proxy: add forwarder Logger interface
- c12cbb5 proxy: add logRequest helper
- e0ef36f proxy: change NewProxy to accept *ProxyConfig
- cb0a13b proxy: config, validate PACURI as URI
- 0a5833d proxy: export mode to separate file and change to uint8
- 4d52130 proxy: harden localhost proxying
- aa5f5df proxy: init, configure proxy before running
- 19621e5 proxy: init, minor refactoring of setupBasicAuth
- c4a94f6 proxy: init, move calling goproxy.NewProxyHttpServer to setupProxy.
- 8ba42f6 proxy: init, remove overwriting default transport
- e051800 proxy: init, setup DNS before calling PAC server
- c4b193d pro...
v0.3.4
- Fixing bug in localhost detection
v0.3.3
- Updated dependencies
v0.3.2
- Updated dependencies - Linting
v0.3.1
- Improved logging for PAC-proxied requests