Thomas Kriechbaumer
1f6d05f89f
http2: server can send WindowUpdate frames as well
2015-09-03 14:09:59 +02:00
Thomas Kriechbaumer
bc93600a66
http2: add GoAway support for client
2015-09-03 13:55:13 +02:00
Thomas Kriechbaumer
b4d6f2e12b
http2: fix PingFrame again
2015-09-03 13:55:13 +02:00
Thomas Kriechbaumer
29ae2bbf91
http2: fix multiple stream per connection
...
fixes #746
2015-09-03 13:54:58 +02:00
Thomas Kriechbaumer
bde4bdd1d2
http2: fix unhandled frames
2015-09-03 13:40:35 +02:00
Thomas Kriechbaumer
37e6b3c401
http2: improve unexpected frame handling and shutdown
2015-09-03 11:09:59 +02:00
Thomas Kriechbaumer
c79af62763
ignore http2 priority frames
2015-09-02 20:50:50 +02:00
Thomas Kriechbaumer
c4d6b35726
do not log WindowUpdateFrame frames
2015-08-31 22:22:10 +02:00
Maximilian Hils
b04e6e56ab
update inline script hooks
2015-08-31 17:05:52 +02:00
Maximilian Hils
1e9aef5b1e
fix upstream proxy server change, update example
2015-08-31 00:14:42 +02:00
Maximilian Hils
63ad4a4f51
coverage++
2015-08-30 15:59:50 +02:00
Maximilian Hils
a86ec56012
move files around
2015-08-30 15:27:29 +02:00
Maximilian Hils
3873e08339
remove old code
2015-08-30 03:42:11 +02:00
Maximilian Hils
dd7f50d64b
restructure code, remove cruft
2015-08-30 01:21:58 +02:00
Maximilian Hils
1cc48345e1
clean up config/cmdline, fix bugs, remove cruft
2015-08-28 01:51:13 +02:00
Maximilian Hils
56a4bc381e
request -> request_method
2015-08-24 18:17:04 +02:00
Thomas Kriechbaumer
05d26545e4
adapt netlib changes
2015-08-21 10:26:28 +02:00
Maximilian Hils
96de7ad562
various fixes
2015-08-18 14:15:08 +02:00
Thomas Kriechbaumer
6cce2f14d7
fix tests
2015-08-02 11:26:33 +02:00
Thomas Kriechbaumer
ff1e7e6409
fix imports for encoding
2015-08-01 14:53:34 +02:00
Thomas Kriechbaumer
b732a1cb3d
reimplement streaming for HTTP/1
2015-08-01 14:37:33 +02:00
Thomas Kriechbaumer
54866c0faa
revert hard-coded HTTP/2 protocol changes
2015-08-01 14:37:33 +02:00
Thomas Kriechbaumer
db02553e2a
move code from mitmproxy to netlib
2015-08-01 14:37:32 +02:00
Thomas Kriechbaumer
4f38c6b90e
attach application protocol to connection
2015-07-30 19:53:29 +02:00
Thomas Kriechbaumer
a5d9e1f44d
move code to netlib and implement protocols
2015-07-30 13:53:17 +02:00
Thomas Kriechbaumer
89f22f7359
refactor connection & protocol handling
2015-07-30 13:53:17 +02:00
Maximilian Hils
d2ae6b630e
Merge pull request #548 from macmantrl/no_serverconn
...
Prevent unnecessary upstream server connects
2015-07-26 11:58:21 +02:00
Thomas Kriechbaumer
e9bbcfadc1
fix module imports
2015-07-25 20:00:34 +02:00
Thomas Kriechbaumer
cedc0407de
refactor to use netlib.http protocols
2015-07-22 15:30:12 +02:00
Thomas Kriechbaumer
bb265d0c40
use new netlib module names
2015-07-22 15:30:11 +02:00
Thomas Kriechbaumer
df1b0df39f
use netlib.http_semantics for generic data
2015-07-22 15:30:11 +02:00
Terry Long
4c50c36345
Prevent unecessary upstream server connects
...
Selectively connect to upstream server based on no_upstream_cert
option. When no_upstream_cert is used during server replay, prevent
connecting to the upstream server unless absolutely necessary.
2015-07-03 07:55:37 -07:00
Aldo Cortesi
876252eba8
Remove stray print & massage whitespace a bit
2015-06-25 10:27:22 +12:00
iroiro123
fbb23b5c9f
changed error handling (ssl spoof mode)
2015-06-23 01:49:22 +09:00
iroiro123
fd90367329
SSL Spoof mode
2015-06-21 00:51:56 +09:00
iroiro123
378aa78324
Spoof mode
2015-06-20 21:43:50 +09:00
iroiro123
59ec291b6c
HTTP Transparent Proxy
2015-06-18 23:53:27 +09:00
Aldo Cortesi
7890450b0c
Handle invalid IDNA encoding in hostnames
...
Fixes #622
2015-06-12 16:00:16 +12:00
Aldo Cortesi
a05a70d816
Add coding style check, reformat.
2015-05-30 12:03:28 +12:00
Aldo Cortesi
14341ffa19
Merge pull request #584 from dlethin/feature/http_1_0
...
Make sure proxy returns the httpversion specified in the request
2015-05-18 11:03:05 +12:00
Doug Lethin
cdff79fd4c
Make sure proxy returns the httpversion specified in the request rather
...
than hardcoding to 1.1.
2015-05-15 22:20:09 -04:00
Nick Raptis
202ede3c54
Accurately timestamp start of request
...
When building a request from a stream, try to get an accurate
start timestamp from the Reader. This was already in the code
and also used when building response objects, but was ommited
in commit ddf458b330
Without his logic and when the client is reusing a connection
to send requests, the timestamp_start of subsequent requests
is early and equal to when the connection started read blocking
2015-05-08 10:58:05 +03:00
Aldo Cortesi
1c26516b18
pretty_size now lives in netlib.utils
2015-04-30 12:18:01 +12:00
Aldo Cortesi
37d731aacd
Missed some un-needed variable declarations
2015-04-21 11:42:27 +12:00
Aldo Cortesi
ddf458b330
HTTP request reading moves to netlib
2015-04-21 11:05:37 +12:00
Aldo Cortesi
5ff4303124
Adjust for ODict interface change
2015-04-15 10:29:57 +12:00
Aldo Cortesi
c335c2b533
Add set_cookies method to HTTPResponse
2015-04-14 16:23:51 +12:00
Aldo Cortesi
ab7e2857cc
New get_cookies for HttpResponse
2015-04-14 15:14:36 +12:00
Aldo Cortesi
e17eacd8d7
New get_cookie and set_cookie implementations for HTTPRequest
2015-04-14 13:45:38 +12:00
Aldo Cortesi
937a358aa9
Merge branch 'master' of ssh.github.com:mitmproxy/mitmproxy
2015-04-14 12:01:37 +12:00
Aldo Cortesi
bea0bd236a
Housekeeping and cleanups
...
- No output to stdout on load in examples - they muck up the test suite.
- Use the odict module directly, rather than aliasing it. The small convenience
this gives to scripters is not worth it.
- Move the cookie tests from the flow test module to the protocol_http test
module.
2015-04-14 11:58:10 +12:00
Maximilian Hils
ab2b98b988
fix pretty_host if no host is present
2015-04-10 19:35:42 +02:00
Maximilian Hils
6852eb9d0a
fix #553
2015-04-10 14:59:38 +02:00
Maximilian Hils
423530fc25
Merge pull request #515 from krzysiekbielicki/master
...
[#514 ] Add support for ignoring payload params in multipart/form-data
2015-03-26 18:16:31 +01:00
Maximilian Hils
02a61ea45d
structure components
2015-03-21 22:49:51 +01:00
Krzysztof Bielicki
244ef243d7
[ #514 ] Add support for ignoring payload params in multipart/form-data
2015-03-10 10:44:06 +01:00
Maximilian Hils
e1b6cf9401
fix #319
2015-02-27 15:24:27 +01:00
Youhei Sakurai
5916767e03
Correct typo; https://github.com/mitmproxy/mitmproxy/issues/319
2015-02-27 10:22:27 +09:00
Youhei Sakurai
10f81e596b
Change from checking __call__ to using callable;
...
https://github.com/mitmproxy/mitmproxy/issues/319
2015-02-27 10:15:07 +09:00
Youhei Sakurai
77bb0b74ed
Maybe it should work; https://github.com/mitmproxy/mitmproxy/issues/319
2015-02-27 02:44:47 +09:00
Marcelo Glezer
010b921a93
added sni and ssl_established=true in ServerConnection. removed check for None value of server_conn in http.py
2015-02-12 13:41:58 -03:00
Marcelo Glezer
1df78f75c5
set sni to None when no server_conn is None
2015-02-10 17:18:23 -03:00
Maximilian Hils
53fadd05f4
fix #451
2015-02-07 16:26:19 +01:00
Maximilian Hils
310fb18aac
fix #464
2015-02-05 15:24:32 +01:00
Maximilian Hils
7ed6f10e35
web: much ui work, such christmas
2014-12-25 02:03:55 +01:00
Maximilian Hils
2861d99de4
web: intercept feature
2014-12-23 20:33:42 +01:00
Aldo Cortesi
01fa5d3f07
Merge pull request #414 from mitmproxy/flowviews2
...
Flowviews2
2014-12-12 22:08:15 +13:00
Maximilian Hils
b95f0c9971
fix #411
2014-12-08 17:17:37 +01:00
Maximilian Hils
5b1fefee9b
add inline script example for websocket passthrough, fix #340
2014-12-01 03:04:48 +01:00
Maximilian Hils
992536c2bc
make header processing configurable by inline scripts, refs #340
2014-12-01 02:28:03 +01:00
Maximilian Hils
3887e7ed29
fix error html
2014-11-26 04:56:17 +01:00
Maximilian Hils
ed8249023f
introduce revised views, port over changes from multiple_views branch
2014-11-26 04:18:21 +01:00
Maximilian Hils
0c52b4e3b9
handle script hooks in replay, fix tests, fix #402
2014-11-14 00:26:22 +01:00
Maximilian Hils
c3ec551546
fix #401
2014-11-07 09:52:46 +01:00
Wade 524
ce18cd8ba4
Fixing issue #392 .
2014-10-31 11:50:03 -07: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
Maximilian Hils
6cef6fbfec
tweak SSL detection heuristics
2014-10-21 15:08:39 +02:00
Maximilian Hils
e114858438
add generic tcp proxying, fix #374
2014-10-18 18:29:35 +02:00
Maximilian Hils
f04693c047
fix typo
2014-10-08 21:41:03 +02: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
60cec1f9b6
clean up timestamp handling
2014-09-21 22:46:48 +02:00
Maximilian Hils
b0374710e4
start to fill detailpane
2014-09-19 01:35:36 +02:00
Maximilian Hils
102bd07568
implement FlowStore basics
2014-09-17 17:30:19 +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
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
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
d06b4bfa4e
remove proxy mode abstraction: always be clear which mode we are in
2014-09-08 14:32:42 +02:00
Maximilian Hils
5a2a5760d0
improve logging
2014-09-08 13:34:08 +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
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
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