| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
| |
Fell into the "expensive __eq__ method" trap. Oh, Python, you little scamp.
|
|
|
|
|
| |
The naive approach we used before recalculated the view on every access, and
consequently had serious performance problems.
|
| |
|
|\ |
|
| | |
|
|/
|
|
| |
Tests now only assume Python 2.6.x rather than requiring 2.7.x. This does not preclude the use of flags as a kwarg in replace
|
|
|
|
|
| |
This shows client connections, disconnections and requests (before a complete
flow is assembled). We need to add an analogous display to mitmproxy.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This is a common task in pentesting scenarios. This commit adds the following
functions:
utils.Headers.replace
proxy.Request.replace
proxy.Response.replace
flow.Flow.replace
|
| |
|
|
|
|
|
| |
- Push decoding down into the LRU cache
- Cope gracefully with corrupted data and incorrect encoding headers
|
| |
|
| |
|
|
|
|
|
| |
This is on by default, which means we avoid compressed content unless the -z
flag is specified.
|
|
|
|
| |
Make it match the behaviour of vim and mutt more closely
|
| |
|
|
|
|
|
| |
This fixes a bug that caused a traceback when de-serialized requests were
replayed. Also adds unit tests for the problem.
|
|
|
|
|
| |
Also rename the display modes ("pretty" instead of "indent"), and expand the
built-in documentation.
|
|
|
|
|
|
|
|
|
|
| |
Two different strategies here:
- Use a simple heuristic to detect if we're looking at XML data when indent
mode is used. On non-XML data we can hang even on small documents.
- Only view partial data for large bodies. At the moment the cutoff is
100k. I might finetune this later.
|
|
|
|
|
|
|
|
|
|
|
|
| |
- The OpenSSL x509 has no way to explicitly set the notBefore value on
certificates.
- If two systems have the same configured time, it's possible to return a
certificate before the validity start time has arrived.
- We "solve" this by waiting for one second when a certificate is first
generated before returning the cert. The alternative is to rewrite pretty much
all of our certificate generation, a thought too horrible to contemplate.
|
|
|
|
|
| |
We now simulate the normal connection flow when we load flows. That means
that we can run scripts, hooks, sticky cookies, etc.
|
| |
|
|
|
|
|
|
|
| |
This allows us to replay an HTTP Authorization header, in the same way as we
replay cookies using stickycookies. This lets us conveniently get at HTTP Basic
Auth protected resources through the proxy, but is not enough to do the same
for HTTP Digest auth. We'll put that on the todo list.
|
|
|
|
| |
It matches user expectations much better to have new flows appended to the bottom.
|
|
|
|
|
|
|
|
|
|
|
| |
We now create three different files in the .mitmproxy directory when a dummy CA
is made:
mitmproxy-ca.pem - the CA, including private key
mitmproxy-ca-cert.p12 - A pkcs12 version of the certificate, for distribution to Windows.
mitmproxy-ca-cert.pem - A PEM version of the certificate, for distribution to everyone else.
|
|
|
|
| |
Prompting the user for this is annoying.
|
| |
|
|
|
|
|
| |
This enables scripts, anticache, server playback and sticky cookies for
request replays.
|
|
|
|
|
|
|
|
| |
- Computing the view of a large body is expensive, so we introduce an LRU cache
to hold the latest 20 results.
- Use ListView more correctly, passing it individual urwid.Text snippets,
rather than a single large one. This hugely improves render time.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
E.g. if you set a limit, then re-enter the limit prompt, you start with the
currently set value.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Also, make cookie parsing for refreshing more error-tolerant.
|
| |
|
|
|
|
|
|
|
| |
This removes all headers that might cause a server to return 304-not-modified.
For now, all the new features are going into mitmdump - everything will be
ported over to mitmproxy once I have the feature set locked down.
|
|
|
|
|
|
| |
Format is:
(tm_year,tm_mon,tm_mday,tm_hour,tm_min, tm_sec,tm_wday,tm_yday,tm_isdst)
|
|
|
|
| |
Like client playback, the --keepserving option makes mitmdump keep serving.
|
|
|
|
| |
Add an option --keepserving to make it keep serving after replay.
|
|
|
|
| |
Use these in unit tests where sensible.
|
| |
|