Skip to content

Releases: google/martian

refactoring to avoid flag definition clash

16 Apr 18:31
0f7e679
Compare
Choose a tag to compare

refactoring to avoid flag definition clash

What's Changed

  • Support customer logger by @surki in #330
  • refactoring to avoid flag definition clash by @phaus in #336

Full Changelog: v3.3.2...v3.3.3

Moves flag parsing to main.go from init

14 Mar 20:25
b418696
Compare
Choose a tag to compare
v3.3.2

moving flag.Parse() from init to main function(s) fixes #309 (#334)

v3.2.1

19 May 22:07
7e75073
Compare
Choose a tag to compare

Adds a noop modifier in a noop package with a JSON api

v3.2.0

19 May 20:20
19163e1
Compare
Choose a tag to compare

Adds support for HTTP/2 request and response modification.
Adds support for proxying gRPC traffic without any modification

v3.1.0

19 Oct 15:46
dacbe1a
Compare
Choose a tag to compare
Using strings.EualFold() for efficient string comparison (#305)

Go modules support and version bump to v3.0.0

09 Jul 01:42
b99070a
Compare
Choose a tag to compare

Added Go modules support and bumped version up to 3.0.0 to signify the change.

This version also added method filters since the last release.

Martian Proxy v2.1.0

28 Sep 21:54
195b986
Compare
Choose a tag to compare
  • main.go uses 2 ports: 1 for proxy traffic the other for proxy API traffic
  • proxy API traffic that comes over the traffic port is forwarded to the API port
  • servemux.Filter is a new filter
  • api.Forwarder is a new modifier
  • marbl_modifier is a log streamer that streams logs over a websocket
  • remove custom response_writer used for handling API and proxy traffic over the same port
  • traffic shaping API

Martian Proxy v.2.0.0-beta.2

24 Aug 04:57
Compare
Choose a tag to compare

Changes from v2.0.0-beta:

  • MessageView: static snapshots of net/http's Request or Response structs. Useful for logging or any functionality when you need to read the full request or response (including the body), but do not want to alter the request or response in any significant way. The martianlog Logger now depends on this.
  • Separate out the logging functionality provided by martian into a log package to break cyclic dependency between mitm and martian while allowing them to share unified logging.

Martian Proxy v.2.0.0-beta

14 Aug 21:49
Compare
Choose a tag to compare

Martian v2.0.0 addresses several issues experienced in common usage of the proxy.

Major Changes:

  • Martian Proxy v.2.0.0 requires Go 1.5 for changes to crypto/tls and tls.Config.GetCertificate.
  • RequestModifier and ResponseModifier interface changes.
    ModifyRequest(*martian.Context, *http.Request) error -> ModifyRequest(*http.Request) error
    ModifyResponse(*martian.Context, *http.Response) error -> ModifyResponse(*http.Response) error
  • Contexts have been made "optional" for modifiers, they still exist and can be obtained by calling martian.Context(*http.Request) in the modifier.
  • Contexts now provide per request/response and session storage for modifiers and have been moved to their own package called session.
  • Proxy no longer acts as an http.Handler, it takes a net.Listener directly in Serve(net.Listener). This also means that the martianhttp API has been separated from the proxy and must be run separately.
  • MITM now supports generating certificates from the TLS SNI extension if provided.
  • Auth is now provided by the auth.Context rather than the normal context, it can be retrieved from a normal context using auth.FromContext(*session.Context).

Martian Proxy v.1.0.0

31 Jul 19:19
Compare
Choose a tag to compare

This is the initial public release of Martian Proxy.