Commit Graph

1161 Commits

Author SHA1 Message Date
Wade 524
ce18cd8ba4 Fixing issue #392. 2014-10-31 11:50:03 -07:00
Maximilian Hils
3b0964f365 fix #391 2014-10-30 17:38:23 +01:00
Aldo Cortesi
340d0570bf Legibility 2014-10-26 18:32:45 +13:00
Aldo Cortesi
16654ad6a4 Fix crash while streaming
Found using fuzzing. Reproduction with pathoc, given "mitmproxy -s" and
pathod running on 9999:

get:'http://localhost:9999/p/':s'200:b\'foo\':h\'Content-Length\'=\'3\'':i58,'\x1a':r

 return flow.FlowMaster.run(self)
   File "/Users/aldo/mitmproxy/mitmproxy/libmproxy/controller.py", line 111, in run
     self.tick(self.masterq, 0.01)
   File "/Users/aldo/mitmproxy/mitmproxy/libmproxy/flow.py", line 613, in tick
     return controller.Master.tick(self, q, timeout)
   File "/Users/aldo/mitmproxy/mitmproxy/libmproxy/controller.py", line 101, in tick
     self.handle(*msg)
   File "/Users/aldo/mitmproxy/mitmproxy/libmproxy/controller.py", line 118, in handle
     m(obj)
   File "/Users/aldo/mitmproxy/mitmproxy/libmproxy/flow.py", line 738, in handle_responseheaders
     self.stream_large_bodies.run(f, False)
   File "/Users/aldo/mitmproxy/mitmproxy/libmproxy/flow.py", line 155, in run
     r.headers, is_request, flow.request.method, code
   File "/Users/aldo/mitmproxy/mitmproxy/netlib/http.py", line 401, in expected_http_body_size
     raise HttpError(400 if is_request else 502, "Invalid content-length header: %s" % headers["content-length"])
 netlib.http.HttpError: Invalid content-length header: ['\x1a3']
2014-10-26 17:58:36 +13:00
Aldo Cortesi
7aee9a7c31 Spacing and legibility 2014-10-26 17:44:49 +13:00
Aldo Cortesi
efd6fdb0e2 Start a fuzzing architecture for mitmproxy 2014-10-26 17:13:25 +13:00
Wade 524
1ef74cf294 Fixing issue #368. 2014-10-24 15:54:51 -07:00
Maximilian Hils
c79bdeb4e5 fix #346 2014-10-22 14:03:19 +02:00
Maximilian Hils
6cef6fbfec tweak SSL detection heuristics 2014-10-21 15:08:39 +02:00
Maximilian Hils
37cc6ae0bb fix race conditions in tests 2014-10-19 01:26:08 +02:00
Maximilian Hils
e114858438 add generic tcp proxying, fix #374 2014-10-18 18:29:35 +02:00
Maximilian Hils
52b29d4926 remove default_ca 2014-10-18 15:26:10 +02:00
Maximilian Hils
d0809a210b fix cert forwarding 2014-10-09 02:47:32 +02:00
Maximilian Hils
7c56a3bb01 Add SOCKS5 mode, fix #305 2014-10-09 01:59:02 +02:00
Maximilian Hils
ff366d152e Merge branch 'cert_chains' 2014-10-09 00:51:21 +02:00
Maximilian Hils
5b33f78961 add mini documentation 2014-10-09 00:49:11 +02:00
Maximilian Hils
f04693c047 fix typo 2014-10-08 21:41:03 +02:00
Maximilian Hils
d5c318b070 fix support for chained certificates 2014-10-08 20:44:52 +02:00
Maximilian Hils
76bd554cd1 Merge branch 'master' of github.com:mitmproxy/mitmproxy 2014-10-07 17:28:13 +02:00
Marcelo Glezer
81f5636389 --replay-ignore-content & --replay-ignore-param ported from branch 0.10 2014-10-03 07:29:44 -03:00
Maximilian Hils
6ce6b1ad69 replay: carry over SNI value 2014-10-02 00:58:40 +02:00
Maximilian Hils
4167713cc0 fix timestamp formatting: end_time may not be set 2014-09-22 17:01:06 +02:00
Maximilian Hils
45f39c2380 beef up event log 2014-09-22 03:06:19 +02:00
Maximilian Hils
84e2a028c2 web: perf improvements 2014-09-22 01:44:46 +02:00
Maximilian Hils
9cda2eb3a3 web: various improvements 2014-09-21 23:43:27 +02:00
Maximilian Hils
60cec1f9b6 clean up timestamp handling 2014-09-21 22:46:48 +02:00
Maximilian Hils
aa6856786b web: minor fixes 2014-09-20 00:25:40 +02:00
Maximilian Hils
818c5918b6 web: display flow connection info 2014-09-19 17:56:54 +02:00
Maximilian Hils
b5e727da88 web: flow icons 2014-09-19 01:57:50 +02:00
Maximilian Hils
b0374710e4 start to fill detailpane 2014-09-19 01:35:36 +02:00
Maximilian Hils
390a435ac4 basic splitter -> kick-ass splitter 2014-09-18 23:47:54 +02:00
Maximilian Hils
e66f240e81 add splitter 2014-09-18 23:22:02 +02:00
Maximilian Hils
d1ba150ea7 web: detailpane impl 2014-09-18 21:13:50 +02:00
Maximilian Hils
01da54f1c3 fix #361 2014-09-18 03:56:35 +02:00
Maximilian Hils
0d64cc9327 flowtable: add selection indicator, add keyboard navigation 2014-09-18 02:22:10 +02:00
Maximilian Hils
6a161be6b4 .jsx -> .jsx.js
Rename jsx files to be compatible with Chrome Dev Tools and
Workspace Mapping.
2014-09-18 00:01:45 +02:00
Maximilian Hils
b99de36b24 undo spriting 2014-09-17 23:59:39 +02:00
Maximilian Hils
4ca720b556 add features to the traffic table, introduce image spriting 2014-09-17 21:14:55 +02:00
Maximilian Hils
102bd07568 implement FlowStore basics 2014-09-17 17:30:19 +02:00
Maximilian Hils
8245dd19f4 connect eventlog events to ui 2014-09-17 15:22:42 +02:00
Aldo Cortesi
b4ecd96beb Introduce short form object state, and connect the ends to send data to web app 2014-09-17 13:58:56 +12:00
Maximilian Hils
51db9a5612 formatting 2014-09-17 02:13:37 +02:00
Aldo Cortesi
d998790c2f Clean up and clarify StateObject
- Flatten the class hierarchy
- get_state, load_state, from_state are public
- Simplify code
- Remove __eq__ and __neq__. This fundamentally changes the semantics of
inherited objects in a way that's not part of the core function of the
class
2014-09-17 11:41:42 +12:00
Aldo Cortesi
b9531ac89b Whitespace & formatting 2014-09-17 09:54:17 +12:00
Aldo Cortesi
f7da58ca9b Basic websocket connection, code cleanup. 2014-09-17 09:40:25 +12:00
Maximilian Hils
4f56b76b2c fix flow detail display 2014-09-16 15:36:26 +02:00
Aldo Cortesi
bfef9b4940 Slightly more verbose gulping, remove strict declarations for now. 2014-09-16 21:41:49 +12:00
Aldo Cortesi
e4ee3e0236 Convert to ES5 inheritance pattern 2014-09-16 21:06:30 +12:00
Aldo Cortesi
6efe1aa6a9 We're not ready for ES6
Lets re-evaluate in June next year when it's actually released
2014-09-16 16:27:09 +12:00
Maximilian Hils
6bac1540bd ignore compiled files in diff 2014-09-16 01:05:29 +02:00
Maximilian Hils
674bc4273e format javascript 2014-09-16 00:56:43 +02:00
Maximilian Hils
acdd182754 web: implement EventLogStore 2014-09-16 00:05:06 +02:00
Maximilian Hils
1d9b1f79a1 web: eventlog ui 2014-09-15 18:39:25 +02:00
Maximilian Hils
cbf18320cd client-side structure 2014-09-15 18:08:26 +02:00
Aldo Cortesi
9f8d2eea64 Merge branch 'master' of ssh.github.com:mitmproxy/mitmproxy 2014-09-15 12:38:49 +12:00
Aldo Cortesi
563078df24 Client-side cleanup
- Remove grunt
- Formatting and spacing. There shall be 4 spaces in a tab. Not 3. Not
5. And 2 is right out.
2014-09-15 12:37:52 +12:00
Maximilian Hils
5a59fef57f fix bugs 2014-09-15 00:59:21 +02:00
Maximilian Hils
2cefd05be9 fix missing timeout parameter 2014-09-14 21:08:28 +02:00
Aldo Cortesi
be0996da35 Web interface is live. 2014-09-14 12:47:32 +12:00
Maximilian Hils
89b8e1ce8c checkin assets 2014-09-14 02:44:13 +02:00
Aldo Cortesi
ff09529ba3 Add tornado dependency, serve index file 2014-09-14 12:33:07 +12:00
Aldo Cortesi
6812d304a1 Basic web service and options 2014-09-14 12:22:28 +12:00
Aldo Cortesi
17868f61a9 Remove external app option, make tick timeout explicit 2014-09-14 11:46:01 +12:00
Aldo Cortesi
81e3a6e8e6 Super-basic outline for web io loop 2014-09-14 11:30:00 +12:00
Maximilian Hils
b59234e25d use bowser-installer 2014-09-13 16:28:45 +02:00
Aldo Cortesi
efa3e3dde8 web -> onboarding 2014-09-12 12:30:03 +12:00
Aldo Cortesi
0510c9b111 Client-side framework for web application 2014-09-10 14:23:10 +12:00
Aldo Cortesi
76982937a6 Reorg to put web app in its own directory 2014-09-10 11:34:58 +12:00
Maximilian Hils
578e9f800c fix jsunpacker imports 2014-09-09 01:15:35 +02:00
Maximilian Hils
5fdec6b7cb re-add mitmproxy/mitmdump scripts for convenience 2014-09-08 23:45:45 +02:00
Maximilian Hils
fbc4bb38df mitmproxy -> libmproxy.main. do some leanup on the way 2014-09-08 23:34:43 +02:00
Maximilian Hils
ebd539b49f update examples, fix #353 2014-09-08 17:03:34 +02:00
Maximilian Hils
ece15b3c8a reverse proxy: adjust dst when reading flows, fix #346 2014-09-08 14:43:32 +02:00
Maximilian Hils
d06b4bfa4e remove proxy mode abstraction: always be clear which mode we are in 2014-09-08 14:32:42 +02:00
Maximilian Hils
6dbe431c5e document --ignore, fix #350 2014-09-08 13:41:25 +02:00
Maximilian Hils
5a2a5760d0 improve logging 2014-09-08 13:34:08 +02:00
Maximilian Hils
2b2d21aff0 add --ignore ui indication 2014-09-08 12:20:40 +02:00
Maximilian Hils
ac27d1236f improve change_server api, add example how to change the upstream server 2014-09-07 18:01:37 +02:00
Maximilian Hils
58ea198698 fix #349 2014-09-07 15:58:27 +02:00
Maximilian Hils
5226ac200f update code docs, make sure that url attribute never returns prettified/formatted values 2014-09-07 03:18:18 +02:00
Aldo Cortesi
bf5fef1e0b Merge pull request #347 from mitmproxy/issue_341
Remove BackReferenceMixin
2014-09-07 13:04:18 +12:00
Maximilian Hils
3c65510ef5 coverage++ 2014-09-06 13:09:57 +02:00
Maximilian Hils
fdd7b2f108 Merge branch 'issue_341' into server_change_api 2014-09-06 12:43:32 +02:00
Maximilian Hils
0e0cff638c Merge branch 'master' into issue_341 2014-09-06 12:42:52 +02:00
Maximilian Hils
3a8f648807 fix race condition with the concurrent decorator 2014-09-06 12:42:23 +02:00
Maximilian Hils
ccb6182917 fix race condition with the concurrent decorator 2014-09-06 12:39:23 +02:00
Maximilian Hils
b6c8a22b67 coverage++ 2014-09-06 12:23:05 +02:00
Maximilian Hils
32e1ed212d streamline HTTPHandler.handle_flow() 2014-09-05 19:39:05 +02:00
Maximilian Hils
2a6337343a update docs, mostly revert 2f44b26b4c 2014-09-05 15:16:20 +02:00
Maximilian Hils
a7a3b5703a change replay_request behaviour, refs #346; test upstream proxy mode 2014-09-05 00:18:17 +02:00
Maximilian Hils
b23a1aa4a4 much tests. so tcp. very wow. 2014-09-04 19:08:54 +02:00
Maximilian Hils
795e19f6b7 coverage++ 2014-09-04 16:37:50 +02:00
Maximilian Hils
f4d4332472 coverage++ 2014-09-04 14:46:25 +02:00
Maximilian Hils
1d45c54a04 Merge branch 'issue_341' into server_change_api 2014-09-04 14:18:21 +02:00
Maximilian Hils
1135666ee6 Merge branch 'master' into issue_341 2014-09-04 14:18:07 +02:00
Maximilian Hils
39fa579dd5 remove outdated IOError test case (f5fdfd8a9f) 2014-09-04 14:15:49 +02:00
Maximilian Hils
4781c565a9 fix #344 2014-09-04 12:29:44 +02:00
deployable
4bdd1ed967 Add urwid stop prior to stack trace so exceptions are not cleared from screen 2014-09-04 10:47:27 +01:00
Maximilian Hils
ea55f2e012 Merge branch 'issue_341' into server_change_api
Conflicts:
	examples/redirect_requests.py
	libmproxy/console/common.py
2014-09-04 00:11:20 +02:00
Maximilian Hils
649e63ff3c fix some leftovers 2014-09-04 00:10:01 +02:00
Maximilian Hils
2f44b26b4c improve HTTPRequest syntax 2014-09-03 23:44:54 +02:00
Maximilian Hils
cd43c5ba9c simplify server changes for inline scripts 2014-09-03 20:12:30 +02:00
Maximilian Hils
0c3b6ee667 fix IOError handling 2014-09-03 17:33:08 +02:00
Maximilian Hils
b0cfeff06d fix #341 - work on flows instead of request/response internally. 2014-09-03 16:57:56 +02:00
Maximilian Hils
951a6fcc36 http: ignore disconnects that happen between requests 2014-09-03 12:31:39 +02:00
Maximilian Hils
712e5860aa ui: display * instead of 0.0.0.0 for the bound address 2014-09-03 12:24:14 +02:00
Maximilian Hils
1e4e332ef9 improve error handling 2014-09-02 18:13:18 +02:00
Maximilian Hils
1a41c15c03 minor fixes 2014-08-31 16:52:26 +02:00
Maximilian Hils
1f47f7b6b2 refactor protocol handling, fix #332 2014-08-30 20:15:19 +02:00
Maximilian Hils
82730c1c6f Windows transparent proxy: allow specification of custom WinDivert filter rules 2014-08-30 17:33:43 +02:00
Maximilian Hils
84e2285ee5 Windows transparent proxy: proxy local traffic 2014-08-30 16:39:15 +02:00
Maximilian Hils
b97b1f17cf fix #328 2014-08-24 14:22:11 +02:00
Maximilian Hils
e4d6089f9a fix #330 2014-08-23 13:53:43 +02:00
Maximilian Hils
3d861d7a67 make sure that flow.server_conn is set when script hook is called 2014-08-18 01:54:45 +02:00
Maximilian Hils
94fbf066f7 fix script tests 2014-08-18 01:47:39 +02:00
Maximilian Hils
5b7e19a77e fix #327 2014-08-18 00:55:30 +02:00
Maximilian Hils
623cbd4e51 fix: changes to request.host in the request inline script hook are now considered for the server connection 2014-08-17 23:59:44 +02:00
Maximilian Hils
0acda9a684 fix #324 2014-08-17 23:49:08 +02:00
Maximilian Hils
bb2ce689a9 adjust to netlib changes 2014-08-17 23:06:25 +02:00
Maximilian Hils
da3e7c0187 do not connect if inline script already connected to upstream server 2014-08-12 02:55:32 +02:00
Maximilian Hils
858b0af0bb fix #270 2014-08-10 16:10:49 +02:00
Maximilian Hils
ecf8081ba6 implement passthrough mode, fixes #175 2014-08-09 03:03:21 +02:00
Maximilian Hils
f4a1459ebe fix #274 2014-08-09 01:02:58 +02:00
Maximilian Hils
c88613f596 fix replay form 2014-08-09 00:53:16 +02:00
Maximilian Hils
2e6a698287 fix #308 2014-08-08 19:04:58 +02:00
Maximilian Hils
4d2109ef92 fix display of urls in upstream mode, refs #308 2014-08-08 17:49:02 +02:00
Maximilian Hils
de05484d9d fix #318 2014-08-08 04:43:44 +02:00
Maximilian Hils
a3c3e4e504 remove platform.setup 2014-08-08 03:38:59 +02:00
Maximilian Hils
a9e6121a08 properly express state information on server connections, refs #315 2014-08-08 02:45:24 +02:00
Maximilian Hils
c01b294d8d fix script path escaping on windows, refs #293 2014-08-08 02:27:28 +02:00
Maximilian Hils
c6911a4158 docs: add docs for script args, fix #293 2014-08-07 01:30:47 +02:00
Maximilian Hils
13f030ccb5 suppress SPDY/HTTP2 announcement headers, fix #277 2014-08-03 16:25:38 +02:00
Maximilian Hils
3133136da7 fix #307 2014-08-03 02:34:29 +02:00
Maximilian Hils
10a6d4fbe5 fix #317 2014-08-03 02:01:40 +02:00
Maximilian Hils
e9401a2123 Merge branch 'stream'
Conflicts:
	libmproxy/protocol/http.py
2014-07-31 22:29:13 +02:00
Maximilian Hils
c9be57b682 fix #313 2014-07-27 03:28:23 +02:00
Maximilian Hils
2b31a9c49e refactor tcp handling, fix #280 2014-07-27 02:39:17 +02:00
Maximilian Hils
83536e7e53 minor fixes 2014-07-27 02:10:39 +02:00
Maximilian Hils
e9c834a30d fix #259 2014-07-26 12:02:18 +02:00
Maximilian Hils
5a808ca2a7 add status bar indicator for streaming 2014-07-25 18:55:01 +02:00
Maximilian Hils
4382829b7d workaround: always make sure that flow.response.reply exists 2014-07-25 18:47:48 +02:00
Brad Peabody
5bb4e37dfd fix to make it so streaming with mitmproxy doesn't explode due to no reply on response 2014-07-24 18:46:39 -07:00
Maximilian Hils
d9ac029ec7 always initialize HTTPResponse.stream attribute 2014-07-23 00:21:33 +02:00
Maximilian Hils
4b4a18a2e4 add --stream options, various fixes 2014-07-21 21:06:55 +02:00
Maximilian Hils
562ac9e721 unify stream handling 2014-07-21 14:09:24 +02:00
Maximilian Hils
7398db80db simplify responseheader scripthook 2014-07-20 11:17:53 +02:00
Maximilian Hils
0ba5a2cf19 Merge branch 'stream' of https://github.com/bradleypeabody/mitmproxy into stream 2014-07-20 10:57:51 +02:00
Brad Peabody
560e23af09 fixed handling of Transfer-Encoding header during streaming; wrote tests for streaming support 2014-07-19 19:10:14 -07:00
Maximilian Hils
c7425f42db if no_upstream_cert is set, include SNI value als SubjectAltName, fix #291 2014-07-18 23:04:24 +02:00
Brad Peabody
c47ddaa3a0 basic attempt to implement streaming response, needs testing 2014-07-17 22:43:26 -07:00