aboutsummaryrefslogtreecommitdiffstats
path: root/mitmproxy/cmdline.py
diff options
context:
space:
mode:
Diffstat (limited to 'mitmproxy/cmdline.py')
-rw-r--r--mitmproxy/cmdline.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/mitmproxy/cmdline.py b/mitmproxy/cmdline.py
index e6f0bc20..eb15a1d2 100644
--- a/mitmproxy/cmdline.py
+++ b/mitmproxy/cmdline.py
@@ -1,6 +1,7 @@
from __future__ import absolute_import
import os
import re
+import base64
import configargparse
@@ -117,6 +118,15 @@ def parse_server_spec(url):
return config.ServerSpec(scheme, address)
+def parse_upstream_auth(auth):
+ pattern = re.compile(":")
+ if pattern.search(auth) is None:
+ raise configargparse.ArgumentTypeError(
+ "Invalid upstream auth specification: %s" % auth
+ )
+ return "Basic" + " " + base64.b64encode(auth)
+
+
def get_common_options(options):
stickycookie, stickyauth = None, None
if options.stickycookie_filt:
@@ -373,6 +383,7 @@ def proxy_options(parser):
parser.add_argument(
"--upstream-auth",
action="store", dest="upstream_auth", default=None,
+ type=parse_upstream_auth,
help="""
Proxy Authentication:
username:password