Releases: google/martian
Releases · google/martian
refactoring to avoid flag definition clash
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
v3.3.2 moving flag.Parse() from init to main function(s) fixes #309 (#334)
v3.2.1
Adds a noop modifier in a noop package with a JSON api
v3.2.0
Adds support for HTTP/2 request and response modification.
Adds support for proxying gRPC traffic without any modification
v3.1.0
Using strings.EualFold() for efficient string comparison (#305)
Go modules support and version bump to v3.0.0
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
- 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
Changes from v2.0.0-beta:
- MessageView: static snapshots of net/http's
Request
orResponse
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. Themartianlog
Logger now depends on this. - Separate out the logging functionality provided by martian into a
log
package to break cyclic dependency betweenmitm
andmartian
while allowing them to share unified logging.
Martian Proxy v.2.0.0-beta
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 anet.Listener
directly inServe(net.Listener)
. This also means that themartianhttp
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 usingauth.FromContext(*session.Context)
.
Martian Proxy v.1.0.0
This is the initial public release of Martian Proxy.