Aldo Cortesi
79039eb5d2
More mature sticky cookie primitive. Use it in console.py.
2011-02-24 15:26:34 +13:00
Aldo Cortesi
3c1db00ebb
Remove first iteration playback/record.
...
Bonus: unit test coverage goes from 70% to 94% with one commit. ;)
2011-02-23 12:40:30 +13:00
Aldo Cortesi
deb79a9c5a
Add a simple server playback state object.
...
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.
2011-02-21 08:47:19 +13:00
Aldo Cortesi
58fc0041fa
Stub out doc structure, add screenshots for configuring certs in Firefox.
2011-02-19 19:43:44 +13:00
Aldo Cortesi
5da27a9905
Refactor Flow primitives to remove HTTP1.0 assumption.
...
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.
2011-02-19 17:00:24 +13:00
Aldo Cortesi
cd4eea3934
First pass of script hooks for mitmdump.
...
Also stub out docs, improve mitmdump error handling.
2011-02-18 12:40:45 +13:00
Aldo Cortesi
f0f1fb4b55
Add file writing to mitmdump.
2011-02-17 10:18:38 +13:00
Aldo Cortesi
692556cf20
Fix minor display issues in console app.
2011-02-16 21:03:55 +13:00
Aldo Cortesi
66349c9783
FlowMaster bugfixes and unit tests.
2011-02-16 16:43:35 +13:00
Aldo Cortesi
27f0765cdd
Extract flow-specific Master operations into FlowMaster.
2011-02-16 16:03:22 +13:00
Aldo Cortesi
33dac700fa
Switch over to new serialization format.
...
Remove BSON from contrib.
2011-02-16 15:10:00 +13:00
Henrik Nordstrom
061cea89da
Import cache store control into console controller
2011-02-10 02:59:51 +01:00
Henrik Nordstrom
4bae297fbb
Basic HTTP/1.1 Support
...
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
2011-02-10 02:59:51 +01:00
Henrik Nordstrom
2d8cfbafc3
Automatically update response message when editing response code
2011-02-10 02:59:51 +01:00
Henrik Nordstrom
98b1acc51d
Add response creation to edit function on intercepted requests
2011-02-10 02:59:51 +01:00
Aldo Cortesi
7156d1a73a
Rip out BeautifulSoup, and use a custom XML-ish prettyprinter.
2011-02-06 14:17:30 +13:00
Aldo Cortesi
44dc3a052e
Add option to tell mitmproxy which interfaces to bind to.
2011-02-06 10:52:54 +13:00
Aldo Cortesi
2ad4c5adf3
Get rid of ReplayConnection - we now have only one ClientConnection class.
2011-02-04 10:58:08 +13:00
Aldo Cortesi
2cb7429d38
Change "connection" to the less confusing "client_conn" throughout.
2011-02-03 14:51:32 +13:00
Aldo Cortesi
7924f07971
Fine-tune completion a bit.
2011-02-03 13:50:57 +13:00
Aldo Cortesi
6c89749f0a
Add timestamps to flows.
...
For now, these are only displayed on the connection view screen, with second
granularity.
2011-02-03 13:30:47 +13:00
Aldo Cortesi
673ff01acc
Fix tracking of edited state.
2011-02-03 12:28:40 +13:00
Aldo Cortesi
f6c8654f08
"Q" quits without confirmation prompt.
2011-02-03 12:20:05 +13:00
Aldo Cortesi
d8cb826361
Test suite rejiggering and cleanup.
2011-02-03 12:16:03 +13:00
Aldo Cortesi
db99da6af5
Improve script handling.
...
- Display output in external viewer when script exits with error.
- Add a "changed" indicator to show if a request can be reverted.
2011-02-02 11:44:28 +13:00
Aldo Cortesi
df9d8832fb
Use last path specified as default prompt.
2011-02-02 10:19:54 +13:00
Aldo Cortesi
405e60215c
View script debug output (stderr) in pager.
2011-02-02 10:09:16 +13:00
Aldo Cortesi
b886f808be
Add an external script API.
...
External scripts can read a flow, modify it, and then return it to mitmproxy
using a simple API.
The "|" keyboard shortcut within mitmproxy prompts the user for a script.
2011-01-31 13:26:56 +13:00
Aldo Cortesi
152b97fa0b
Restructure to make subclassing Flow unnecessary.
2011-01-31 11:44:52 +13:00
Aldo Cortesi
1619d164ff
Re-jigger flow view shortcuts so we don't over-ride global shortcuts.
2011-01-31 10:57:33 +13:00
Aldo Cortesi
74aa622fdd
Better help page statusbar text.
2011-01-30 15:31:44 +13:00
Aldo Cortesi
cf165bc32e
Next and previous flow shortcuts from within flow view.
2011-01-30 15:26:41 +13:00
Aldo Cortesi
2a39387d27
UI tweaks
...
- Make flow view state persistent (request/response, body view mode).
- Don't exit flow view mode when viewing help.
2011-01-30 14:52:51 +13:00
Aldo Cortesi
091db9cdf2
Prompt user on quit.
2011-01-28 12:55:02 +13:00
Aldo Cortesi
0742bc4fd0
Nicer statusbar messages, with timed expiry.
2011-01-28 12:18:01 +13:00
Aldo Cortesi
dfefe3cdda
Make pretty-printing more robust.
...
Also, since BeautifulSoup is so damn slow, print a statusbar message saying
that we're calculating a pretty version of the response. Maybe I should add
hangman or something, becuase on a 200k document this can take ages.
2011-01-28 12:08:25 +13:00
Aldo Cortesi
93ef691bad
Basix XML/HTML pretty-printing in flow viewer.
2011-01-27 17:26:01 +13:00
Aldo Cortesi
96e714a74c
Handle nonexistent load files gracefully.
...
Also improve IOError statusbar messages.
2011-01-27 15:20:07 +13:00
Aldo Cortesi
edab82f7d8
Add command to write request or response body to file.
2011-01-27 15:16:03 +13:00
Aldo Cortesi
345ac0f2a0
Refine flow saving shortcuts.
...
"S" to save all flows.
"s" to save just the current flow.
2011-01-27 15:03:53 +13:00
Aldo Cortesi
efe11a0782
Kill deadlock that sometimes occurred on shutdown.
2011-01-27 13:32:24 +13:00
Aldo Cortesi
460107589c
Add tab completion for save and load path specs.
2011-01-27 10:29:37 +13:00
Aldo Cortesi
bd6c0499fb
Fix UI sync bugs introduced by flow serialization.
2011-01-26 22:17:42 +13:00
Aldo Cortesi
635f7a971d
Add saving and loading of complete flows for later replay and analysis.
2011-01-26 16:50:17 +13:00
Aldo Cortesi
7983dbb26a
Abstract flow management out of the interactive code.
2011-01-25 15:02:48 +13:00
Aldo Cortesi
f457342aab
Add mitmproxy command line flags for a number of filter expressions.
...
For now, these are supported: intercept, limit, sticky cookies, beep
2010-03-01 15:42:38 +13:00
Aldo Cortesi
fbe6e0a820
Housekeeping: todo updates, move put handler_ methods together in console.py.
2010-03-01 15:08:39 +13:00
Aldo Cortesi
0188cf8a1a
Just make using the user's terminal background the default.
...
This just makes sense. Later on, we'll have a config file in which users can
set the palette, so that they can over-ride the default background if they
really want.
2010-03-01 14:50:35 +13:00
Aldo Cortesi
6300a57212
Don't intercept replays - it makes no sense to do so.
2010-03-01 14:25:37 +13:00
Aldo Cortesi
639b1557a6
Don't show error if user tries to save, but specifies no path.
2010-03-01 14:20:12 +13:00