aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/proxy.py
Commit message (Collapse)AuthorAgeFilesLines
* Create ODictCaseless for headers, use vanilla ODict for everything else.Aldo Cortesi2012-02-201-1/+1
|
* Rename Headers class to ODictAldo Cortesi2012-02-201-4/+27
| | | | | ODict is an ordered dictionary class that will be useful in many other parts of our API.
* Consolidate palettes somewhat.Aldo Cortesi2012-02-181-2/+0
|
* Refactor reverse proxyingAldo Cortesi2012-02-181-34/+36
| | | | | | | - Retain the specification from the Host header as a Request's description. - Expand upstream proxy specifications to include the scheme. We now say https://hostname:port - Move the "R" revert keybinding to "v" to make room for a reverse proxy binding that matches the command-line flag.
* reverse proxy mode: small comment clarificationHeikki Hannikainen2012-02-161-2/+5
|
* Implemented reverse proxy mode: -R upstreamhost:port makes theHeikki Hannikainen2012-02-161-2/+10
| | | | | | proxy accept a 'GET / HTTP/1.0' request and fill up the destination host and port from the ones given with -R (for example, "-R localhost:80").
* Add filter for detecting flows with errors.Aldo Cortesi2012-02-101-1/+1
| | | | Also, remove dependency on weird _is_response method.
* Fix an issue caused by some editors when editing a request/response body.Aldo Cortesi2012-01-211-1/+1
| | | | | | Many editors make it hard save a file without a terminating newline on the last line. When editing message bodies, this can cause problems. For now, I just strip the newlines off the end of the body when we return from an editor.
* Handle missing message/reason phrase in HTTP response status line gracefully ↵meeee2011-09-261-0/+2
| | | | by adding an empty one.
* Fix a rare crash when a new cert is generated during cerdir removal.Aldo Cortesi2011-09-111-1/+4
|
* Add HTTP body size limit specification to command-line tools.Aldo Cortesi2011-09-091-10/+16
|
* Basic infrastructure for request and response body size limits.Aldo Cortesi2011-09-091-15/+34
|
* Improve robustness against invalid data.Aldo Cortesi2011-09-051-2/+4
|
* Removed unused importsAndrás Veres-Szentkirályi2011-08-181-1/+1
|
* Add a basic Flow processor example.Aldo Cortesi2011-08-131-1/+1
|
* Code cleanliness - appease pychecker.Aldo Cortesi2011-08-041-2/+2
|
* Request class now has a clean pydoc profile.Aldo Cortesi2011-08-041-1/+1
|
* Further interface cleaning.Aldo Cortesi2011-08-031-10/+10
|
* Move all HTTP objects to flow.pyAldo Cortesi2011-08-031-444/+26
| | | | That's Request, Response, ClientConnect, ClientDisconnect, Error, and Headers.
* Tweak encoding behaviourAldo Cortesi2011-08-021-2/+5
| | | | | | | | | - Don't fail to identity encoding when an unknown encoding is specified. - Don't constrain encodings. I want to try to modify traffic as little as possible by default. - When decoding, delete content-encoding header rather than set it to "identity" - Refuse to decode/encode when there is an existing but unknown content-encoding header.
* Unit test++Aldo Cortesi2011-08-021-9/+14
|
* General cleanup.Aldo Cortesi2011-08-021-1/+0
| | | | | Cut out unused variables and code, generally shut up pychecker as much as is reasonable.
* Fix a rare undefined variable crash in proxy.py.Aldo Cortesi2011-08-021-1/+3
|
* Add decoding/encoding for requests.Aldo Cortesi2011-08-011-23/+25
|
* Merge remote-tracking branch 'alts/encoding'Aldo Cortesi2011-07-281-0/+21
|\
| * Adds encode and decode methods to Response objectsStephen Altamirano2011-07-261-3/+24
| |
* | Changes replace logic to function in both Python 2.6.x and 2.7.xStephen Altamirano2011-07-261-12/+12
|/ | | | 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 a crash in mitmdump event display.Aldo Cortesi2011-07-231-1/+1
|
* Extend eventlog information.Aldo Cortesi2011-07-231-7/+19
| | | | Also, squash an SSL-related bug revealed by the extended logging.
* Also replace strings path for requests.Aldo Cortesi2011-07-221-0/+2
|
* Add utility functions to search and replace strings in flowsAldo Cortesi2011-07-221-0/+29
| | | | | | | | | | 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 last_encoding attribute from Response. Prompts for encoding on ↵Stephen Altamirano2011-07-211-1/+0
| | | | identity responses
* Removes should_autodecode attribute from Response. Adds commandline option ↵Stephen Altamirano2011-07-211-1/+0
| | | | 'd' to toggle autodecode, adds togglable option 'd' to do the same
* Adds ability to toggle between encodings in the response viewStephen Altamirano2011-07-181-0/+2
|
* Adds support for content encoding, namely gip and deflatealts2011-07-161-6/+15
|
* Introduce an anti-compression command-line argument.Aldo Cortesi2011-07-151-1/+7
| | | | | 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 Cortesi2011-07-141-9/+8
|
* Cast some data read from dump files to str, to prevent unicode promotion.Aldo Cortesi2011-07-011-5/+5
| | | | | This fixes a bug that caused a traceback when de-serialized requests were replayed. Also adds unit tests for the problem.
* Make the certificate wait time configurable.Aldo Cortesi2011-06-271-2/+5
| | | | | | | | | Since OpenSSL doesn't let us set certificate start times in the past, the client and proxy machine time must be synchronized, or the client might reject the certificate. We can bodgy over small discrepancies by waiting a few seconds after a new certificate is generated (i.e. the first time an SSL domain is contacted). Make this a configurable option, and turn it off by default.
* Repair a problem that sometimes caused SSL connections to peg the CPU.Aldo Cortesi2011-06-231-3/+6
|
* unit test coverage ++Aldo Cortesi2011-03-201-13/+0
|
* Add a stickyauth option.Aldo Cortesi2011-03-201-1/+2
| | | | | | | 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.
* Revamp key generation.Aldo Cortesi2011-03-181-12/+8
| | | | | | | | | | | 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.
* Improve responsiveness of request and response viewing.Aldo Cortesi2011-03-151-0/+3
| | | | | | | | - 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.
* Add server replay to mitmproxy.Aldo Cortesi2011-03-131-2/+3
|
* Handle invalid bind address specifications gracefully.Aldo Cortesi2011-03-121-1/+9
|
* Display Errors and killed connections in mitmdump.Aldo Cortesi2011-03-111-1/+1
|
* Add --norefresh to stop refreshing server playback to mitmdump.Aldo Cortesi2011-03-111-2/+27
| | | | Also, make cookie parsing for refreshing more error-tolerant.
* Stub out refresh for server-side replay.Aldo Cortesi2011-03-091-1/+26
|
* Add an --anticache option to mitmdump.Aldo Cortesi2011-03-091-0/+13
| | | | | | | 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.