aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG27
-rw-r--r--MANIFEST.in3
-rw-r--r--mitmproxy/tools/cmdline.py10
-rw-r--r--mitmproxy/tools/main.py8
4 files changed, 37 insertions, 11 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 7180aa71..89878225 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -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: