mirror of
https://github.com/Grasscutters/mitmproxy.git
synced 2024-11-25 09:37:37 +00:00
parent
ea20bfb233
commit
72b753c60f
1
.gitignore
vendored
1
.gitignore
vendored
@ -19,3 +19,4 @@ bower_components
|
|||||||
*.map
|
*.map
|
||||||
sslkeylogfile.log
|
sslkeylogfile.log
|
||||||
.tox/
|
.tox/
|
||||||
|
.python-version
|
||||||
|
@ -140,7 +140,7 @@ If you would like to install mitmproxy directly from the master branch on GitHub
|
|||||||
or would like to get set up to contribute to the project, install the
|
or would like to get set up to contribute to the project, install the
|
||||||
dependencies as you would for a regular installation from source. Then see the
|
dependencies as you would for a regular installation from source. Then see the
|
||||||
Hacking_ section of the README on GitHub. You can check your system information
|
Hacking_ section of the README on GitHub. You can check your system information
|
||||||
by running: ``mitmproxy --sysinfo``
|
by running: ``mitmproxy --version``
|
||||||
|
|
||||||
|
|
||||||
.. _Hacking: https://github.com/mitmproxy/mitmproxy/blob/master/README.rst#hacking
|
.. _Hacking: https://github.com/mitmproxy/mitmproxy/blob/master/README.rst#hacking
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Cut and paste the output of "mitmdump --sysinfo".
|
Cut and paste the output of "mitmproxy --version".
|
||||||
|
|
||||||
If you're using an older version if mitmproxy, please specify the version
|
If you're using an older version if mitmproxy, please specify the version
|
||||||
and OS.
|
and OS.
|
||||||
|
@ -19,14 +19,6 @@ def treader(bytes):
|
|||||||
return tcp.Reader(fp)
|
return tcp.Reader(fp)
|
||||||
|
|
||||||
|
|
||||||
@contextmanager
|
|
||||||
def chdir(dir):
|
|
||||||
orig_dir = os.getcwd()
|
|
||||||
os.chdir(dir)
|
|
||||||
yield
|
|
||||||
os.chdir(orig_dir)
|
|
||||||
|
|
||||||
|
|
||||||
@contextmanager
|
@contextmanager
|
||||||
def tmpdir(*args, **kwargs):
|
def tmpdir(*args, **kwargs):
|
||||||
orig_workdir = os.getcwd()
|
orig_workdir = os.getcwd()
|
||||||
|
@ -275,13 +275,8 @@ def get_common_options(args):
|
|||||||
def basic_options(parser):
|
def basic_options(parser):
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--version',
|
'--version',
|
||||||
action='version',
|
|
||||||
version="%(prog)s" + " " + version.VERSION
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
'--sysinfo',
|
|
||||||
action='store_true',
|
action='store_true',
|
||||||
dest='sysinfo',
|
dest='version',
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--shortversion',
|
'--shortversion',
|
||||||
|
@ -35,9 +35,10 @@ def assert_utf8_env():
|
|||||||
|
|
||||||
|
|
||||||
def process_options(parser, options, args):
|
def process_options(parser, options, args):
|
||||||
if args.sysinfo:
|
if args.version:
|
||||||
print(debug.sysinfo())
|
print(debug.dump_system_info())
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
debug.register_info_dumpers()
|
debug.register_info_dumpers()
|
||||||
pconf = config.ProxyConfig(options)
|
pconf = config.ProxyConfig(options)
|
||||||
if options.no_server:
|
if options.no_server:
|
||||||
|
@ -0,0 +1,10 @@
|
|||||||
|
import os
|
||||||
|
from contextlib import contextmanager
|
||||||
|
|
||||||
|
|
||||||
|
@contextmanager
|
||||||
|
def chdir(dir):
|
||||||
|
orig_dir = os.getcwd()
|
||||||
|
os.chdir(dir)
|
||||||
|
yield
|
||||||
|
os.chdir(orig_dir)
|
@ -1,5 +1,3 @@
|
|||||||
|
|
||||||
|
|
||||||
def setbit(byte, offset, value):
|
def setbit(byte, offset, value):
|
||||||
"""
|
"""
|
||||||
Set a bit in a byte to 1 if value is truthy, 0 if not.
|
Set a bit in a byte to 1 if value is truthy, 0 if not.
|
||||||
|
@ -5,18 +5,29 @@ import threading
|
|||||||
import signal
|
import signal
|
||||||
import platform
|
import platform
|
||||||
import traceback
|
import traceback
|
||||||
|
import subprocess
|
||||||
|
|
||||||
from mitmproxy import version
|
from mitmproxy import version
|
||||||
|
from mitmproxy import utils
|
||||||
|
|
||||||
from OpenSSL import SSL
|
from OpenSSL import SSL
|
||||||
|
|
||||||
|
|
||||||
def sysinfo():
|
def dump_system_info():
|
||||||
|
git_describe = 'release version'
|
||||||
|
with utils.chdir(os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))):
|
||||||
|
try:
|
||||||
|
c = ['git', 'describe', '--tags', '--long']
|
||||||
|
git_describe = subprocess.check_output(c, stderr=subprocess.STDOUT)
|
||||||
|
git_describe = git_describe.decode().strip()
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
data = [
|
data = [
|
||||||
"Mitmproxy version: %s" % version.VERSION,
|
"Mitmproxy version: {} ({})".format(version.VERSION, git_describe),
|
||||||
"Python version: %s" % platform.python_version(),
|
"Python version: {}".format(platform.python_version()),
|
||||||
"Platform: %s" % platform.platform(),
|
"Platform: {}".format(platform.platform()),
|
||||||
"SSL version: %s" % SSL.SSLeay_version(SSL.SSLEAY_VERSION).decode(),
|
"SSL version: {}".format(SSL.SSLeay_version(SSL.SSLEAY_VERSION).decode()),
|
||||||
]
|
]
|
||||||
d = platform.linux_distribution()
|
d = platform.linux_distribution()
|
||||||
t = "Linux distro: %s %s %s" % d
|
t = "Linux distro: %s %s %s" % d
|
||||||
|
@ -10,6 +10,7 @@ from mitmproxy import exceptions
|
|||||||
from mitmproxy import options
|
from mitmproxy import options
|
||||||
from mitmproxy import proxy
|
from mitmproxy import proxy
|
||||||
from mitmproxy import master
|
from mitmproxy import master
|
||||||
|
from mitmproxy import utils
|
||||||
|
|
||||||
from mitmproxy.addons import script
|
from mitmproxy.addons import script
|
||||||
|
|
||||||
@ -72,7 +73,7 @@ class TestParseCommand:
|
|||||||
script.parse_command(dir)
|
script.parse_command(dir)
|
||||||
|
|
||||||
def test_parse_args(self):
|
def test_parse_args(self):
|
||||||
with tutils.chdir(tutils.test_data.dirname):
|
with utils.chdir(tutils.test_data.dirname):
|
||||||
assert script.parse_command(
|
assert script.parse_command(
|
||||||
"mitmproxy/data/addonscripts/recorder.py"
|
"mitmproxy/data/addonscripts/recorder.py"
|
||||||
) == ("mitmproxy/data/addonscripts/recorder.py", [])
|
) == ("mitmproxy/data/addonscripts/recorder.py", [])
|
||||||
@ -85,7 +86,7 @@ class TestParseCommand:
|
|||||||
|
|
||||||
@ttutils.skip_not_windows
|
@ttutils.skip_not_windows
|
||||||
def test_parse_windows(self):
|
def test_parse_windows(self):
|
||||||
with tutils.chdir(tutils.test_data.dirname):
|
with utils.chdir(tutils.test_data.dirname):
|
||||||
assert script.parse_command(
|
assert script.parse_command(
|
||||||
"mitmproxy/data\\addonscripts\\recorder.py"
|
"mitmproxy/data\\addonscripts\\recorder.py"
|
||||||
) == ("mitmproxy/data\\addonscripts\\recorder.py", [])
|
) == ("mitmproxy/data\\addonscripts\\recorder.py", [])
|
||||||
|
@ -3,6 +3,10 @@ import io
|
|||||||
from mitmproxy.utils import debug
|
from mitmproxy.utils import debug
|
||||||
|
|
||||||
|
|
||||||
|
def test_dump_system_info():
|
||||||
|
assert debug.dump_system_info()
|
||||||
|
|
||||||
|
|
||||||
def test_dump_info():
|
def test_dump_info():
|
||||||
cs = io.StringIO()
|
cs = io.StringIO()
|
||||||
debug.dump_info(None, None, file=cs, testing=True)
|
debug.dump_info(None, None, file=cs, testing=True)
|
||||||
@ -15,9 +19,5 @@ def test_dump_stacks():
|
|||||||
assert cs.getvalue()
|
assert cs.getvalue()
|
||||||
|
|
||||||
|
|
||||||
def test_sysinfo():
|
|
||||||
assert debug.sysinfo()
|
|
||||||
|
|
||||||
|
|
||||||
def test_register_info_dumpers():
|
def test_register_info_dumpers():
|
||||||
debug.register_info_dumpers()
|
debug.register_info_dumpers()
|
||||||
|
4
tox.ini
4
tox.ini
@ -10,7 +10,7 @@ deps =
|
|||||||
passenv = CODECOV_TOKEN CI CI_* TRAVIS TRAVIS_* APPVEYOR APPVEYOR_* SNAPSHOT_* OPENSSL_* RTOOL_*
|
passenv = CODECOV_TOKEN CI CI_* TRAVIS TRAVIS_* APPVEYOR APPVEYOR_* SNAPSHOT_* OPENSSL_* RTOOL_*
|
||||||
setenv = HOME = {envtmpdir}
|
setenv = HOME = {envtmpdir}
|
||||||
commands =
|
commands =
|
||||||
mitmdump --sysinfo
|
mitmdump --version
|
||||||
py.test --timeout 60 {posargs}
|
py.test --timeout 60 {posargs}
|
||||||
{env:CI_COMMANDS:python -c ""}
|
{env:CI_COMMANDS:python -c ""}
|
||||||
|
|
||||||
@ -20,7 +20,7 @@ commands = sphinx-build -W -b html -d {envtmpdir}/doctrees . {envtmpdir}/html
|
|||||||
|
|
||||||
[testenv:lint]
|
[testenv:lint]
|
||||||
commands =
|
commands =
|
||||||
mitmdump --sysinfo
|
mitmdump --version
|
||||||
flake8 --jobs 8 --count mitmproxy pathod examples test release
|
flake8 --jobs 8 --count mitmproxy pathod examples test release
|
||||||
rstcheck README.rst
|
rstcheck README.rst
|
||||||
mypy --silent-imports \
|
mypy --silent-imports \
|
||||||
|
Loading…
Reference in New Issue
Block a user