* Leakage class
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix lint issues
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* `--inactive-conn-cleanup-timeout`
* Specify default in docs
* Update README
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Clarify usecase is comments
* Lint
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Rewrite Host header during reverse proxy
* bring back `VERIFIED6`
* Lint fixes
* `--rewrite-host-header` flag
* Pass `--rewrite-host-header` for integration tests
* expect `httpbingo.org` as header now due to host rewrite
* Also pass flag during build & test suite
* `GroutClientBasePlugin`
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Silence `S113` false positive
* Remove example url
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* TLS intercept conditionally
* Lint fixes
* Fix test assertions
* Fix tests
* Bump `sphinxcontrib-spelling == 8.0.0` due to deprecated pypi XML APIs, ref https://github.com/pypi/warehouse/issues/16642
* Disable spellcheck-docs for now until we have a clear path forward
* Fix client for HTTPS endpoints for python 3.12
* Use only `DEFAULT_SSL_CONTEXT_OPTIONS` to prevent `CRIME` attacks
* lint fix
* install certifi types
* pre commit
* Avoid using dep options for >=3.10
* More tests
* Fix lint issues
* Use `3.12` by default everywhere
* Skip `grout -h` test on windows
* Add http only test
* Rollback to python versions, 3.12 causes doc/lint failures
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Keep proxy.py benchmarking on so that users dont run into surprises
* Install certifi
* No need of certifi
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Add metrics server endpoint
* Setup metrics subscriber
* `MetricsSubscriber` as context manager
* Fix lint issues
* `--enable-metrics` flag which setup Metrics subscriber, collector and web endpoint
* Use file storage based mechanism to share internal metrics with prometheus exporter endpoint
* Lint fixes
* Move `_setup_metrics_directory` within subscriber which only run once
* Use global `metrics_lock` via flags
* Remove top-level imports for prometheus_client
* Add `requirements-metrics.txt`
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix typo in makefile
* Fix typo
* fix type, lint, flake issues
* Remove event queue prop
* Fix typo
* Give any role to `proxy.http.server.metrics.get_collector`
* rtype
* `emit_request_complete` for web servers
* Fix doc issues
* Refactor
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Rename metrics to start with proxypy_work_
* Startup `MetricsEventSubscriber` as part of proxy
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Disable mandatory TLS verification with --insecure
* Fix lint issues
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix type issues with `cert_der_to_dict`
* Flake8 exception
* Fix `cert_der_to_dict` where file may not be writter before it is gets used by `_test_decode_cert`
* Silence lint issue due to pylint bug
* Rename flag to `--insecure-tls-interception`
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Reuse `DEFAULT_SSL_CONTEXT_OPTIONS`
* # noqa: WPS436
---------
Co-authored-by: d4x <d_4xfe@proton.me>
Co-authored-by: d4xfe <168460626+d4xfe@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Support for Python 3.12
* Use `assert_called_once_with` and not `called_once_with`
* lint fix
* Fix `test_pac_file_served_from_disk`
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Remove use of ssl.wrap_socket
ssl.wrap_socket() has been deprecated since Python 3.7, and isn't
recommended for use, and further, has been removed in Python 3.12.
ssl.SSLContext().wrap_socket() is the new path forward, so switch the
one callsite and the two test cases to use it instead.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix `SSLContext.wrap_socket` params and reusable `DEFAULT_SSL_CONTEXT_OPTIONS`
* Fix test cases
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix e2e tests???
---------
Co-authored-by: Steve Kowalik <steven@wedontsleep.org>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Add documentation around `Grout Wildcard` support
* Fix spellcheck
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Add `ModifyRequestHeaderPlugin`
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Add to README
* Fix lint issues shown by `Python3.11.8`
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Include `openssl` in docker images to let users try TLS interception using dockerhub images
* Include `requirements-tunnel.txt` within docker image to let users try tunneling using docker images
* Docker is always using py311+, hardcode for now
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Simply `apk add py-cryptography`
* --prefer-binary
* Build deps for cryptography
* make required by pynacl
* Prepare to use base image once it has been published
* Prepare image from `ghcr.io/abhinavsingh/proxy.py:base`
* --no-cache-dir to avoid pip cache bloating
* Optimize base image size
* Use find
* `-y`
* Cut final image `FROM python:3.11-alpine`
* Remove global setuptools and local pip too
* wheel it too
* end and flush
* Try `42.0.4` in next base
* Full path cleanup
* SSL in final copy
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* SSH handler/listener plugins
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Readme updated
* Fix listener tests
* pyclassrole
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Trigger rebuild
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Trigger build
* pre-commit default language version 3.10
* Language version
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Reverse proxy enhancements
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>