Skip to content

Releases: LyleMi/ja3proxy

v0.5.1

Choose a tag to compare

@LyleMi LyleMi released this 16 Jun 22:42

What's Changed

Features

  • Added hot-reloadable TLS fingerprint configuration via -fingerprint-config.
    • Supports loading client and version from a JSON file.
    • New HTTPS CONNECT connections use the latest loaded fingerprint.
    • Existing tunnels continue using the fingerprint they were opened with.
  • Fixed CONNECT response handling for clients such as ffprobe.
  • Aligned ALPN behavior between client-side and upstream TLS connections.
  • Avoided mutating Go's default HTTP transport.
  • Passed HTTP transport traffic through the configured upstream dialer.

Improvements

  • Added SOCKS5 upstream proxy handling improvements.
  • Moved CLI source into cmd/ja3proxy.
  • Changed default generated CA paths to:
    • credentials/cert.pem
    • credentials/key.pem
  • Updated Docker runtime paths and Docker context ignores.
  • Updated Makefile output paths so release binaries are written under bin/.
  • Expanded README with usage, Docker, certificate, fingerprint, and development docs.

Testing

  • Added end-to-end proxy tests.
  • Added JA3 fingerprint verification coverage.
  • Added unit tests for proxy handlers, MITM CONNECT flow, upstream dialer construction, custom TLS wrapping, certificate handling, debug writer behavior, and
    edge cases.

Dependencies and CI

  • Updated github.com/refraction-networking/utls from v1.6.7 to v1.8.2.
  • Updated github.com/cloudflare/cfssl from v1.6.4 to v1.6.5.
  • Updated golang.org/x/net from v0.23.0 to v0.38.0.
  • Updated GitHub Actions dependencies:
    • actions/checkout to v6
    • actions/setup-go to v6
    • docker-build-push action to v7
  • Added Dependabot configuration for Go modules and GitHub Actions.

Upgrade Notes

The default certificate files are now stored under credentials/ instead of the repository root. If you previously relied on cert.pem and key.pem in the
current directory, either move them to credentials/cert.pem and credentials/key.pem, or pass explicit paths with -cert and -key.

Full Changelog

v0.4...v0.5.1

v0.4 Added newer version of dependencies

Choose a tag to compare

@LyleMi LyleMi released this 10 May 12:17

What's Changed

  • Added newer version of dependencies (e.g. utls) for new browsers compatibility by @antoniolch in #17

New Contributors

Full Changelog: v0.3...v0.4

v0.3 Add upstream and other optimizations

Choose a tag to compare

@LyleMi LyleMi released this 10 Jul 12:08
e92f559

What's Changed

  • Load certificate at startup by @rosahaj in #9
  • fix: reply with sni-specific certs by @rosahaj in #11
  • fix: stop goroutine leaks by ensuring both goroutines exit properly by @huboh in #14

New Contributors

  • @huboh made their first contribution in #14

Full Changelog: v0.2...v0.3

v0.2 add docker support

Choose a tag to compare

@LyleMi LyleMi released this 06 Jan 04:39
2b2e352

What's Changed

  • Add Docker support by @rosahaj in #4
  • Generate cert and key at paths specified through CLI by @rosahaj in #6
  • Use Config struct instead of passing values to generateCertificate by @rosahaj in #8

New Contributors

Full Changelog: v0.1...v0.2

v0.1

Choose a tag to compare

@LyleMi LyleMi released this 08 Jul 04:16

Init releases