Releases: wi1dcard/fingerproxy
v0.3.0
This release introduced a few new features, some bug fixes, and one breaking change. Performance, tests, and error handling has been signaficantly improved.
Notable changes listed below.
Breaking Change
In commit 78b2ab0, variable fingerproxy.DefaultReverseProxyHTTPHandler
has been renamed to fingerproxy.GetReverseProxyHTTPHandler
. Now fingerproxy.DefaultReverseProxyHTTPHandler
is a function instead of a variable. The default value of GetReverseProxyHTTPHandler
is DefaultReverseProxyHTTPHandler
.
Kubernetes Liveness Probe
Commit 480707b introduced support of Kubernetes Readiness and Liveness probes. Example:
apiVersion: v1
kind: Pod
metadata:
name: fingerproxy
spec:
containers:
- name: fingerproxy
image: fingerproxy
livenessProbe:
httpGet:
path: /
port: 443
scheme: https
It is possible to use your prober as well. Check out HTTPHandler.IsProbeRequest
.
Debug Server (pprof)
Build with tag debug
to enable the debug server.
Handle Plain HTTP Requests
Fingerproxy now returns a HTTP 400 Bad Request
if clients send plain HTTP requests before closing the connection.
TLS Handshake Timeout
TLS handshakes now has a default timeout of 10 seconds.
JA4 Fixes
89a31de Fixed non-ascii ALPN.
f095b8d Fixed "extension data should not be empty" while parsing pre_shard_key extension.
CI tests
Many tests have been added in CI to improve observability and prevent possible memory leak. Check out GitHub Actions.
Full Change Log
390ff19 (HEAD, tag: v0.3.0, origin/master) Add tests for reverseproxy.
480707b Add support for Kubernetes liveness/readiness probes.
4c307fa Improve e2e memtest.
a047cc8 Fix CI build-test-deps.
7a5a318 Add /fingerproxy to .gitignore.
1ff645f Add e2e memtest.
05f964d Improve CI tests.
25160f9 Add todo customize transport.
78b2ab0 Breaking change: rename DefaultReverseProxyHTTPHandler to GetReverseProxyHTTPHandler.
2809a6c Move verbose print client hello data to proxyserver.
a3cd1f2 Run e2e test with fingerproxy, not echo server.
3504cc0 Add JA4 benchmark.
2d8c796 Add CI load test. (#4)
7dca465 Fix echo server didn't return after error.
b243ddb Improve hijack error handling.
633573e Do not return incomplete ClientHello.
d061743 Refactor capture ClientHello to reduce memcopy and support TLSHandshakeTimeout.
3e45a0b Update vlogf.
2c33d47 Cleanup TODO.
38a0a0b Verbose log client hello in header injector.
bcf6363 Print raw ClientHello record in echo server.
5e21a19 Improve HTTP/1.1 server error handling.
df09abd Separate CI "release" workflow.
a1831f9 Add e2e test. (#3)
08b4ce3 Improve channel listener.
a1266ef Improve JA4 tests.
89a31de Fix non-ascii ALPN.
b05eecb Fix CI test. (#2)
a22cdda CI test.
f095b8d Fix "extension data should not be empty" while parsing pre_shard_key extension.
v0.2.0
dd7909d (HEAD, tag: v0.2.0, origin/master) Organize global vars.
61a6455 Move a few vars to const.
27c481d Refactor DefaultReverseProxyHTTPHandler to allow customization (#1)
8f51e92 Return user-agent in echo-server.
36c6ec9 Support JSON output in echo-server.
3f1f249 Keep -x shell option only in gencert.sh for older bash.
6fc41e5 Use bash for gencert.sh.
9f94498 Add example/echo-server.
4abe4a8 Update sync script in README.md.