Maximilian Hils
0b4ad05e02
merge master
2014-01-18 17:25:59 +01:00
Maximilian Hils
6c24b1d0d2
get server reconnect right, fix timestamps
2014-01-18 17:15:33 +01:00
Maximilian Hils
862b532fff
small refactorings, bugs fixed
2014-01-18 15:35:37 +01:00
Maximilian Hils
5acbef236c
fix sni bug: respond with the correct certificate
2014-01-16 02:33:14 +01:00
Maximilian Hils
621807f697
add basic error handling
2014-01-13 02:25:58 +01:00
Aldo Cortesi
069aca1df4
Deprecate Flow.unload_script in favor of Flow.unload_scripts
...
In the presence of arguments, unloading a single script is clumsy and
less useful.
2014-01-13 14:20:34 +13:00
Aldo Cortesi
4f69eef8f3
Extract command parsing and use in script grid editor
2014-01-13 14:15:17 +13:00
Aldo Cortesi
42d4a2fae9
Script refactoring: move script command parsing into script module.
2014-01-12 23:02:29 +13:00
Aldo Cortesi
e5776b8be3
Clean up and clarify script API
2014-01-12 13:59:32 +13:00
Aldo Cortesi
58e1b3a47f
Start refactoring scripts
...
- Move ScriptContext into script module
- Use mock module instead of hand-rolled mock objects in tests
2014-01-12 12:49:19 +13:00
Maximilian Hils
24fc8ff292
fix header assembly, other improvements
2014-01-10 01:38:28 +01:00
Maximilian Hils
efdb25ef68
improve https handling
2014-01-09 17:56:42 +01:00
Maximilian Hils
607d79b63f
groundwork completed
2014-01-09 05:34:29 +01:00
Maximilian Hils
ea2f17680b
continue work on the proxyhandler
2014-01-07 02:29:10 +01:00
Dan Wilbraham
1c2e638d53
Update ViewProtobuf in contentview.py to also decode as protobuf if the content_type is "application/x-protobuffer"
2014-01-05 23:40:02 +00:00
Aldo Cortesi
e31fc8ac40
Tweaking web stub app, icons for certificates, serve PEM correctly.
2014-01-05 16:59:27 +13:00
Aldo Cortesi
a49115a227
Remove / binding alias for limit
...
The search and limit functionality is too different.
2014-01-05 14:14:36 +13:00
Maximilian Hils
b34ad82b52
first steps on tcp proxying
2014-01-05 01:03:55 +01:00
Aldo Cortesi
d5f9b02615
Merge pull request #192 from mitmproxy/refactor_read_http_body
...
move CONTINUE checks into mitmproxy
2014-01-04 14:37:47 -08:00
Aldo Cortesi
7d37e0ce10
Merge pull request #193 from droope/search-functionality
...
Search functionality
2014-01-04 14:34:20 -08:00
Aldo Cortesi
8a599be060
Merge branch 'migrate_from_pil_to_pillow' of https://github.com/Kami/mitmproxy into Kami-migrate_from_pil_to_pillow
...
Conflicts:
requirements.txt
2014-01-05 11:15:27 +13:00
Aldo Cortesi
ac31039ad3
Merge pull request #198 from Kami/add_css_view
...
Add CSS view which beautifies minified CSS files
2014-01-04 14:04:02 -08:00
Aldo Cortesi
a2261e3cf0
Introduce file descriptor decorators for Request objects
...
Which lets us enable the apps again, now running from flow.py
2014-01-05 10:58:53 +13:00
Tomaz Muraus
c5f4614ba5
Fix CSS view prompt, update display mode options.
2014-01-04 17:13:46 +01:00
Tomaz Muraus
ff2d7a7501
Provide more sensible serializer options.
2014-01-04 15:50:40 +01:00
Tomaz Muraus
e9f6302ec7
Add CSS view which beautifies CSS files if cssutils library is available,
...
otherwise it acts as a no-op.
2014-01-04 04:49:50 +01:00
Aldo Cortesi
45eab17e0c
Decouple message type from message class name.
2014-01-04 14:42:32 +13:00
Aldo Cortesi
1e07d9e6e7
Move app mechanism to flow.py
...
Disable apps while message passing is improved.
2014-01-04 14:35:11 +13:00
Aldo Cortesi
f25c532960
Merge branch 'master' of ssh.github.com:cortesi/mitmproxy
2014-01-04 13:15:13 +13:00
Maximilian Hils
8472ed97ed
fix #195
...
(untested)
2014-01-03 23:35:25 +01:00
Tomaz Muraus
e9c2c0ac3a
Migrate from Pil to the latest version of Pillow.
2014-01-03 21:13:14 +01:00
Aldo Cortesi
3aa4b6603c
Fix app in mitmproxy console, update to bootstrap 3.
2014-01-03 15:29:32 +13:00
Pedro Worcel
799c877676
now really fix it + test
2013-12-26 22:18:34 +13:00
Pedro Worcel
a4b059c2a7
fix bug that happens after searching for a non-existant string, and
...
later for an existant one.
2013-12-26 21:53:04 +13:00
Pedro Worcel
34a09780ee
add docs
2013-12-26 17:26:51 +13:00
Pedro Worcel
70f6bb301b
added 'n' functionality, tidy up & testing
2013-12-26 17:16:26 +13:00
Pedro Worcel
21efe2f2c8
add looping around
2013-12-26 17:04:18 +13:00
root
bcf5620239
fix crash
2013-12-25 16:57:54 +13:00
root
95406bd119
Add focusing, and fixes non-clearance of prev searches. Add
...
documentation.
2013-12-25 16:50:29 +13:00
root
932464d0a0
test passing, UI still not working
2013-12-24 14:28:20 +13:00
root
359573a764
add search with / for compatibility with what I'll do.
2013-12-23 16:41:46 +13:00
Maximilian Hils
e643759ef6
merge smurfix/fix2, add serverconnect hook docs, adjust tests
2013-12-16 22:10:06 +01:00
Maximilian Hils
f4b58ba495
move CONTINUE checks into mitmproxy
2013-12-15 06:33:18 +01:00
Maximilian Hils
605950bfdf
add @concurrent decorator for inline scripts, fixes #176
2013-12-15 02:43:16 +01:00
Aldo Cortesi
224cd41dc2
Merge pull request #189 from mitmproxy/refactor_proxyhandler
...
Refactor ProxyHandler
2013-12-13 15:05:22 -08:00
Matthias Urlichs
afff1f1734
Reconnect if the server-connect hook needs the request to decide what to do
2013-12-12 10:00:23 +01:00
Matthias Urlichs
517e5e6688
handle a hook changing connection parameters
2013-12-12 09:22:55 +01:00
Matthias Urlichs
7b6057fa64
serverconnect hook: Set sc.request
...
The serverconnect hook script might need to examine the incoming request
in order to set up the server connection.
Example use: bind to a distinct source IPv6 address for each client.
2013-12-12 07:56:40 +01:00
Maximilian Hils
39ffe10334
add content-length 0 if we remove header for chunked encoding, fixes #186
2013-12-12 04:42:29 +01:00
Maximilian Hils
7db1430ee7
ignore missing CN in certificates. fixes #169
2013-12-12 03:24:17 +01:00
Maximilian Hils
28a234e28b
store resolved ip addresses, fixes #187
2013-12-12 02:11:22 +01:00
Aldo Cortesi
a600441e37
Merge branch 'master' of ssh.github.com:cortesi/mitmproxy
2013-12-10 22:24:23 +13:00
Aldo Cortesi
1bbeace350
Bump version
2013-12-10 22:23:38 +13:00
Maximilian Hils
f0e96be142
ensure binary read on windows
2013-12-10 03:13:37 +01:00
Maximilian Hils
21de99cb09
add comments
2013-12-10 02:30:07 +01:00
Maximilian Hils
a78b185278
refactor ProxyHandler, remove duplicate code
2013-12-10 01:47:19 +01:00
Maximilian Hils
2be19a5620
Merge remote-tracking branch 'origin/master'
2013-12-09 19:10:40 +01:00
Maximilian Hils
4984bbb83b
remove code duplication in ProxyHandler by unifying read_transparent and read_reverse
2013-12-09 19:10:15 +01:00
Aldo Cortesi
1d536f64d5
Small workaround to make mitmproxy work again.
...
Further work is required to make scripts work again, though.
2013-12-09 22:34:47 +13:00
Maximilian Hils
3bd238de37
backport changes to fix tests
2013-12-08 15:46:11 +01:00
Maximilian Hils
a509a9037b
Merge branch 'master' into 0.10
2013-12-08 14:14:57 +01:00
Aldo Cortesi
3a1d85ab18
Merge pull request #134 from mhils/scripts_improvements
...
Support multiple scripts and script arguments. refs #76
2013-12-08 01:14:12 -08:00
Aldo Cortesi
7aeaf9d448
Merge pull request #161 from mitmproxy/external_webapp
...
External webapp
2013-12-08 01:09:46 -08:00
Aldo Cortesi
73791f986a
Merge pull request #166 from ghjc/forward-proxy
...
Added -F http[s]://server:port option that allows MITM to forward traffi...
2013-12-08 01:05:33 -08:00
Aldo Cortesi
4816cae98c
Merge pull request #170 from jsoriano/master
...
Reverse proxy works with SSL
2013-12-08 01:02:17 -08:00
Aldo Cortesi
dfcec4ffba
Merge pull request #180 from mitmproxy/add_serverconnection_scripthook
...
Add serverconnection scripthook
2013-12-08 00:55:55 -08:00
Aldo Cortesi
83f061c1a0
Merge pull request #184 from richie5um/RichS-RateDivideByZeroIssue
...
Fix divide by zero issue when timestamp start and end are the same
2013-12-08 00:54:11 -08:00
Rich Somerfield
9a986e0c1b
Fix divide by zero issue when timestamp start and end are the same
2013-11-26 14:14:51 -08:00
Maximilian Hils
d4c3b1c213
attempt to fix https://github.com/mitmproxy/netlib/issues/24
2013-11-19 04:08:16 +01:00
Maximilian Hils
675518f873
add serverconnect script hook
2013-11-18 17:25:52 +01:00
Jaime Soriano Pastor
7140323bdb
New method establish_ssl to avoid duplicated code
2013-09-26 12:38:13 +02:00
Jaime Soriano Pastor
f33d128a7f
Reverse proxy works with SSL
2013-09-26 12:23:48 +02:00
Maximilian Hils
2956c144d3
Merge branch 'master' into 0.10
2013-09-14 23:47:04 +02:00
JC
65d1ed1b3c
Added -F http[s]://server:port option that allows MITM to forward traffic to another http server upstream.
2013-08-30 17:19:58 -07:00
Aldo Cortesi
8d954d9965
Version bump.
2013-08-25 10:37:35 +12:00
Aldo Cortesi
a2643b52f9
Tweak timing display
...
- Remove elapsed time. Space is at a premium here, and this is somewhat
redundant with the rate figure. We should display complete timing information
somewhere in the detailed flow view.
- Tone down the colour. Reserve highlights for stuff that should really pop out
to the user.
- Make rate calculation more acurate. Include header sizes. Use response start
and end time, rather than request end and response end. This means that we show
actual transfer rates, not including DNS requests and so forth.
2013-08-23 10:25:44 +12:00
Maximilian Hils
bb4748fb8f
add option to expose webapp externally, remove distinct ip setting
2013-08-18 20:03:53 +02:00
Maximilian Hils
729677cd85
Merge branch 'master' into 0.10
2013-08-17 13:30:36 +02:00
Kyle Manna
41041159f6
console: Add support for displaying transfer rate
...
* Display the rate in the the response row.
* Very handy for passive performance analysis.
2013-08-13 16:33:53 -07:00
Kyle Manna
ea28496bea
console: Add support for displaying elapsed time
...
* Display the elapsed time in the the response row.
* Very handy for passive performance analysis.
2013-08-13 16:33:53 -07:00
Kyle Manna
4ede2f126a
utils: Add missing "B" for pretty_size()
...
* Add missing unit for megabytes, should print "MB".
2013-08-13 16:33:39 -07:00
Aldo Cortesi
f850bdd848
Revamp dummy cert store
...
We no longer keep these on disk. This is for a number of reasons, including
some race conditions and the fact that some valid IDNA-encoded domain names are
not valid file names on Windows.
2013-08-12 16:04:02 +12:00
Aldo Cortesi
2c4e5e0a73
Better handling of cert errors on connection.
2013-08-10 23:07:22 +12:00
Aldo Cortesi
edb10e33aa
Remove GPL notices left in source files after our change to the MIT license.
...
Thanks to Roy Shamir for reporting this.
2013-08-01 11:08:00 +12:00
Aldo Cortesi
439d9a294c
Make use of a change to netlib.tcp that clarifies error conditions for flush and close.
...
Should fix #144 .
2013-07-30 09:42:29 +12:00
Aldo Cortesi
5f0b5532bc
Show an error when attempting to decode invalid data.
2013-07-29 18:14:11 +12:00
Aldo Cortesi
d54398cc79
Repair minor user interface issue that caused brief flashes of duplicate flows in the flow list.
2013-07-29 12:38:41 +12:00
Maximilian Hils
29bcbd57d5
fix #144
...
netlib wraps IOError in NetLibDisconnect, so we need to cover this as well.
2013-07-28 21:05:17 +02:00
Aldo Cortesi
a21c989ccd
Fix startup with no state.
...
Bug introduced in previous patch.
2013-07-28 22:40:51 +12:00
Aldo Cortesi
df3d2d70ed
Terminate can be called on an unconnected server connection.
2013-07-28 18:05:04 +12:00
Aldo Cortesi
10a9e3365f
Some refactoring of the console inteface.
...
Reduce some state duplication, by removing currentflow variable.
Fixes #141
2013-07-28 18:00:49 +12:00
Aldo Cortesi
10b744ee08
Properly terminate SSL server connections.
...
Before, we had dangling SSL server connections causing resource exhaustion.
I believe this fixe #144 and #153
2013-07-28 10:50:25 +12:00
Aldo Cortesi
5c1157ddaf
Move app instantiation out of proxy.py.
2013-07-24 10:32:56 +12:00
Aldo Cortesi
64ce3b358f
Make a start on mitmproxy web app.
2013-07-23 10:28:35 +12:00
Aldo Cortesi
55f7e8d5b9
Don't take minor version into account when checking serialized data compatiblity.
2013-07-13 14:44:09 +12:00
Aldo Cortesi
c4d03d8b85
Merge pull request #137 from caujka/master
...
Handling for EOF reading error in gzipped content
2013-07-01 17:37:15 -07:00
Matthias Urlichs
d9cc6f1dd6
proxy.py: Catch channel.ask() returning None when terminating
2013-06-28 07:53:56 +02:00
Matthias Urlichs
be1377850e
Close connection when flush fails
2013-06-26 15:02:55 +02:00
Oleksandr Sheremet
0afd3fc42f
Added handling for EOF reading error in gzipped content.
2013-06-17 21:46:54 +03:00
Maximilian Hils
d462b444b7
update tests to reflect changes to options.scripts
2013-06-17 16:48:06 +02:00
Maximilian Hils
84248d431b
fix send_error behavior if there are no headers
2013-06-17 10:52:19 +02:00
Aldo Cortesi
886970040b
Revert "Use lsof instead of pfctl to find target host on OSX in transparent mode."
...
This reverts commit ffeede9b39
.
2013-06-16 16:23:36 +12:00
Aldo Cortesi
db43f1ffcc
Version bump, doc extension, URLs to github.com/mitmproxy/*
2013-06-16 13:59:01 +12:00
Maximilian Hils
fd36142018
Merge remote-tracking branch 'origin/scripts_improvements' into 0.10
2013-06-16 00:41:43 +02:00
Maximilian Hils
ba47690a03
always read files in binary mode
2013-06-16 00:23:44 +02:00
Maximilian Hils
2b4af8d475
add support for multiple scripts and script arguments. refs #76
2013-06-13 16:09:38 +02:00
Aldo Cortesi
d3beaa7382
Merge pull request #132 from ipopov/master
...
A humble pull request
2013-06-08 16:28:47 -07:00
Aldo Cortesi
1a5c27aa7d
Massage content-type before sending it to mime detection
...
Fixes #67
2013-06-09 11:26:44 +12:00
Aldo Cortesi
7ef68b5a13
Fix creation of new response when none existed before.
...
Fixes #133
2013-06-09 11:14:34 +12:00
Ivaylo Popov
ffeede9b39
Use lsof instead of pfctl to find target host on OSX in transparent mode.
2013-05-27 23:09:42 -04:00
Michael Bisbjerg
125b3e5e5b
- Quick-fix for issue #128
...
New bug: It correct-cases Content-Length for any webserver sending other casings, like CONTENT-LENGTH.
2013-05-21 15:57:14 +02:00
Aldo Cortesi
bc88930fb7
Merge branch 'master' of ssh.github.com:cortesi/mitmproxy
2013-05-05 13:19:14 +12:00
Aldo Cortesi
9fa09cc1f9
Fix crash in client playback.
2013-05-05 13:18:52 +12:00
Aldo Cortesi
5cd7563d12
Minor coverage.
2013-04-30 09:13:33 +12:00
Jason A. Novak
f78dada550
Add error checking to ViewProtobuf
...
There are protobufs that protoc can't parse. When protoc --decode_raw
fails, it returns nothing to stdin, and writes "Failed to parse input."
to stderr. Before this commit, if protoc --decode_raw couldn't parse
the protobuf, the blank stdout output would get returned to the view;
with this commit stderr gets caught and returned to the view.
2013-04-21 12:46:37 -05:00
Aldo Cortesi
61c794e08f
Merge pull request #107 from rouli/master
...
Adding remote TCP and SSL setup timestamps
2013-04-19 17:19:26 -07:00
Aldo Cortesi
793c41a5c4
Merge pull request #112 from hamstah/protobuf-view
...
Adds a new view for protocol buffers
2013-04-19 17:18:44 -07:00
Alexis Hildebrandt
3d7f31b23d
Correct display mode highlight keys
...
Add html display mode to the help documentation.
Correct html and hex display mode highlight keys (help used 'h' for hex).
Correct json display mode highlight keys.
2013-04-16 23:54:34 +02:00
Nicolas Esteves
d4cfbbb822
Adds a new view for protocol buffers
...
The view uses protoc from the Google protocol buffer
tools. If the tool isn't installed, the view isn't
shown.
Google protobuf repo:
https://code.google.com/p/protobuf/
2013-04-06 19:21:13 +01:00
Aldo Cortesi
51b775cfd4
Merge pull request #101 from eentzel/keep-blank-params
...
Keep blank URL parameters
2013-04-04 15:55:51 -07:00
Aldo Cortesi
ca9c60d2eb
Docs.
2013-04-05 11:55:28 +13:00
Aldo Cortesi
e3fd0e838d
Add a basic built-in web app.
2013-03-25 09:20:26 +13:00
Aldo Cortesi
98e4421a90
Trim docs.
2013-03-23 15:42:25 +13:00
Aldo Cortesi
800af34763
Fix crash on intercept.
...
Fixes #106
2013-03-23 14:40:03 +13:00
Rouli
c6bf28f3f7
adding tcp and ssl setup timestamps to get better resolution on flows performance
2013-03-19 18:21:52 +02:00
Rouli
c94aadcb0e
Merge remote-tracking branch 'upstream/master'
2013-03-18 14:24:13 +02:00
Aldo Cortesi
6614498744
Update styling, GameCenter highscore tutorial.
2013-03-18 08:36:56 +13:00
Aldo Cortesi
d2d3eb6490
Un-break unit tests. Tsk tsk.
2013-03-17 17:53:48 +13:00
Aldo Cortesi
e50da8164f
Enable --host option for mitmdump
2013-03-17 17:43:31 +13:00
Aldo Cortesi
0e993bec6f
Add the --host option, which uses the value in the Host header for dispaly URLs.
...
- Can be toggled with "o" then "h" in mitmproxy
- Useful for transparent mode
2013-03-17 17:37:54 +13:00
Aldo Cortesi
790ad468e4
Fix bug that caused mis-identification of some HTTPS connections in transparent mode.
2013-03-17 14:35:36 +13:00
Aldo Cortesi
cfb5ba89ce
Introduce a filtered flow writer, and use it in dump.py
...
Fixes #104
2013-03-14 09:19:43 +13:00
Aldo Cortesi
cde66cd584
Fuzzing, and fixes for errors found with fuzzing.
2013-03-03 22:03:27 +13:00
Aldo Cortesi
7835e0c2c7
Begin some simple fuzzing with pathod.
...
Finally doing what I started writing pathod for in the first place...
2013-03-03 14:56:56 +13:00
Aldo Cortesi
e608d10f45
Remove __slots__ to make it possible to inherit from Options classes.
2013-03-03 12:26:20 +13:00
Aldo Cortesi
75b5c97095
Revert "show current filepath in status bar"
...
This reverts commit bf8367d6cf
.
This just doesn't work. We need a better solution, probably in the next release.
2013-03-03 12:18:19 +13:00
Aldo Cortesi
2465b8a376
100% unit test coverage on proxy.py. Hallelujah!
2013-03-03 12:13:33 +13:00
Aldo Cortesi
d5876a12ed
Unit test proxy option parsing.
2013-03-03 11:58:57 +13:00
Aldo Cortesi
5c6587d4a8
Move HTTP auth module to netlib.
2013-03-03 10:37:06 +13:00
Aldo Cortesi
c20d1d7d32
Extend unit tests for proxy.py to some tricky cases.
2013-03-02 22:42:36 +13:00
Aldo Cortesi
415844511c
Test cert generation errors.
2013-03-02 16:59:16 +13:00
Aldo Cortesi
a95d78438c
Test SNI for transparent mode.
2013-03-02 15:06:49 +13:00
Aldo Cortesi
10db82e9a0
Test SNI for ordinary proxy connections.
2013-03-02 14:52:05 +13:00
Aldo Cortesi
ba674ad551
New SNI handling mechanism.
2013-03-01 09:05:39 +13:00
Rouli
b6cae7cd2d
Merge remote-tracking branch 'upstream/master'
2013-02-28 13:28:57 +02:00
Rouli
35f36481b9
adding __str__ to make export to har nicer
2013-02-28 13:28:42 +02:00
Aldo Cortesi
0257815141
Significantly simplify server connection handling, and test.
2013-02-24 22:24:21 +13:00
Aldo Cortesi
705559d65e
Refactor to prepare for SNI fixes.
2013-02-24 17:35:24 +13:00
Aldo Cortesi
d0639e8925
Handle server disconnects better.
...
Server connections can be closed for legitimate reasons, like timeouts. If
we've already pumped data over a server connection, we reconnect on error. If
not, we treat it as a legitimate error and pass it on to the client.
Fixes #85
2013-02-24 14:04:56 +13:00
Aldo Cortesi
05e4d4468e
Test request and response kill functionality.
2013-02-23 21:59:25 +13:00