diff options
-rw-r--r-- | CHANGELOG | 27 | ||||
-rw-r--r-- | MANIFEST.in | 3 | ||||
-rw-r--r-- | mitmproxy/tools/cmdline.py | 10 | ||||
-rw-r--r-- | mitmproxy/tools/main.py | 8 |
4 files changed, 37 insertions, 11 deletions
@@ -1,3 +1,30 @@ + +17 May 2018: mitmproxy 4.0 + + ** Features ** + * mitmproxy now requires Python 3.6! + * Moved the core to asyncio - which gives us a very significant performance boost! + * Reduce memory consumption by using `SO_KEEPALIVE` (#3076) + * Export request as httpie command (#3031) + * Configure mitmproxy console keybindings with the keys.yaml file. See docs for more. + + ** Breaking Changes ** + * The --conf command-line flag is now --confdir, and specifies the mitmproxy configuration + directory, instead of the options yaml file (which is at `config.yaml` under the configuration directory). + * `allow_remote` got replaced by `block_global` and `block_private` (#3100) + * No more custom events (#3093) + * The `cadir` option has been renamed to `confdir` + * We no longer magically capture print statements in addons and translate + them to logs. Please use `ctx.log.info` explicitly. + + ** Bugfixes ** + * Correctly block connections from remote clients with IPv4-mapped IPv6 client addresses (#3099) + * Expand `~` in paths during the `cut` command (#3078) + * Remove socket listen backlog constraint + * Improve handling of user script exceptions (#3050) + * Ignore signal errors on windows + * And lots of typos, docs improvements, revamped examples, and general fixes! + 05 April 2018: mitmproxy 3.0.4 * Fix an issue that caused mitmproxy to not retry HTTP requests on timeout. diff --git a/MANIFEST.in b/MANIFEST.in deleted file mode 100644 index 404936e8..00000000 --- a/MANIFEST.in +++ /dev/null @@ -1,3 +0,0 @@ -graft mitmproxy -graft pathod -recursive-exclude * *.pyc *.pyo *.swo *.swp *.map diff --git a/mitmproxy/tools/cmdline.py b/mitmproxy/tools/cmdline.py index 4a97a8ff..ad934ca2 100644 --- a/mitmproxy/tools/cmdline.py +++ b/mitmproxy/tools/cmdline.py @@ -1,12 +1,8 @@ import argparse -import os from mitmproxy.addons import core -CONFIG_PATH = os.path.join(core.CONF_DIR, "config.yaml") - - def common_options(parser, opts): parser.add_argument( '--version', @@ -25,10 +21,10 @@ def common_options(parser, opts): help="Show all commands and their signatures", ) parser.add_argument( - "--conf", - type=str, dest="conf", default=CONFIG_PATH, + "--confdir", + type=str, dest="confdir", default=core.CONF_DIR, metavar="PATH", - help="Read options from a configuration file" + help="Path to the mitmproxy config directory" ) parser.add_argument( "--set", diff --git a/mitmproxy/tools/main.py b/mitmproxy/tools/main.py index 0b271b91..4166f78f 100644 --- a/mitmproxy/tools/main.py +++ b/mitmproxy/tools/main.py @@ -23,6 +23,8 @@ from mitmproxy import proxy # noqa from mitmproxy import log # noqa from mitmproxy.utils import debug, arg_check # noqa +OPTIONS_FILE_NAME = "config.yaml" + def assert_utf8_env(): spec = "" @@ -90,7 +92,11 @@ def run( arg_check.check() sys.exit(1) try: - unknown = optmanager.load_paths(opts, args.conf) + opts.confdir = args.confdir + unknown = optmanager.load_paths( + opts, + os.path.join(opts.confdir, OPTIONS_FILE_NAME), + ) pconf = process_options(parser, opts, args) server: typing.Any = None if pconf.options.server: |