Commit Graph

5841 Commits

Author SHA1 Message Date
Aldo Cortesi
d742d4fb8c Replace configargparse with argparse, enable new options loading
This commit ditches configargparse and enables the new config file format. The
default location is ~/.mitmproxy/config.yaml. Unifying all of the various
Options objects will follow in the next patch.
2016-12-08 10:21:06 +13:00
Aldo Cortesi
6aacd27ab2 Add YAML serialization of options
This uses ruamel.yaml. The library seems well-supported, and can do in-place
modification of config files that retains user comments and file structure.
2016-12-08 10:21:06 +13:00
Aldo Cortesi
150372e297 options: defaults are a class attribute 2016-12-08 10:21:06 +13:00
Aldo Cortesi
2cb1f70381 Options - avoid mutation, API cleanup, has_changed
- Always return a deepcopy of options to avoid accidental mutation of options
state.
- Remove .get(opt, default). This is an inappropriate API for Options - trying
to retrieve an option that doesn't exist should always be an error.
- Add the has_changed method that checks if an option differs from the default,
use it in mitmproxy console.
2016-12-08 10:21:06 +13:00
Aldo Cortesi
00c897a185 options: save defaults, add .reset() to restore defaults
Use .reset() in console app to clear options.
2016-12-08 10:21:06 +13:00
Aldo Cortesi
d74cac265a Add YAML serialization of options
This uses ruamel.yaml. The library seems well-supported, and can do in-place
modification of config files that retains user comments and file structure.
2016-12-08 10:21:06 +13:00
Aldo Cortesi
c94cd512d1 options: defaults are a class attribute 2016-12-08 10:21:06 +13:00
Aldo Cortesi
3594faf5c4 Correct refresh_server_playback option default 2016-12-08 10:21:06 +13:00
Aldo Cortesi
c062e302e9 Add OptManager.subscribe, use it to clean up palettes in console
.subscribe lets you subscribe a function to a specified set of options.
2016-12-08 10:21:06 +13:00
Aldo Cortesi
0c091bd92b Options - avoid mutation, API cleanup, has_changed
- Always return a deepcopy of options to avoid accidental mutation of options
state.
- Remove .get(opt, default). This is an inappropriate API for Options - trying
to retrieve an option that doesn't exist should always be an error.
- Add the has_changed method that checks if an option differs from the default,
use it in mitmproxy console.
2016-12-08 10:21:06 +13:00
Aldo Cortesi
b231836c70 Get rid of tfile testing option
It's weird, it's ugly, it's getting in the way of my options refactoring, and
it must therefore die.
2016-12-08 10:21:05 +13:00
Aldo Cortesi
297493801d Clean up dump tests
- Remove tests that redundantly test addon funtionality that we've already
tested more comprehensively elsewhere.
- Extend to 100% coverage for tools/dump.py
2016-12-08 10:21:05 +13:00
Aldo Cortesi
b4d33aaebf options: save defaults, add .reset() to restore defaults
Use .reset() in console app to clear options.
2016-12-08 10:21:05 +13:00
Thomas Kriechbaumer
4771abf229 Merge pull request #1817 from Kriechi/fix-1816
tls_parser: allow optional extensions
2016-12-06 19:52:12 +01:00
Thomas Kriechbaumer
47196e8676 tls_parser: allow optional extensions
fixes #1816
2016-12-06 19:51:57 +01:00
Maximilian Hils
e44493bda5 Merge pull request #1810 from Kriechi/construct
upgrade to construct 2.8 and new API
2016-12-04 18:43:20 +01:00
Maximilian Hils
1fc1a17c61 Merge pull request #1813 from dwfreed/patch-1
release: fix dropping _main suffix
2016-12-04 18:43:02 +01:00
Doug Freed
306431f0b8 release: fix dropping _main suffix 2016-12-04 17:41:31 +00:00
Thomas Kriechbaumer
9697f5f656 Merge pull request #1801 from Kriechi/simplify-alpn-openssl
simplify ALPN and OpenSSL on macOS
2016-12-04 17:41:43 +01:00
Thomas Kriechbaumer
33689c6b2d upgrade to construct 2.8 and new API 2016-12-04 16:15:28 +01:00
Thomas Kriechbaumer
1a36efbb6a simplify ALPN and OpenSSL on macOS 2016-12-04 11:04:06 +01:00
Thomas Kriechbaumer
741c2b7b66 fix whitespace 2016-12-03 16:55:56 +01:00
Thomas Kriechbaumer
e9fa786fa9 fix indentation 2016-12-03 16:53:13 +01:00
Thomas Kriechbaumer
1fcf79fff0 fix ALPN usage 2016-12-02 11:58:20 +01:00
Maximilian Hils
d658783dec Merge pull request #1797 from Kriechi/websocket++
Pass Autobahn WebSocket Test Suite
2016-12-01 09:28:18 +01:00
Thomas Kriechbaumer
cc6aa1f542 websocket: update close handshake tests 2016-11-29 23:47:19 +01:00
Thomas Kriechbaumer
d2216801dd websocket: make flowfilter work 2016-11-29 23:01:55 +01:00
Thomas Kriechbaumer
ea6de424a3 websocket: carry over per-message compression bit 2016-11-29 22:32:55 +01:00
Thomas Kriechbaumer
073a286098 websocket: reduce connection timeout 2016-11-29 22:17:33 +01:00
Thomas Kriechbaumer
bd8ae910d2 websocket: fix message type on chunking 2016-11-29 22:13:59 +01:00
Thomas Kriechbaumer
6e15e766c5 websocket: fix close handshake and re-chunking 2016-11-29 22:01:41 +01:00
Thomas Kriechbaumer
5ee192b758 websocket: fix empty frame with fin=1 2016-11-29 21:00:42 +01:00
Maximilian Hils
34bf3a2496 fix #1783 (#1794) 2016-11-28 13:29:06 +01:00
Maximilian Hils
e64d2ce829 Merge pull request #1792 from Kriechi/mitmdump-filter-help
improve mitmdump filter help
2016-11-28 02:13:39 +01:00
Maximilian Hils
3154dc87fd fix pyinstaller
amongst other things, fix #1746
2016-11-28 00:51:52 +01:00
Thomas Kriechbaumer
b5daafb518 improve mitmdump filter help 2016-11-25 21:59:13 +01:00
Maximilian Hils
568f40c810 Fix transparent mode initialisation, refactor mitmproxy.platform (#1787) 2016-11-25 17:32:23 +01:00
Maximilian Hils
0386740404 mitmweb: include console logging 2016-11-25 17:20:14 +01:00
Maximilian Hils
1d3cb9eeb8 mitmweb: add --no-browser 2016-11-25 17:20:14 +01:00
Maximilian Hils
e3dc46a8cd fix pyinstaller (#1788) 2016-11-25 16:46:49 +01:00
Maximilian Hils
de9e724a66 update dependencies (#1789) 2016-11-25 16:46:00 +01:00
Maximilian Hils
222106916e Merge branch 'mitmweb-eventlog' 2016-11-23 22:47:50 +01:00
Maximilian Hils
d15ddfad14 fix contentview attributes 2016-11-23 22:47:36 +01:00
Maximilian Hils
5d209e5040 Merge commit '9bc5adf' 2016-11-23 22:45:21 +01:00
Maximilian Hils
45332006a3 mitmweb: 100% app test coverage, numerous fixes 2016-11-23 22:35:07 +01:00
Thomas Kriechbaumer
48d54e2d4a bump cryptography dependency 2016-11-23 11:55:11 +01:00
Thomas Kriechbaumer
9bc5adfb03 add more websocket indicators to mitmproxy and mitmdump 2016-11-23 10:18:45 +01:00
Thomas Kriechbaumer
4b04566a34 add metadata info to flow detail view 2016-11-23 10:18:45 +01:00
Thomas Kriechbaumer
ea97f62975 websocket: show messages in the eventlog 2016-11-23 10:18:45 +01:00
Thomas Kriechbaumer
3353aa3cfd fix docs 2016-11-23 10:18:45 +01:00