Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Improve performance of loading flows from a file hugely. | Aldo Cortesi | 2011-08-01 | 1 | -3/+0 | |
| | | | | Fell into the "expensive __eq__ method" trap. Oh, Python, you little scamp. | |||||
* | Refactor the way we calculate views of the flow list. | Aldo Cortesi | 2011-08-01 | 1 | -27/+47 | |
| | | | | | The naive approach we used before recalculated the view on every access, and consequently had serious performance problems. | |||||
* | Changes replace logic to function in both Python 2.6.x and 2.7.x | Stephen Altamirano | 2011-07-26 | 1 | -5/+5 | |
| | | | | 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 | |||||
* | Fix crash when sticky cookies are read from file. | Aldo Cortesi | 2011-07-24 | 1 | -1/+1 | |
| | | | | Cookielib expects strings, not unicode. | |||||
* | Add utility functions to search and replace strings in flows | Aldo Cortesi | 2011-07-22 | 1 | -0/+12 | |
| | | | | | | | | | | 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 | |||||
* | Removes should_autodecode attribute from Response. Adds commandline option ↵ | Stephen Altamirano | 2011-07-21 | 1 | -0/+1 | |
| | | | | 'd' to toggle autodecode, adds togglable option 'd' to do the same | |||||
* | Adds support for content encoding, namely gip and deflate | alts | 2011-07-16 | 1 | -3/+6 | |
| | ||||||
* | Introduce an anti-compression command-line argument. | Aldo Cortesi | 2011-07-15 | 1 | -0/+3 | |
| | | | | | This is on by default, which means we avoid compressed content unless the -z flag is specified. | |||||
* | Rewrite Headers object to preserve order and case. | Aldo Cortesi | 2011-07-14 | 1 | -3/+4 | |
| | ||||||
* | Don't redraw the screen more often than necessary. | Aldo Cortesi | 2011-06-27 | 1 | -1/+1 | |
| | ||||||
* | Don't backup flows before replay. | Aldo Cortesi | 2011-06-23 | 1 | -1/+0 | |
| | | | | This lets us revert to the original request, even after replaying an edit. | |||||
* | Add -r option to mitmdump and mitmproxy. | Aldo Cortesi | 2011-05-15 | 1 | -5/+3 | |
| | | | | | | This option reads a set of flows from a file. I've also regularized the mitmdump and mitmproxy command-line signatures by removing mitmproxy's old way of specifying flow loads through naked arguments. | |||||
* | Add a new flow loading mechanism. | Aldo Cortesi | 2011-05-15 | 1 | -4/+21 | |
| | | | | | We now simulate the normal connection flow when we load flows. That means that we can run scripts, hooks, sticky cookies, etc. | |||||
* | Add a stickyauth option. | Aldo Cortesi | 2011-03-20 | 1 | -0/+32 | |
| | | | | | | | 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. | |||||
* | Reverse order of flows in mitmproxy. | Aldo Cortesi | 2011-03-20 | 1 | -1/+1 | |
| | | | | It matches user expectations much better to have new flows appended to the bottom. | |||||
* | Server replay shortcut in mitmproxy can now be used to interrupt a current ↵ | Aldo Cortesi | 2011-03-18 | 1 | -0/+3 | |
| | | | | replay. | |||||
* | Client playback shortcut in mitmproxy can now be used to interrupt a current ↵ | Aldo Cortesi | 2011-03-18 | 1 | -0/+3 | |
| | | | | client playback. | |||||
* | Interrupt interception when deleting an intercepting flow. | Aldo Cortesi | 2011-03-15 | 1 | -7/+5 | |
| | | | | Prompting the user for this is annoying. | |||||
* | Do pre-processing of requests before replay. | Aldo Cortesi | 2011-03-15 | 1 | -31/+36 | |
| | | | | | This enables scripts, anticache, server playback and sticky cookies for request replays. | |||||
* | Add client plaback to mitmproxy. | Aldo Cortesi | 2011-03-13 | 1 | -3/+3 | |
| | ||||||
* | Rejigger status bar somewhat. Add indicators for various bits of state. | Aldo Cortesi | 2011-03-13 | 1 | -0/+2 | |
| | | | | | In particular, we now display limits, sticky cookie expressions and intercepts in the bar. | |||||
* | Fix stickycookie setting, indented view traceback. | Aldo Cortesi | 2011-03-13 | 1 | -0/+2 | |
| | ||||||
* | mitmproxy prompted input now display previously set value. | Aldo Cortesi | 2011-03-13 | 1 | -5/+22 | |
| | | | | | E.g. if you set a limit, then re-enter the limit prompt, you start with the currently set value. | |||||
* | Handle invalid bind address specifications gracefully. | Aldo Cortesi | 2011-03-12 | 1 | -0/+2 | |
| | ||||||
* | Make mitmdump handle invalid serialized data gracefully. | Aldo Cortesi | 2011-03-11 | 1 | -3/+10 | |
| | ||||||
* | Display Errors and killed connections in mitmdump. | Aldo Cortesi | 2011-03-11 | 1 | -5/+3 | |
| | ||||||
* | Add --norefresh to stop refreshing server playback to mitmdump. | Aldo Cortesi | 2011-03-11 | 1 | -0/+6 | |
| | | | | Also, make cookie parsing for refreshing more error-tolerant. | |||||
* | Add an --anticache option to mitmdump. | Aldo Cortesi | 2011-03-09 | 1 | -0/+3 | |
| | | | | | | | 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. | |||||
* | Move version constants to version.py, add version to serialized flows. | Aldo Cortesi | 2011-03-09 | 1 | -1/+2 | |
| | | | | | For now, we don't do anything with the serialized version info, but this should give us some future-proofing for serialization format changes. | |||||
* | Make mitmdump server playback also exit by default. | Aldo Cortesi | 2011-03-06 | 1 | -4/+9 | |
| | | | | Like client playback, the --keepserving option makes mitmdump keep serving. | |||||
* | Make mitmdump exit after client replay is complete by default. | Aldo Cortesi | 2011-03-06 | 1 | -4/+16 | |
| | | | | Add an option --keepserving to make it keep serving after replay. | |||||
* | Add flow_count and active_flow_count methods to flow.State. | Aldo Cortesi | 2011-03-06 | 1 | -9/+19 | |
| | | | | Use these in unit tests where sensible. | |||||
* | Bump unit tests, rearrange mitmdump command-line options slightly. | Aldo Cortesi | 2011-03-06 | 1 | -0/+1 | |
| | ||||||
* | Allow client replays to be replayed against server replays. | Aldo Cortesi | 2011-03-06 | 1 | -1/+3 | |
| | | | | Useful for testing. | |||||
* | Add client replay options to mitmdump. | Aldo Cortesi | 2011-03-06 | 1 | -4/+3 | |
| | ||||||
* | Massage namespace to make room for client replay. | Aldo Cortesi | 2011-03-05 | 1 | -8/+24 | |
| | | | | Mostly replay -> server_replay | |||||
* | Basic client playback state structure. | Aldo Cortesi | 2011-03-04 | 1 | -13/+36 | |
| | ||||||
* | Add an indicator that sticky cookies have been applied in mitmdump. | Aldo Cortesi | 2011-02-25 | 1 | -0/+1 | |
| | ||||||
* | Minor housekeeping - unused code, nocover directives. | Aldo Cortesi | 2011-02-24 | 1 | -1/+3 | |
| | | | | 95% test coverage. | |||||
* | More mature sticky cookie primitive. Use it in console.py. | Aldo Cortesi | 2011-02-24 | 1 | -15/+47 | |
| | ||||||
* | Start abstracting out sticky cookie state. | Aldo Cortesi | 2011-02-24 | 1 | -1/+24 | |
| | ||||||
* | Add a way for users to specify header significance in server replay. | Aldo Cortesi | 2011-02-23 | 1 | -3/+17 | |
| | | | | | | Also add the --rheader command-line option to mitmdump to let the user specify an arbitrary number of significant headers. The default is to treat no headers as significant. | |||||
* | Move script hooks into the flow primitives. | Aldo Cortesi | 2011-02-21 | 1 | -9/+37 | |
| | | | | This lets handle scripts in corner cases like playback situations more easily. | |||||
* | Add --kill option to mitmdump | Aldo Cortesi | 2011-02-21 | 1 | -3/+4 | |
| | | | | | | If this option is passed all requests that are not part of a replayed conversation are killed. If the option is not passed, such requests are passed through to the server as usual. | |||||
* | First pass of playback function for mitmdump. | Aldo Cortesi | 2011-02-21 | 1 | -0/+21 | |
| | ||||||
* | Add a simple server playback state object. | Aldo Cortesi | 2011-02-21 | 1 | -4/+47 | |
| | | | | | | | | We use a loose hash to match incoming requests with recorded flows. At the moment, this hash is over the host, port, scheme, method, path and content of the request. Note that headers are not included here - if we do want to include headers, we would have to do some work to normalize them to remove variations between user agents, header order, etc. etc. | |||||
* | Certificates are now generated in a temporary per-session directory. | Aldo Cortesi | 2011-02-20 | 1 | -1/+1 | |
| | | | | | | This means that certificates don't accumulate in the conf directory, users don't have to clear certificates if the CA is regenerated, and the user can specify a custom CA without invalid certificates being loaded inadvertently. | |||||
* | Implement state loading that doesn't change object identity. | Aldo Cortesi | 2011-02-20 | 1 | -3/+18 | |
| | | | | We need this to let us load state from copied Flows returned from scripts. | |||||
* | Bump test coverage to 100% for flow.py | Aldo Cortesi | 2011-02-19 | 1 | -22/+2 | |
| | ||||||
* | Refactor Flow primitives to remove HTTP1.0 assumption. | Aldo Cortesi | 2011-02-19 | 1 | -40/+33 | |
| | | | | | | This is a big patch removing the assumption that there's one connection per Request/Response pair. It touches pretty much every part of mitmproxy, so expect glitches until everything is ironed out. |