aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/proxy.py
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Store timestamps on flow components as a UTC time tuple.Aldo Cortesi2011-03-071-4/+4
| | | | | | Format is: (tm_year,tm_mon,tm_mday,tm_hour,tm_min, tm_sec,tm_wday,tm_yday,tm_isdst)
* Add an indicator that sticky cookies have been applied in mitmdump.Aldo Cortesi2011-02-251-0/+3
|
* Move stringification funcs from proxy to dump.Aldo Cortesi2011-02-251-9/+0
|
* Start abstracting out sticky cookie state.Aldo Cortesi2011-02-241-2/+2
|
* Fix a subtle Unicode problem in Response.assembleAldo Cortesi2011-02-211-1/+1
| | | | | | | If msg is Unicode, the proto string is automatically promoted to Unicode. If the proto string is promoted to Unicode, then the FMT interpolation is also done in Unicode. If this happens, then binary data in content will cause an exception.
* First pass of playback function for mitmdump.Aldo Cortesi2011-02-211-1/+11
|
* Certificates are now generated in a temporary per-session directory.Aldo Cortesi2011-02-201-23/+12
| | | | | | 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.
* Revamp SSL configuration.Aldo Cortesi2011-02-201-24/+70
| | | | | | | | - Move option parsing utiliities to proxy.py - Don't have a global config object. Pass it as an argument to ProxyServer. - Simplify certificate generation logic.
* Clean up certificate generation.Aldo Cortesi2011-02-201-4/+4
| | | | | | | | | | | | - Use templates for config files. We can re-introduce customization of the certificate attributes when we need them. - Split CA and cert generation into separate functions. - Generation methods provide an error return when generation fails. - When the user explicitly specifies a certificate, we don't generate it, but fail if it doesn't exist.
* Implement state loading that doesn't change object identity.Aldo Cortesi2011-02-201-2/+39
| | | | We need this to let us load state from copied Flows returned from scripts.
* Fix serialization when a Request has no associated client connection.Aldo Cortesi2011-02-191-2/+2
|
* Refactor Flow primitives to remove HTTP1.0 assumption.Aldo Cortesi2011-02-191-16/+27
| | | | | | 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.
* Don't leave dangling browser connections for pipelined requests.Aldo Cortesi2011-02-161-1/+2
|
* Fix a bug in HTTP 1.1 pipelining that caused Requests to be over-written.Aldo Cortesi2011-02-161-1/+2
| | | | | | We use the ClientConnection object to tie requests, responses and errors together. This is an HTTP 1.0 assumption, but we can fix it by just making copies of the connection object when we handle multiple requests.
* FlowMaster bugfixes and unit tests.Aldo Cortesi2011-02-161-1/+1
|
* Extract flow-specific Master operations into FlowMaster.Aldo Cortesi2011-02-161-1/+1
|
* Switch over to new serialization format.Aldo Cortesi2011-02-161-1/+1
| | | | Remove BSON from contrib.
* First draft of the new serialization mechanism.Aldo Cortesi2011-02-161-6/+6
|
* drop unused protocol parameter from ResponseHenrik Nordstrom2011-02-151-5/+3
|
* Repair unit test suite.Aldo Cortesi2011-02-111-7/+8
|
* Implement a dummy CAHenrik Nordstrom2011-02-101-4/+23
|
* Allow specifying the accepted ciphersuitesHenrik Nordstrom2011-02-101-1/+3
|
* Simple record & playback functionalityHenrik Nordstrom2011-02-101-3/+16
|
* Basic HTTP/1.1 SupportHenrik Nordstrom2011-02-101-59/+174
| | | | | | | | | | | | | | | | | | | Adds support for chunked transfer encoding, and a couple other minor protocol corrections. Improve HTTP support - Support intercepted requests with Host header - Support HEAD requests proper - Support any HTTP method including extensions, not just a couple known ones Support expect: 100-continue and 100 Continue messages Persistent client connections Generalize ServerConnection a bit in preparation for keep-alive support Correct HTTP status codes on errors forwarding the request
* Optimize CONNECT responses, sent in a single packetHenrik Nordstrom2011-02-101-3/+5
|
* Move try_del to utilsHenrik Nordstrom2011-02-101-15/+8
|
* Add response creation to edit function on intercepted requestsHenrik Nordstrom2011-02-101-4/+10
|
* Terminate workers when main thread terminatesHenrik Nordstrom2011-02-101-0/+1
|
* Add option to tell mitmproxy which interfaces to bind to.Aldo Cortesi2011-02-061-3/+3
|
* Also serialize ClientConnection and flow backups.Aldo Cortesi2011-02-061-2/+9
|
* Get rid of ReplayConnection - we now have only one ClientConnection class.Aldo Cortesi2011-02-041-7/+20
|