Commit Graph

1715 Commits

Author SHA1 Message Date
Maximilian Hils
7d8191ee37 update web builds, use watchify 2015-10-08 12:43:55 +02:00
Choongwoo Han
9c0efdf2ec Refresh flowview instead of reopen the same flowview 2015-10-08 11:31:33 +09:00
Colin Bendell
a85e4bc75c default should not be None
Fixed default value when self.address has not been set
2015-10-07 21:46:08 -04:00
Colin Bendell
77aeac11a9 Check if server connection hasn't yet been initiated
This fixes #761 when NoneType error is thrown when non-TLS requests initiate a client request but the server connection hasn't yet been initiated.
2015-10-07 20:30:31 -04:00
Choongwoo Han
45494d1c79 Prevent flowview from creating duplicated windows 2015-10-04 14:21:51 +09:00
Maximilian Hils
ce38a05a20 Merge remote-tracking branch 'origin/master' 2015-10-03 23:59:13 +02:00
Maximilian Hils
26631621ee fix #786 2015-10-03 14:48:51 +02:00
sethp-jive
fd8c921a2f Allow reading scripts from an anonymous pipe
Bash (and many other shells) provide a nifty feature in "anonymous pipe" or "anonymous fifo" whereby the output of a subshell may be treated as a simple file by the parent shell: http://unix.stackexchange.com/a/156088

Unfortunately, libmproxy complains because that "file" is not a regular file, as os.path.isfile checks, e.g. giving the error "Not a file: /dev/fd/11". This patch is intended to provide for the following use-case:

```
mitmdump -s <(echo "def response(context, flow):\n  flow.response.headers['newheader'] = [`hostname`]")
```

where `hostname` may be replaced with a more complicated lookup.
2015-09-30 15:55:43 -07:00
Maximilian Hils
c6811bd0e8 fix #773 2015-09-28 14:55:13 +02:00
Maximilian Hils
86ef19b450 fix tests 2015-09-28 14:04:41 +02:00
Maximilian Hils
c11ab3676d Merge branch 'http-models' 2015-09-28 13:54:53 +02:00
Maximilian Hils
6661770d4e handle Expect: 100-continue header, fix #770 2015-09-28 10:59:10 +02:00
Maximilian Hils
1b6ea5caf3 adjust to netlib response changes + docs 2015-09-26 17:41:14 +02:00
Maximilian Hils
b13acd7956 adjust to netlib request changes + docs 2015-09-26 01:23:59 +02:00
Maximilian Hils
bba5ec7144 experimental: run tests using py.tests 2015-09-21 18:31:30 +02:00
Maximilian Hils
88375ad64a fix minor bugs, add py.test compatibility 2015-09-21 02:26:47 +02:00
Maximilian Hils
6d27901b6f fix replay functionality 2015-09-19 11:59:05 +02:00
Maximilian Hils
42bbd3c928 don't cache changed messages, fix #777 2015-09-19 11:50:02 +02:00
Maximilian Hils
2d4a5fb116 experimental: don't interfere with headers, fix #93 2015-09-18 18:07:38 +02:00
Maximilian Hils
66d21fa4ba trigger inline script hooks for artifical responses, fix #775 2015-09-18 13:51:05 +02:00
Maximilian Hils
5df5ee15f2 remove old server replay workaround, fix #774 2015-09-18 13:27:05 +02:00
Maximilian Hils
906360f63f code -> status_code, httpversion -> http_version 2015-09-17 15:16:33 +02:00
Maximilian Hils
12984f149c move body assembly to netlib 2015-09-17 02:40:08 +02:00
Maximilian Hils
14a5f405fd use new netlib exceptions 2015-09-17 02:13:28 +02:00
Maximilian Hils
8fbed971ae Merge pull request #768 from mitmproxy/netlib-http1-refactor
Adjust to netlib changes
2015-09-16 20:24:48 +02:00
Maximilian Hils
0af0608978 adjust to netlib changes 2015-09-16 18:45:22 +02:00
Maximilian Hils
457025df9a Merge pull request #751 from mitmproxy/readthedocs
Move Docs to readthedocs
2015-09-16 02:53:01 +02:00
Maximilian Hils
436a9ea839 minor fixes 2015-09-14 23:58:06 +02:00
Maximilian Hils
eb2264e91a improve display of non-ascii contents
fixes #283
2015-09-12 17:10:38 +02:00
Maximilian Hils
049d253a83 simplify contentview api 2015-09-12 13:49:16 +02:00
Maximilian Hils
9c31669211 mitmdump: colorize output, add content views 2015-09-11 19:03:50 +02:00
Maximilian Hils
b7b46bac46 content view: fix fallback 2015-09-11 16:40:58 +02:00
Maximilian Hils
960f62f363 fix bugs 2015-09-11 13:37:52 +02:00
Maximilian Hils
625a719eb1 completely remove console from contentviews 2015-09-11 12:26:52 +02:00
Maximilian Hils
7c186a4edb Merge branch 'master' into contentviews 2015-09-11 12:13:39 +02:00
Maximilian Hils
dd414e4852 better error messages, remove error cause 2015-09-11 02:17:04 +02:00
Maximilian Hils
40ce06e780 tls layer: fix early peek 2015-09-11 01:47:13 +02:00
Maximilian Hils
ffdf143be4 better exception handling 2015-09-11 01:39:33 +02:00
Maximilian Hils
c159c8ca13 fix chunked encoding 2015-09-11 01:18:17 +02:00
Maximilian Hils
30f0ee40c5 nicer error messages 2015-09-11 00:49:37 +02:00
Maximilian Hils
d1bc966e5b polish for release: introduce http2 and rawtcp as command line switches 2015-09-11 00:00:00 +02:00
Maximilian Hils
33c0d36530 fix exception re-raise 2015-09-10 18:36:50 +02:00
Maximilian Hils
35a99d2faf start reraising exceptions properly 2015-09-10 16:24:22 +02:00
Maximilian Hils
ebba79b655 raw tcp mode: use ssl_read_select 2015-09-10 11:33:03 +02:00
Maximilian Hils
3b6140dfff fix send_response if content is missing 2015-09-10 10:32:08 +02:00
Maximilian Hils
c573d8c292 inline scripts: provide __file__ 2015-09-10 10:31:01 +02:00
Maximilian Hils
cf2b2e0cc7 simplify streaming http layer 2015-09-10 10:20:11 +02:00
Maximilian Hils
61f4319491 http protocol: use new tls attribute 2015-09-09 18:49:32 +02:00
Maximilian Hils
4b8e162a8b Merge branch 'master' into readthedocs 2015-09-08 15:36:37 +02:00
Maximilian Hils
8dfa15c2d4 whitelist next_layer for @concurrent 2015-09-07 16:05:16 +02:00
Maximilian Hils
d002371d30 expose next_layer to inline scripts 2015-09-07 13:52:58 +02:00
Maximilian Hils
eb2334c6cb Merge branch 'master' into readthedocs 2015-09-06 01:37:19 +02:00
Maximilian Hils
5125c669cc adjust to new netlib Headers class 2015-09-05 20:45:58 +02:00
Maximilian Hils
b62498e125 remove urwid from contentviews 2015-09-04 17:33:21 +02:00
Maximilian Hils
018c693dee remove urwid from contentviews (wip) 2015-09-04 17:07:14 +02:00
Maximilian Hils
00561d280c speed up filters 2015-09-04 02:11:09 +02:00
Maximilian Hils
e88c7e4c58 Merge branch 'master' into readthedocs 2015-09-04 00:47:04 +02:00
Maximilian Hils
2d1c382f38 docs, docs, docs! 2015-09-04 00:45:47 +02:00
Thomas Kriechbaumer
47ab7f04ea http2: Ping frames are handled in netlib 2015-09-03 21:23:19 +02:00
Maximilian Hils
14457f29b3 docs++ 2015-09-03 18:55:38 +02:00
Maximilian Hils
99126f62ed remove depth attribute from set_server 2015-09-03 18:25:36 +02:00
Maximilian Hils
8da683a638 Merge branch 'master' of https://github.com/mitmproxy/mitmproxy 2015-09-03 17:01:37 +02:00
Maximilian Hils
f4272de5ec remove ServerConnectionMixin.reconnect 2015-09-03 17:01:25 +02:00
Thomas Kriechbaumer
3a229f60e3 http2: fix ping response 2015-09-03 14:26:36 +02:00
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
Maximilian Hils
a0f3803233 Merge pull request #748 from Kriechi/tls-ciphers
pass-through ciphers from client to server
2015-09-03 12:57:56 +02:00
Thomas Kriechbaumer
37e6b3c401 http2: improve unexpected frame handling and shutdown 2015-09-03 11:09:59 +02:00
Maximilian Hils
cc2a6a3919 fix circular imports 2015-09-02 20:56:19 +02:00
Thomas Kriechbaumer
c79af62763 ignore http2 priority frames 2015-09-02 20:50:50 +02:00
Thomas Kriechbaumer
0047ac4cdc pass-through ciphers from client to server 2015-09-02 20:46:14 +02:00
Chris Czub
b4e0be9052 PR #700
Start moving the contentview up a level
Started shifting the contentview class up to libmproxy
2015-09-02 20:30:58 +02:00
Maximilian Hils
f1c8b47b1e better tls error messages, fix #672 2015-09-01 19:24:36 +02:00
Thomas Kriechbaumer
c4d6b35726 do not log WindowUpdateFrame frames 2015-08-31 22:22:10 +02:00
Maximilian Hils
481cc6ea84 we don't support socks auth, refs #738 2015-08-31 17:29:14 +02:00
Maximilian Hils
b04e6e56ab update inline script hooks 2015-08-31 17:05:52 +02:00
Maximilian Hils
41e6e538df fix layer initialization 2015-08-31 13:49:47 +02:00
Maximilian Hils
7450bef615 fix dns_spoofing example, avoid connecting to itself 2015-08-31 13:43:30 +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
421b241ff0 remove http2http references 2015-08-30 13:40:23 +02:00
Maximilian Hils
3873e08339 remove old code 2015-08-30 03:42:11 +02:00
Maximilian Hils
08655cb956 Merge remote-tracking branch 'origin/master' into proxy-refactor-cb 2015-08-30 03:24:05 +02:00
Maximilian Hils
21e7f420d2 minor fixes 2015-08-30 03:23:57 +02:00
Maximilian Hils
1dd09a5509 always insert tls layer for inline script upgrades 2015-08-30 02:27:38 +02:00
Maximilian Hils
dd7f50d64b restructure code, remove cruft 2015-08-30 01:21:58 +02:00
Maximilian Hils
100ea27c30 simplify raw tcp protocol 2015-08-29 23:08:16 +02:00
Maximilian Hils
a7058e2a3c fix bugs, fix tests 2015-08-29 20:53:25 +02:00
Maximilian Hils
63844df343 fix streaming 2015-08-29 14:28:11 +02:00
Maximilian Hils
2dfba2105b move sslversion mapping to netlib 2015-08-29 12:34:01 +02:00
Maximilian Hils
1cc48345e1 clean up config/cmdline, fix bugs, remove cruft 2015-08-28 01:51:13 +02:00
Maximilian Hils
a86491eeed Revert "unify SSL version/method handling"
This reverts commit 14e49f4fc7.
2015-08-27 18:37:16 +02:00
Maximilian Hils
5b17496c7e start fixing proxy config 2015-08-27 18:31:15 +02:00
Maximilian Hils
83decd6771 fix inline script redirects 2015-08-27 17:35:53 +02:00
Maximilian Hils
515c024448 handle tls server errors more gracefully 2015-08-27 15:59:56 +02:00
Maximilian Hils
ecfde4247f re-add http1 replay 2015-08-27 15:48:41 +02:00
Maximilian Hils
0f97899fbd re-add --ignore and --tcp 2015-08-27 15:26:21 +02:00
Maximilian Hils
f6dadc2b0d no more sni double-connects! 2015-08-27 00:07:44 +02:00
Maximilian Hils
9c6b3eb58a clean up clienthello parsing 2015-08-26 22:00:50 +02:00
Maximilian Hils
2cfc1b1b40 fix non-alpn clients 2015-08-26 20:48:59 +02:00
Maximilian Hils
778644d4b8 http2: fix bugs, chrome works 🎉 2015-08-26 15:12:04 +02:00
Maximilian Hils
aebe342025 improve alpn handling 2015-08-26 14:03:51 +02:00
Maximilian Hils
1093d185ec manually read tls clienthello 2015-08-26 06:38:03 +02:00
Maximilian Hils
3fa65c48dd manually read tls clienthello [wip] 2015-08-26 05:39:00 +02:00
Maximilian Hils
8ce0de8bed minor fixes 2015-08-25 18:24:17 +02:00
Maximilian Hils
56a4bc381e request -> request_method 2015-08-24 18:17:04 +02:00
Maximilian Hils
f1f34e7713 fix bugs, fix tests 2015-08-24 16:52:03 +02:00
Thomas Kriechbaumer
05d26545e4 adapt netlib changes 2015-08-21 10:26:28 +02:00
Thomas Kriechbaumer
55cfd259dc http2: simplify protocol-related code 2015-08-20 20:31:01 +02:00
Thomas Kriechbaumer
5746472426 fix typo 2015-08-20 19:53:17 +02:00
Timothy Elliott
fb4af4eb78 console: add command line flag to disable mouse interaction
Adds the --no-mouse command line option to disable the mouse.

Fixes #685
2015-08-19 13:07:39 -07:00
Thomas Kriechbaumer
4339b8e7fa http2: use callback for handle unexpected frames 2015-08-19 21:09:48 +02:00
Thomas Kriechbaumer
f2ace5493b move read methods to lower HTTP layer 2015-08-19 18:09:45 +02:00
Thomas Kriechbaumer
97bfd1d856 move send method to lower layers 2015-08-19 16:36:37 +02:00
Thomas Kriechbaumer
c9fa8491cc improve next_layer detection 2015-08-19 16:32:02 +02:00
Thomas Kriechbaumer
9bae97eb17 http2: fix connection preface and wrappers 2015-08-19 09:43:43 +02:00
Maximilian Hils
ab1549e0ef yield -> callbacks 2015-08-18 15:59:44 +02:00
Maximilian Hils
96de7ad562 various fixes 2015-08-18 14:15:08 +02:00
Maximilian Hils
99129ab5a1 Merge remote-tracking branch 'Kriechi/proxy-refactor' into proxy-refactor
Conflicts:
	libmproxy/protocol2/http.py
2015-08-17 19:20:28 +02:00
Maximilian Hils
a2b8504889 improve protocol handling 2015-08-16 23:25:02 +02:00
Thomas Kriechbaumer
38c456bb62 implement Http1 and Http2 protocols as layers 2015-08-16 15:19:11 +02:00
Maximilian Hils
c04fa1b233 minor fixes 2015-08-16 12:52:34 +02:00
Maximilian Hils
61afac8637 Merge remote-tracking branch 'Kriechi/proxy-refactor' into proxy-refactor
Conflicts:
	libmproxy/protocol2/http_proxy.py
	libmproxy/protocol2/tls.py
	libmproxy/proxy/connection.py
2015-08-16 12:47:13 +02:00
Maximilian Hils
4c31ffd90f minor fixes 2015-08-16 12:43:15 +02:00
Thomas Kriechbaumer
1e40d34e94 add ALPN to proxy connections 2015-08-16 11:36:31 +02:00
Maximilian Hils
a175572447 Merge remote-tracking branch 'Kriechi/proxy-refactor' into proxy-refactor 2015-08-15 20:22:45 +02:00
Maximilian Hils
2a15479cdb fix bugs, make https work 2015-08-15 20:20:46 +02:00
Thomas Kriechbaumer
a9dd82c986 add ALPN to proxy connections 2015-08-15 17:49:40 +02:00
Maximilian Hils
0dd243c5e4 various fixes 2015-08-15 16:26:12 +02:00
Maximilian Hils
747699b126 more work on http protocol 2015-08-14 16:49:52 +02:00
Maximilian Hils
808218f4bc more work on http layer 2015-08-14 10:41:11 +02:00
Maximilian Hils
aef3b626a7 wip commit 2015-08-11 20:32:14 +02:00
Maximilian Hils
026330a3b0 cleaner Exceptions, ssl -> tls, upstream proxy mode 2015-08-11 20:32:13 +02:00
Maximilian Hils
314e0f5839 add reverseproxy mode, fix bugs 2015-08-11 20:32:12 +02:00
Maximilian Hils
aac0ab23eb simplify layer code, add yield_from_callback decorator 2015-08-11 20:32:12 +02:00
Maximilian Hils
c46e3f90bb apply fixes from proxy-refactor-cb branch 2015-08-11 20:32:11 +02:00
Maximilian Hils
531ca4a356 minor fixes 2015-08-11 20:32:10 +02:00
Maximilian Hils
e815915b22 add auto layer, multiple other fixes 2015-08-11 20:32:10 +02:00
Maximilian Hils
c1d016823c move files around 2015-08-11 20:32:09 +02:00
Maximilian Hils
be995ddbd6 add ssl layer 2015-08-11 20:32:09 +02:00
Maximilian Hils
863113f989 first initial proof-of-concept 2015-08-11 20:32:08 +02:00
Thomas Kriechbaumer
891fa50e55 move code to netlib 2015-08-10 21:04:17 +02:00
Maximilian Hils
adf2877020 fix #705 2015-08-03 18:07:30 +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