Commit Graph

1621 Commits

Author SHA1 Message Date
Maximilian Hils
b02d66491c web: implement update and remove for list and view 2016-06-04 00:37:10 -07:00
Aldo Cortesi
d5532319c1 Basic ConsoleMaster tests, based on mastertester 2016-06-04 19:07:27 +12:00
Aldo Cortesi
af63a3e064 console/__init__.py -> console/master.py 2016-06-04 16:06:44 +12:00
Aldo Cortesi
f7f9cab5dc Rebase on master 2016-06-04 14:37:07 +12:00
Maximilian Hils
1b1ea98f08 web: add flows to redux state 2016-06-03 18:53:30 -07:00
Maximilian Hils
1b327f34c3 web: add redux list views 2016-06-03 18:38:25 -07:00
Maximilian Hils
d6fcd7e06d web: implement redux store fetching 2016-06-03 18:38:25 -07:00
Thomas Kriechbaumer
46d9cdd70a fix style 2016-06-03 18:57:46 +02:00
Maximilian Hils
e31aa39fc2 Merge branch 'redux-ducks' 2016-06-02 23:45:36 -07:00
Maximilian Hils
65fde7f554 Merge pull request #1190 from mitmproxy/file_menu_save_open
File menu save open
2016-06-02 23:42:35 -07:00
Maximilian Hils
5321f15def web: fix eventlog height registration 2016-06-02 23:41:32 -07:00
Maximilian Hils
7afac747a8 web: reduxify event log store 2016-06-02 23:40:30 -07:00
Maximilian Hils
7c63aa3708 web: reduxify WebSocket 2016-06-02 21:12:59 -07:00
Aldo Cortesi
1ab64da682 Merge pull request #1167 from xntrik/mark_filter
implement a toggle for viewing marked flows only in console
2016-06-03 15:05:18 +12:00
Aldo Cortesi
08e4cd2a40 Merge remote-tracking branch 'upstream/master' 2016-06-03 14:55:35 +12:00
Aldo Cortesi
25671b91bd Fix flow handling for mitmdump
Fixes #1188
2016-06-03 14:53:51 +12:00
Maximilian Hils
698d38b28e web: 🐣 2016-06-02 17:46:18 -07:00
Clemens
5e7fa349a9 final review done, nothing to change -> ready to merge 2016-06-02 21:01:22 +02:00
Maximilian Hils
9c6da08d00 fix dumpfile upload 2016-06-02 11:41:26 -07:00
Maximilian Hils
73e494770f web: add fetchApi convenience method 2016-06-02 10:34:16 -07:00
Clemens
89fc438e32 change some pr issuses 2016-06-02 10:31:24 -07:00
Clemens
a219d33430 basic file up and download working 2016-06-02 10:30:53 -07:00
Clemens
dfc033ab5f added basic file up_download functionality (not finish yet) 2016-06-02 10:30:43 -07:00
Maximilian Hils
d84610a41d web: use object spread operator
While the spread operator is not part of ES6, React also uses it for JSX.
It makes sense for us to keep it in other parts of the codebase as well.
2016-06-02 10:24:33 -07:00
Maximilian Hils
7a388560d7 use object spread operator
While the spread operator is not part of ES6, React also uses it for JSX.
It makes sense for us to keep it in other parts of the codebase as well.
2016-06-02 09:51:39 -07:00
Maximilian Hils
9e3591e3c2 add basic redux architecture, convert eventlog to redux 2016-06-02 00:04:10 -07:00
Aldo Cortesi
09da1febbd Shift a bunch more string-related functions to strutils 2016-06-02 13:04:19 +12:00
Aldo Cortesi
cccdc98426 Utils reorganisation: add netlib.strutils
Extract a number of string and format-related functions to netlib.strutils.
2016-06-02 12:31:41 +12:00
Aldo Cortesi
eaa3b308f7 Fix non-deterministic test failures in export
We had various places in the code where we relied on incidental order of dict
keys. Add a helper to multidict, and fix.
2016-06-02 11:37:18 +12:00
Aldo Cortesi
1a08048a8d Un-break mitmproxy console 2016-06-01 16:51:17 +12:00
Aldo Cortesi
137ee28bd6 Fix test suite 2016-06-01 15:10:54 +12:00
Aldo Cortesi
d60fdebc47 Fix lint harder 2016-06-01 14:50:06 +12:00
Aldo Cortesi
efbdd8d266 Merge branch 'module-imports' of github.com:mitmproxy/mitmproxy into module-imports 2016-06-01 14:43:24 +12:00
Aldo Cortesi
afcfa783ea Satisfy lint 2016-06-01 14:43:08 +12:00
Maximilian Hils
1ca45b1e64 fix imports 2016-05-31 19:35:10 -07:00
Maximilian Hils
3aa8d42b05 fix PIL import 2016-05-31 19:25:47 -07:00
Maximilian Hils
0a2e7a97cd use module-level imports only 2016-05-31 19:06:57 -07:00
Maximilian Hils
30fff1fb32 be more strict about module namespaces 2016-05-31 14:05:57 -07:00
Aldo Cortesi
42e91fcfe1 http2.frame -> http2.framereader 2016-05-31 20:32:28 +12:00
Aldo Cortesi
b2f63458fc Move human-friendly format functions to netlib.human, remove redundant implementations 2016-05-31 19:32:08 +12:00
Aldo Cortesi
ec34cae618 utils.multipartdecode -> http.multipart.decode
also

utils.parse_content_type -> http.headers.parse_content_type
2016-05-31 19:07:55 +12:00
Aldo Cortesi
6dda2b2ee5 Module is part of the name - url.decode, not url.urldecode
A pattern we need to use far more often in the codebase
2016-05-31 18:46:19 +12:00
Aldo Cortesi
4e6c9c4e93 Extract url functions from netlib.utils and move to netlib.http.url 2016-05-31 18:42:56 +12:00
Aldo Cortesi
08fbe6f111 Start cleaning up netlib.utils
- Remove http2 functions, move to http2.frame
- Remove Serializable, move to netlib.basetypes
2016-05-31 17:16:31 +12:00
Aldo Cortesi
4de4223b2d Extend pseudo-header treatment to :status on responses 2016-05-31 15:12:20 +12:00
Aldo Cortesi
9ea68ebd28 Improve handling of pseudo-headers
- The canonical source for :method, :scheme and :path are the .method, .scheme
and .path attributes on the request object.
- These pseudo-headers are stripped after reading the request, and re-inserted
just before sending.
- The :authority header remains, and should be handled analagously to the Host
header in HTTP1 with respect to display and user interaction.
2016-05-31 14:36:17 +12:00
Maximilian Hils
e3d7224e5d tell flake8 that type-annotation imports are okay 2016-05-30 02:53:58 -07:00
Maximilian Hils
89f07603ca split mitmproxy.flow into mitmproxy.flow.* 2016-05-30 01:40:09 -07:00
Clemens Brunner
6652e3a369 start of developing server side for options (#1155)
* added UI for options menu

* update UI for options menu

* update UI for options v2

* update UI for options v2

* added new btn class

* little changes

* little changes

* merge

* deleted branch

* change menu button class

* added option route + added very incomplete handler class

* moved options to settings

* added toggleinputbutton

* changed options menu

* added option for stream large bodies, but no working

* added option for stream large bodies, but no working
2016-05-29 23:34:30 -07:00
Aldo Cortesi
e8290a0eb4 Satisfy flake8 2016-05-30 12:41:44 +12:00
Maximilian Hils
2e633af5aa handle_* -> * leftovers 2016-05-29 13:01:45 -07:00
Thomas Kriechbaumer
748cbaa074 cleanup 2016-05-29 20:09:53 +02:00
Thomas Kriechbaumer
a0e4bba7aa more style cleanup 2016-05-29 15:13:08 +02:00
Thomas Kriechbaumer
e2447406cc more style cleanup 2016-05-29 13:43:20 +02:00
Thomas Kriechbaumer
8eeab37a07 more style cleanup
Use this to check:
flake8 --count mitmproxy netlib pathod examples test
2016-05-29 11:55:12 +02:00
Maximilian Hils
4544e0f337 fix docs typo 2016-05-29 02:00:30 -07:00
Aldo Cortesi
6c8ad6d894 controller.ControlError -> exceptions.ControlException 2016-05-29 20:22:30 +12:00
Aldo Cortesi
8638000cfa Add some comments to controller wrapper. 2016-05-29 20:17:35 +12:00
Aldo Cortesi
0176f50e4f Adapt examples 2016-05-29 12:54:52 +12:00
Aldo Cortesi
0a875421c5 handle_* -> *
Now that we have the controller.handler decorator, the _handler prefix
stutters.
2016-05-29 12:49:01 +12:00
Aldo Cortesi
8bb9285678 Explicitly list all events 2016-05-29 12:15:52 +12:00
Aldo Cortesi
e4f043f69c Flatten ServerMaster into Master 2016-05-29 12:01:46 +12:00
Aldo Cortesi
ed415877d4 Merge branch 'master' into solidcore 2016-05-29 11:14:46 +12:00
Thomas Kriechbaumer
7971dce223 mitmproxy: fix most flake8 offenses 2016-05-28 22:45:15 +02:00
Thomas Kriechbaumer
caee1adeb6 cleanup imports with flake8 2016-05-28 14:43:32 +02:00
Aldo Cortesi
0042653498 Be stricter about the handler call signature
Uses this to catch an error in mitmweb
2016-05-28 13:21:07 +12:00
Aldo Cortesi
804e04ef43 Zap stray debugging call 2016-05-28 12:47:26 +12:00
Aldo Cortesi
f4813d5649 Make @controller.handler inheritance-friendly
Use this to adapt mitmweb and mitproxy console
2016-05-28 12:38:07 +12:00
Aldo Cortesi
f29f6210bb Mandate that all handlers must be wrapped, make tests pass
mitmproxy, mitmdump and mitmweb masters still to be done
2016-05-28 11:00:00 +12:00
Aldo Cortesi
7c4843857b Sketch out a more solid core
- Decorator for handler methods
- Stricter checking for double-acks and non-acks
2016-05-28 11:00:00 +12:00
Christian Frichot
dbc3e72723 implement a toggle for viewing marked flows only in console 2016-05-24 07:14:05 -07:00
Thomas Kriechbaumer
ebaad91484 Merge pull request #1127 from mitmproxy/tcp-flows
mitmdump: Add Basic Support for TCP Flows
2016-05-23 20:54:14 +02:00
Maximilian Hils
354b8f84df minor fixes (#1165) 2016-05-23 11:47:16 -07:00
Maximilian Hils
c160a47e51 warn users if rfile == outfile, refs #1117 2016-05-21 15:25:57 -07:00
Thomas Kriechbaumer
e6c2e012a5 fix weight value serialization 2016-05-21 21:45:36 +02:00
Maximilian Hils
ed4c99b33a Merge pull request #1164 from Kriechi/improve-http2
Improve http2
2016-05-21 11:49:53 -07:00
Thomas Kriechbaumer
85a3a92a8a kill streams if connection gets terminated 2016-05-21 20:24:21 +02:00
Thomas Kriechbaumer
6965c93be6 implement transparent Priority updates 2016-05-21 20:17:59 +02:00
Thomas Kriechbaumer
f7ce8e219e fix typo 2016-05-21 18:35:29 +02:00
Thomas Kriechbaumer
0cb2e656cd immediately send push to client 2016-05-21 17:42:47 +02:00
Maximilian Hils
dcad3f72af Merge branch 'issue-1099' 2016-05-20 20:02:56 -07:00
Aldo Cortesi
97f3077082 Merge branch 'mhils-multidict' 2016-05-21 15:01:19 +12:00
Aldo Cortesi
14fb2eeb1e Merge pull request #1109 from mitmproxy/faster-tls
Speed up TLS handshake if SNI is present
2016-05-21 12:15:30 +12:00
Aldo Cortesi
123e3b130c We don't need 3 slightly different implementations of Data 2016-05-21 11:53:14 +12:00
Aldo Cortesi
96d8ec1ee3 Merge branch 'multidict' of https://github.com/mhils/mitmproxy into mhils-multidict 2016-05-21 10:15:37 +12:00
Maximilian Hils
eb914924ab fix #1099 2016-05-20 13:59:42 -07:00
Maximilian Hils
f96697646c add FlowMaster.active_flows 2016-05-19 22:09:00 -07:00
Maximilian Hils
d3c30d9005 fix tests, don't double-add error'd flows 2016-05-19 22:07:56 -07:00
Maximilian Hils
acd51befbb minor fixes, adjust tests 2016-05-19 22:07:56 -07:00
Maximilian Hils
43c5205424 mimtdump: add basic support for tcp flows 2016-05-19 22:07:56 -07:00
Maximilian Hils
395b11d288 minor improvements 2016-05-19 22:07:30 -07:00
Maximilian Hils
f4c3c01266 display response reason in ui 2016-05-18 22:51:13 -07:00
Maximilian Hils
6f8db2d7eb improve MultiDict, add ImmutableMultiDict, adjust response.cookies 2016-05-18 22:50:19 -07:00
Maximilian Hils
44ac64aa72 add MultiDict
This commit introduces MultiDict, a multi-dictionary similar to
ODict, but with improved semantics (as in the Headers class).
MultiDict fixes a few issues that were present in the Request/Response
API. In particular, `request.cookies["foo"] = "bar"` has previously been a
no-op, as the cookies property returned a mutable _copy_ of the cookies.
2016-05-18 18:46:42 -07:00
Thomas Kriechbaumer
eeccb2faa0 http2: cleanup 2016-05-17 22:44:38 -07:00
Thomas Kriechbaumer
43ab9f7bd0 http2: properly handle connection errors 2016-05-17 21:26:06 -07:00
Yoginski
b155dfd771 Updated the docstring (#1150) 2016-05-17 11:15:18 -07:00
Kostya Esmukov
7fdc0a94db Fixed HTTP2 headers being folded. (#1143) (#1144) 2016-05-14 04:59:21 -07:00
Clemens Brunner
902cd255d4 added UI for options menu (#1130)
* added UI for options menu

* update UI for options menu

* update UI for options v2

* update UI for options v2

* added new btn class

* little changes

* little changes

* merge

* deleted branch

* change menu button class
2016-05-14 05:40:11 -06:00
Jonathan Jones
551fafd451 showing url for terminals that support clickable links when starting mitmweb (#1141) 2016-05-14 05:39:17 -06:00
Maximilian Hils
f1c922c652 Sanitize Print (#1135)
* sanitize strings with shell control characters

* netlib: add utilities to safe-print bytes

* escaped str: add TODO for multi-byte chars
2016-05-12 11:03:57 -06:00
Thomas Kriechbaumer
7a813936c6 disable http2 header encoding, use bytes everywhere 2016-05-11 16:47:58 -05:00
Thomas Kriechbaumer
bbf7b6f690 Merge pull request #1134 from mhils/fix-versions
Fix `version.NAME`
2016-05-11 13:27:58 -05:00
Maximilian Hils
acab4fea5a fix version.NAME 2016-05-11 13:02:19 -06:00
Thomas Kriechbaumer
bef72c1b02 Merge pull request #1121 from Kriechi/fix-cookies
improve cookie parsing
2016-05-11 12:30:44 -05:00
Thomas Kriechbaumer
e2ee48a0ee replace SimpleCookie with our own parser lib 2016-05-11 12:20:21 -05:00
Maximilian Hils
67a37e6d1f improve script loading 2016-05-11 11:15:36 -06:00
Maximilian Hils
bb4f9611f5 Revert "fix tests"
This reverts commit f315dc1eb9.
2016-05-10 12:18:05 -06:00
Maximilian Hils
f315dc1eb9 fix tests 2016-05-10 12:17:25 -06:00
Thomas Kriechbaumer
08002282e8 improve cookie parsing
allows '/' to be within a cookie name
removes deprecated cookie getter/setter
fixes #1118
2016-05-10 11:13:12 -05:00
Thomas Kriechbaumer
73a5d479bb cleanup h2 layer 2016-05-10 10:57:25 -05:00
Maximilian Hils
01f52ee56a fix mitmdump shutdown 2016-05-08 16:54:30 -06:00
Maximilian Hils
3c644274e9 mitmdump: make sure to always call done() in inline scripts 2016-05-08 16:49:36 -06:00
Maximilian Hils
9ac9df82c4 actually fix #1115 2016-05-06 12:48:44 -07:00
Maximilian Hils
99178c57db issue-1115 2016-05-06 12:39:00 -07:00
Maximilian Hils
ff53e7a6eb scripts: allow package imports 2016-05-03 19:54:16 -07:00
Maximilian Hils
7e633d8a8a fix ClientHello.__repr__ 2016-05-02 19:05:14 -07:00
Maximilian Hils
a91d8d9d26 improve server tls handshake behaviour 2016-05-02 18:53:08 -07:00
Maximilian Hils
67537ee614 simplify ClientHello handling 2016-05-02 18:18:20 -07:00
Maximilian Hils
626f7e1017 improve tls handling, separate set_server and set_server_tls 2016-05-02 18:18:20 -07:00
Maximilian Hils
7f894c131b speed up TLS handshake if SNI is present 2016-05-02 18:18:20 -07:00
Maximilian Hils
b5e5917f7f web: update dependencies 2016-05-02 14:33:43 -07:00
Thomas Kriechbaumer
f456591db0 Merge pull request #1102 from mitmproxy/stateobject-list
Add support for stateobject lists
2016-04-30 12:05:57 +02:00
Steven Noble
96512dd848 Include correct documentation URL in error message 2016-04-30 00:45:07 -07:00
Maximilian Hils
74cfd7a4e2 stateobject: support lists 2016-04-29 20:59:26 -07:00
Maximilian Hils
cb1119f3ee fix bugs introduced in 317b4be 2016-04-29 20:58:51 -07:00
Maximilian Hils
30bafea41a tcp protocol: stop on server shutdown 2016-04-29 20:33:07 -07:00
Maximilian Hils
317b4becca mitmdump: don't fail for other flowtypes 2016-04-29 20:18:32 -07:00
Maximilian Hils
60bbc250d4 mitmdump: fix shutdown after reading flow file 2016-04-29 20:17:18 -07:00
Maximilian Hils
4c331e2d01 fix bug introduced in 909d5ec 2016-04-29 12:36:07 -07:00
Maximilian Hils
54c4859a95 remove netlib version check 2016-04-29 12:00:38 -07:00
Maximilian Hils
909d5ec87e FlowReadError -> FlowReadException 2016-04-29 11:17:49 -07:00
Maximilian Hils
c7a85d1b9e fix #1089 2016-04-28 17:51:53 -07:00
Zohar Lorberbaum
acaca765e4 Generate better function names for root url. (#1100) 2016-04-28 15:09:42 -07:00
Steven Van Acker
66267ad276 support for setting/sending multiple cookies (#1091)
* support for setting/sending multiple cookies

* py.test for multiple cookie support
2016-04-22 11:16:05 -07:00
Maximilian Hils
9f92855c99 update reverse proxy documentation, fix #1092 2016-04-21 17:56:18 -07:00
Maximilian Hils
49d1bcc8a2 fix CONNECT display in upstream mode 2016-04-20 15:27:39 -07:00
Maximilian Hils
c17ccead6d mitmdump: allow stdin as infile 2016-04-18 16:04:37 -07:00
Maximilian Hils
02ba76ea09 fix proxy authorization bug, refs #988 2016-04-17 15:44:37 -07:00
Maximilian Hils
423c076c61 cleanup mitmproxy.controller, raise Kill in Channel (#1085) 2016-04-14 12:03:29 -07:00
Maximilian Hils
bc60c26c7b py3++ 2016-04-13 22:34:28 -07:00
Maximilian Hils
1ab51a1d3d fix #1082 2016-04-13 20:32:05 -07:00
Maximilian Hils
a3f8a7c72c minor improvements 2016-04-13 20:30:34 -07:00
Maximilian Hils
70e35b7017 peer_address -> ip_address 2016-04-11 14:14:18 -07:00
Maximilian Hils
14e9b0a0ac docs: better data structure docs 2016-04-11 14:13:48 -07:00
Maximilian Hils
c22b14fae7 bump version 2016-04-09 20:01:24 -07:00
Maximilian Hils
dcdee7dc46 server replay: keep --kill active 2016-04-09 16:47:05 -07:00
Maximilian Hils
4d16bb8cb6 Merge branch 'master' of https://github.com/mitmproxy/mitmproxy 2016-04-09 14:35:37 -07:00
Maximilian Hils
5c333ee3ba fix client playback logic 2016-04-09 14:35:30 -07:00
Anthony Zhang
4306304827 Fix being unable to export binary data in requests (#1069) 2016-04-09 14:21:14 -07:00
Maximilian Hils
5c8e7a090e fix server replay shutdown 2016-04-09 14:20:08 -07:00
Maximilian Hils
0259f47997 Merge branch 'better-replace' 2016-04-03 08:17:30 -07:00
Thomas Kriechbaumer
b39560aaae Merge pull request #1076 from mitmproxy/issue-1061
Fix #1061
2016-04-03 10:19:44 +02:00
Thomas Kriechbaumer
f5fe93bf13 Merge pull request #1074 from mitmproxy/move-response-refresh
move HTTPResponse.refresh into netlib
2016-04-03 10:16:39 +02:00
Thomas Kriechbaumer
16fdbb4f2f Merge pull request #1073 from mitmproxy/first-line-format
form_(in|out) -> first_line_format
2016-04-03 10:16:06 +02:00
Maximilian Hils
35a6d6e7f6 response.msg -> response.reason 2016-04-02 22:54:46 +02:00
Maximilian Hils
4e2acc4d9d move HTTPResponse.refresh into netlib 2016-04-02 22:49:05 +02:00
Maximilian Hils
a267934d99 minor simplifications 2016-04-02 22:00:14 +02:00
Maximilian Hils
e6fa2688c9 form_(in|out) -> first_line_format 2016-04-02 21:57:35 +02:00
Maximilian Hils
050431fdd6 improve timing display 2016-04-02 21:33:51 +02:00
Maximilian Hils
610842cda5 fix FlowMaster.create_request, add test 2016-04-02 21:15:55 +02:00
Maximilian Hils
d6e58bd16c fix #1052 2016-04-02 21:07:55 +02:00
Maximilian Hils
3a1486183c fix #1061 2016-04-02 21:03:36 +02:00
Maximilian Hils
76b930ff70 Merge branch 'master' of https://github.com/mitmproxy/mitmproxy 2016-04-02 14:39:14 +02:00
Maximilian Hils
806aa0f41c improve .replace() and move it into netlib 2016-04-02 14:38:33 +02:00
Maximilian Hils
4ee8808b44 add Serializeable.copy 2016-04-02 13:50:53 +02:00
Will Coster
55bffe1782 Fix XSS vulnerability in HTTP errors
The make_error_response method does not properly escape characters
that end up in the response body. Since the error code can contain
user supplied values this leads to a potential XSS vulnerability.

Example:

    echo '<script>alert(1)</script>' | nc localhost 8888
2016-03-31 10:22:29 -07:00
Zohar Lorberbaum
6d16f44ab7 Merge with master 2016-03-28 10:03:26 -07:00
Zohar Lorberbaum
e56198ae7c cleaner target url 2016-03-28 09:51:06 -07:00
Zohar Lorberbaum
ef3d24e8c8 locust_task re-use locust_code. 2016-03-27 21:42:52 -07:00
Zohar Lorberbaum
9f77c80a32 pep8 2016-03-25 17:29:42 -07:00
Zohar Lorberbaum
5b07e8b3af Add UI shortcuts. 2016-03-24 20:29:53 -07:00
Zohar Lorberbaum
a44062effb Flow export to locust.io load test tool. 2016-03-23 01:49:18 -07:00
Maximilian Hils
2d6eb28fd0 py3++ 2016-03-20 23:39:57 +01:00
Maximilian Hils
e739517070 py3++ 2016-03-20 23:14:22 +01:00
Maximilian Hils
726536689b py3++ 2016-03-20 22:58:35 +01:00
Maximilian Hils
2ce023a991 py3++ 2016-03-20 22:50:03 +01:00
Maximilian Hils
6f902ffbb3 py3++: iteritems 2016-03-20 19:56:22 +01:00
Maximilian Hils
b0a16dee20 fix script exception display 2016-03-19 20:27:03 +01:00
Maximilian Hils
c52c59f858 port mitmproxy.scripts to py3 2016-03-19 19:53:27 +01:00
Maximilian Hils
7e49b8c186 add tests for mitmproxy.script.reloader 2016-03-19 03:04:55 +01:00
Maximilian Hils
898f5d10b9 improve mitmproxy.scripts semantics, clean up tests 2016-03-19 03:04:55 +01:00
Maximilian Hils
f5a6ebf584 remove code duplication 2016-03-18 14:54:42 +01:00
Maximilian Hils
983b0dd4f6 Merge pull request #1014 from ikoz/master
New option: Add server certs to client chain
2016-03-17 02:28:00 +01:00
ikoz
b4e7aaf2f6 Make the add-server-certs-to-client-chain and verify-upstream-cert options mutually exclusive whily processing the proxy options. Do the same for the add-server-certs-to-client-chain and no-upstream-cert options. 2016-03-16 22:57:57 +00:00
ikoz
8ed491201a Revert "Create mutually exclusive group for add-server-certs-to-client-chain and verify-upstream-cert command line options. These are not meaningful together."
This reverts commit 02e378486b.
2016-03-16 22:45:27 +00:00
ikoz
9cc55f211f Rename 'server' to 'upstream' in identifiers related to the AddServerCertsToClientChain feature 2016-03-16 19:20:18 +00:00
ikoz
02e378486b Create mutually exclusive group for add-server-certs-to-client-chain and verify-upstream-cert command line options. These are not meaningful together. 2016-03-16 19:15:44 +00:00
Thomas Kriechbaumer
0ab9e60168 Merge pull request #1019 from lilydjwg/master
add resolved IP address in "Details" tab
2016-03-15 23:28:08 +01:00
lilydjwg
eecadadce3 use "peer_address" instead of "sock_address" 2016-03-15 21:32:06 +08:00
Maximilian Hils
4604c25c60 fix #1025, refs #983 2016-03-12 23:55:56 +01:00
Maximilian Hils
d3a55cd3f0 Merge pull request #1027 from gzzhanghao/vscroll
[web] fix virtual scroll range
2016-03-12 19:00:16 +01:00
Jason
ae61025d5d [web] fix virtual scroll range 2016-03-12 23:06:21 +08:00
Thomas Kriechbaumer
2d31c5c786 Merge pull request #1011 from MatthewShao/master
Fix #1005
2016-03-11 17:33:04 +01:00
Thomas Kriechbaumer
e74e212a7a Merge pull request #1022 from dufferzafar/fix-1018
Fix missing cookie import
2016-03-11 13:19:58 +01:00
Shadab Zafar
90587cf998 Fix missing cookie import 2016-03-11 17:36:04 +05:30
Matthew Shao
426f84d930 Add update_focus method in console/__init__.py. 2016-03-11 08:44:51 +08:00
Jason
1c0496e051 [web] VirtualScroll and AutoScroll helper 2016-03-10 21:40:07 +08:00
依云
e9bff5ac56 add resolved IP address in "Details" tab 2016-03-10 21:23:31 +08:00
Maximilian Hils
b413a052f9 Merge pull request #1012 from gzzhanghao/router
[web] eliminate common.Router.getParams
2016-03-09 18:54:34 +01:00
Maximilian Hils
454cca43f0 Merge pull request #1015 from gzzhanghao/props
[web] dont mutate props
2016-03-09 18:53:05 +01:00
Jason
84f180847d [web] dont mutate props 2016-03-09 13:30:55 +08:00
ikoz
0169271bf9 New option: Add server certs to client chain
If enabled, append all server certificates to the certificate chain
served to the client, as extras. Can be used to bypass certain
certificate pinning impementations.
2016-03-08 18:13:36 +00:00
Jason
4522b2b62f [web] fix footer label margin 2016-03-09 00:39:51 +08:00
Jason
df8b21c08f [web] eliminate common.Router.getParams 2016-03-09 00:28:44 +08:00
Matthew Shao
6eb584f766 Fix #1005 2016-03-08 19:42:38 +08:00
Jason
ca9a493a1c [web] uniform code style for Footer component 2016-03-08 00:57:01 +08:00
Jason
0545326dc0 [web] eliminate SettingsState 2016-03-07 18:47:08 +08:00
Maximilian Hils
34d19cf12e Merge pull request #994 from gzzhanghao/common
[web] remove common.ChildFocus
2016-03-05 13:20:43 +01:00
Thomas Kriechbaumer
f59770e949 Merge pull request #969 from dufferzafar/pretty-export
Indent JSON body while exporting it as code
2016-03-04 19:57:22 +01:00
Thomas Kriechbaumer
d7e9dda85c Merge pull request #988 from xhy940801/master
Add upstream proxy authentication
2016-03-04 19:47:31 +01:00
yonder
0e27dfd9c1 Improve test case 2016-03-04 11:12:03 -05:00
Shadab Zafar
9540ede112 Use separators param in json.dumps() to avoid trailing whitespace 2016-03-04 01:05:35 +05:30
Shadab Zafar
01a99f2b25 Handle the case of correct json content-type but malformed body 2016-03-04 01:01:16 +05:30
Shadab Zafar
ec61cfddfd Use json instead of contentviews 2016-03-03 06:44:19 +05:30
yonder
b8ae666c78 Add test for upstream-auth 2016-03-02 12:19:33 -05:00
Jason
1d002182e3 [web] remove common.ChildFocus 2016-03-02 22:37:32 +08:00
Jason
70af4fae46 [web] StoreView.index -> indexOf 2016-03-02 21:55:36 +08:00
Jason
eb19077913 [web] fix StoreView.index 2016-03-02 15:59:56 +08:00
Shadab Zafar
1548185a17 Use requests' json parameter 2016-03-01 18:45:05 +05:30
Shadab Zafar
ac25206420 Indent JSON body while exporting it as code
Fixes #968
2016-03-01 17:39:32 +05:30
yonder
0077e0f8d9 Add upstream proxy authentication 2016-03-01 17:40:32 +08:00
Maximilian Hils
3de89ab16c web: use es6 modules 2016-02-29 02:57:35 +01:00
Maximilian Hils
9192427d7b web: fix router 2016-02-29 02:16:38 +01:00
Maximilian Hils
cbb068edaa fix up web stuff 2016-02-28 22:35:08 +01:00
Maximilian Hils
c68ab3e60c Merge branch 'master' of https://github.com/mitmproxy/mitmproxy 2016-02-27 02:17:10 +01:00
Maximilian Hils
b8b37fdad6 add simplified connection constructor 2016-02-27 02:17:01 +01:00
Maximilian Hils
679c97ec3e fix #966 2016-02-27 02:13:26 +01:00
Thomas Kriechbaumer
02ec4c8207 fix h2 imports
fixes #975
2016-02-23 22:10:15 +01:00
Maximilian Hils
cf57020038 fix proxy reconnect 2016-02-20 22:08:49 +01:00
Thomas Kriechbaumer
985213a6bc fix tests 2016-02-20 18:55:43 +01:00
Maximilian Hils
e8611acb76 fix #951 2016-02-19 00:46:57 +01:00
Aldo Cortesi
a635e04fbf console: slightly less hacky hack show http2 warning after first tick 2016-02-19 12:16:55 +13:00
Thomas Kriechbaumer
7d2c7efa57 enable HTTP/2 by default if available 2016-02-18 23:53:53 +01:00
Maximilian Hils
d33d3663ec combine projects 2016-02-18 13:03:40 +01:00
Maximilian Hils
18b619e164 move mitmproxy/web to root 2016-02-18 12:29:35 +01:00
Maximilian Hils
bf024cd153 Merge branch 'master' of https://github.com/mitmproxy/mitmproxy 2016-02-18 11:27:40 +01:00
Maximilian Hils
f42af90612 move bin into release, update rtool 2016-02-18 11:25:29 +01:00
Aldo Cortesi
31ab3a231e Merge pull request #959 from thiagoarrais/doc-fix
Fix misleading documentation for clipboard command
2016-02-18 10:42:07 +13:00
Thiago Arrais
3343882737 Fix help
'P' can also be used on the request screen!
2016-02-17 18:34:21 -03:00
Aldo Cortesi
46abde94a4 Merge branch 'h2' of https://github.com/Kriechi/mitmproxy into Kriechi-h2 2016-02-18 10:22:33 +13:00
Aldo Cortesi
36e070ee25 Pull bin to the top, move pathod examples to examples dir 2016-02-18 10:15:59 +13:00
Aldo Cortesi
2e7b29ce20 Merge remote-tracking branch 'origin/unify' 2016-02-18 10:10:31 +13:00
Aldo Cortesi
92597f82ea Docs and examples to top level 2016-02-18 09:27:08 +13:00
Aldo Cortesi
49464de1cb Merge branch 'master' of ssh.github.com:mitmproxy/mitmproxy 2016-02-18 09:05:54 +13:00
Aldo Cortesi
10047a025f One CHANGELOG at the top of the repo 2016-02-18 09:05:24 +13:00
Thomas Kriechbaumer
262b4bc482 upgrade h2, remove reset-stream hotfix 2016-02-17 15:34:31 +01:00
Will Coster
595d2a2fa0 Add a content view for query parameters
The query content view uses format_dict to display a table of query
parameters and is made the default content view for requests with
query parameters and no request body.

To facilitate this the query parameter dictionary of HTTPRequests is
added to the metadata content view parameter under the "query" key.

Additionally, the logic for handling "no content" messages is moved
from contentviews.get_content_view to ViewAuto. This is necessary as
it allows the query content view to be displayed when there is no
request body.
2016-02-16 18:50:10 -08:00
Maximilian Hils
b7701eb8c1 add combined MANIFEST.in and CHANGELOG 2016-02-17 00:02:18 +01:00
Thomas Kriechbaumer
d95a1f9819 fix all libmproxy->mitmproxy references 2016-02-16 20:56:33 +01:00
Thomas Kriechbaumer
f1a0a3b228 rename mitmproxy source directory 2016-02-16 20:37:59 +01:00
Maximilian Hils
5101843683 fix wheel creation, re-add MANIFEST.in 2016-02-16 04:28:10 +01:00
Maximilian Hils
4583fa7922 remove MANIFEST.in, move Dockerfile to root 2016-02-16 00:57:42 +01:00
Maximilian Hils
ec4f7ab050 update mitmproxy changelog 2016-02-16 00:45:43 +01:00
Maximilian Hils
615e4ec163 Merge branch 'master' of https://github.com/mitmproxy/mitmproxy 2016-02-16 00:22:41 +01:00
Maximilian Hils
10f9b6faa7 fix release tool, refs #947 2016-02-16 00:22:38 +01:00
Aldo Cortesi
d17ae31452 Satisfy pip constraints, set +x on executables 2016-02-16 12:04:25 +13:00
Maximilian Hils
f864266ccc update shield.io badges 2016-02-15 23:05:30 +01:00
Maximilian Hils
3d9a5157e7 use own shields instance, update pathod readme 2016-02-15 21:13:06 +01:00
Maximilian Hils
a78c6f1cb0 update README.rst, minor fixes 2016-02-15 19:43:55 +01:00
Maximilian Hils
b7af845523 fix appveyor, re-introduce requirements.txt 2016-02-15 18:12:12 +01:00
Maximilian Hils
a1190c3696 adjust travis 2016-02-15 17:06:32 +01:00
Maximilian Hils
b211bef9a1 fix tests 2016-02-15 16:34:38 +01:00
Maximilian Hils
d7158f975e move tests into shared folder 2016-02-15 16:34:22 +01:00
Maximilian Hils
95cef3c0e9 merge metadata files 2016-02-15 15:43:59 +01:00
Maximilian Hils
33fa49277a move mitmproxy 2016-02-15 14:58:46 +01:00
Aldo Cortesi
a05a70d816 Add coding style check, reformat. 2015-05-30 12:03:28 +12:00
Aldo Cortesi
e5412e9dd9 Docs stub for Unbuntu, restore executable flag on binaries. 2014-09-09 17:57:39 +12: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
f14eeef653 remove debug switch 2014-03-13 23:47:02 +01:00
Maximilian Hils
1bfc164692 adjust tests, fix option handling 2014-03-13 01:22:12 +01:00
Maximilian Hils
aefb30ea60 restrict -e to mitmproxy only (not mitmdump) 2014-03-12 22:13:00 +01:00
Maximilian Hils
5598a8de82 finish proxy.py split up 2014-03-09 21:51:24 +01:00
Maximilian Hils
5811e79361 print warning if netlib and mitmproxy versions are different. 2014-01-22 16:21:17 +01: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
9f6657727b Make UTF environment detection more robust.
Fixes #125
2013-06-09 11:20:02 +12:00
Aldo Cortesi
9e94fdc6db Make ready for pyinstaller. 2013-05-15 11:25:25 +12:00
Aldo Cortesi
d86b7c7f77 Prin an error when mitmproxy runs in a non-UTF environment. 2013-05-13 21:41:16 +12:00
Maximilian Hils
ed389d8f05 use argparse instead of optparse 2012-08-17 19:11:59 +02:00
Aldo Cortesi
35d5da9f11 Move palette option getting/setting to mitmproxy.
Unbreaks mitmdump.
2012-07-03 13:42:09 +12:00
Aldo Cortesi
f9b04b84cd Silence a (rare) KeyboardInterrupt exception in mitmproxy. 2012-05-31 21:18:41 -07:00
Aldo Cortesi
c02fdb2463 Refactor proxy.Server to fix a crash when replaying with -n 2012-04-02 13:24:51 +12:00
Aldo Cortesi
76175672ad Add specification of replacement patterns on the command line. 2012-03-17 17:20:34 +13:00
Aldo Cortesi
cdd5a53767 Refactor console.
Split the console implementation out into logical components.
2012-02-07 16:39:37 +13:00
Aldo Cortesi
d9db1cf5b3 Change size limit cmdline flag to -Z, enable size limits for replay. 2011-09-09 17:31:36 +12:00
Aldo Cortesi
67f2610032 Add HTTP body size limit specification to command-line tools. 2011-09-09 15:27:31 +12:00
András Veres-Szentkirályi
9abff4f0ac Removed unused imports 2011-08-18 23:30:02 +02:00
Aldo Cortesi
e285b17e3f Add -r option to mitmdump and mitmproxy.
This option reads a set of flows from a file. I've also regularized the
mitmdump and mitmproxy command-line signatures by removing mitmproxy's old way
of specifying flow loads through naked arguments.
2011-05-15 11:54:12 +12:00
Aldo Cortesi
f89581be1b Add a -n option which tells the tools not to bind a proxy.
This is useful when you just want to inspect or process dumps.
2011-05-14 10:44:25 +12:00
Aldo Cortesi
c3105153a5 Add some debugging output to help troubleshoot a performance problem. 2011-03-27 13:10:06 +13:00
Aldo Cortesi
6cb40d03f4 Fix a number of small UI infelicities.
- Make request/response view switching behave sensibly
- Avoid having an empty string appear in connection view text. This makes urwid
misbehave.
- Make it clear that intercept and cookies specifications are filters.
2011-03-13 21:16:42 +13:00
Aldo Cortesi
0042687f0d Remove beep functionality from mitmproxy.
This acts funny (sometimes works, sometimes doesn't) and isn't really useful.
2011-03-13 11:26:30 +13:00
Aldo Cortesi
2f457e041e Unify mitmproxy and mitmdump commandline
- Extract common options into cmdline.py
- Change mitmproxy keybindings to fit command line

Some cmdline options and keybindings aren't in operation yet - just stubs
where functionality will be added in the next few commits.
2011-03-12 14:30:12 +13:00
Aldo Cortesi
9927ebad3e Make mitmproxy handle invalid flow data gracefully. 2011-03-12 13:49:54 +13:00
Aldo Cortesi
40e9067b83 Handle invalid bind address specifications gracefully. 2011-03-12 13:47:37 +13:00
Aldo Cortesi
592812467d Move version constants to version.py, add version to serialized flows.
For now, we don't do anything with the serialized version info, but this should
give us some future-proofing for serialization format changes.
2011-03-09 12:36:14 +13:00
Aldo Cortesi
2e492b8e94 Minor command-line argument fixes. 2011-02-25 21:33:31 +13:00
Aldo Cortesi
57f96c5fe0 Minor housekeeping - unused code, nocover directives.
95% test coverage.
2011-02-24 15:44:08 +13:00
Aldo Cortesi
7ddba22f51 Certificates are now generated in a temporary per-session directory.
This means that certificates don't accumulate in the conf directory, users
don't have to clear certificates if the CA is regenerated, and the user can
specify a custom CA without invalid certificates being loaded inadvertently.
2011-02-20 13:29:41 +13:00
Aldo Cortesi
c2ae8285f4 Revamp SSL configuration.
- Move option parsing utiliities to proxy.py

- Don't have a global config object. Pass it as an argument to ProxyServer.

- Simplify certificate generation logic.
2011-02-20 12:53:42 +13:00
Aldo Cortesi
4fc807cedd Clean up certificate generation.
- Use templates for config files. We can re-introduce customization of the
certificate attributes when we need them.

- Split CA and cert generation into separate functions.

- Generation methods provide an error return when generation fails.

- When the user explicitly specifies a certificate, we don't generate it, but
fail if it doesn't exist.
2011-02-20 12:17:10 +13:00
Henrik Nordstrom
7758385ac1 Extract common SSL certificate option processing 2011-02-16 15:50:44 +01:00
Aldo Cortesi
d9374ff97b Extract common SSL certificate options into a group.
Use this only in mitmdump and mitmproxy for now.
2011-02-16 23:09:42 +13:00
Henrik Nordstrom
32adee8743 Implement a dummy CA 2011-02-10 02:59:51 +01:00
Henrik Nordstrom
4ffaadd435 Allow specifying the accepted ciphersuites 2011-02-10 02:59:51 +01:00
Henrik Nordstrom
061cea89da Import cache store control into console controller 2011-02-10 02:59:51 +01:00
Aldo Cortesi
44dc3a052e Add option to tell mitmproxy which interfaces to bind to. 2011-02-06 10:52:54 +13:00
Aldo Cortesi
091db9cdf2 Prompt user on quit. 2011-01-28 12:55:02 +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
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
bd6c0499fb Fix UI sync bugs introduced by flow serialization. 2011-01-26 22:17:42 +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
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
b91156723b Split mitmproxy and mitmdump - mitmdump is the non-interactive verison of mitmproxy. 2010-03-01 14:48:06 +13:00
Aldo Cortesi
a7cea1749b Make beeping more general.
- The "B" key now sets a filter pattern. Whenever the filter matches, the
  terminal beeps.
- The beep specification is now stored in the State object, where I want to
  keep all mutable state.
- I've removed the startup flags for beeping for now. We probably want to let
  users specify a number of options on startup, including interception patterns
  and limits. When we do this, we should also separate out the dumping and
  curses programs, because many of these options will only make sense in one of
  the two.
- This isn't an exact replacement for the beep functionality I ripped out,
  because specifying beeping on intercept is slightly cumbersome (you need to
  re-specify the intercept pattern using B). Sorry - we'll add a better way
  soon.
2010-03-01 13:56:28 +13:00
Thomas Roth
a5f87657e1 Added beeping. --bireq and --bires enables beeping on intercepted requests/responses. 2010-02-26 14:01:38 +01:00
Thomas Roth
0e76f0f341 Added a 'keep terminal background' option (-t), so that you can use it with your own background color. (Foreground color following.) 2010-02-26 00:20:49 +01:00
Aldo Cortesi
cb0e328709 Initial checkin. 2010-02-16 17:09:07 +13:00