Aldo Cortesi
0c6663d0d5
Enable custom options for addons
...
- Add an options parameter to the start() event. This is to be used by addons
on startup to add custom options.
- Add a running() event that is called once the proxy is up and running.
- With the new paradigm we can't log during master __init__, so add a tiny
termstatus addon to print proxy status to terminal once we're running.
2017-03-14 08:32:19 +13:00
Maximilian Hils
05e11547f5
Merge remote-tracking branch 'origin/master' into pr-2120
...
Conflicts:
test/mitmproxy/addons/test_replace.py
2017-03-12 23:33:49 +01:00
Maximilian Hils
0f4b523868
replacements: error right away when file does not exist
2017-03-12 23:28:49 +01:00
Thomas Kriechbaumer
1b045d24bc
nuke tutils.tmpdir, use pytest tmpdir
2017-03-12 22:55:22 +01:00
Maximilian Hils
4684617d2c
minor fixes
2017-03-12 20:24:50 +01:00
Maximilian Hils
39154e628e
Merge pull request #2118 from lymanZerga11/patch-3
...
Update proxyauth.py to add proxyauth metadata
2017-03-11 03:04:38 +01:00
Thomas Kriechbaumer
e9746c5182
Merge pull request #2114 from mitmproxy/fix-websocket-serialization
...
make websocket flows serializable
2017-03-10 21:15:46 +01:00
Thomas Kriechbaumer
45bf1ff64d
disable h2c prior knowledge connections
2017-03-10 11:37:25 +01:00
Thomas Kriechbaumer
b1dd86d7ae
make websocket flows serializable
...
fixes #2113
2017-03-09 19:08:59 +01:00
Ujjwal Verma
25703f8c53
Fixed Replacement test
2017-03-09 23:33:11 +05:30
lymanZerga11
8e67c6f512
add tests
2017-03-09 09:01:37 +08:00
lymanZerga11
6d53d08b6c
Add tests
2017-03-09 09:01:04 +08:00
Maximilian Hils
63179d9751
core -> core_option_validation
...
longer, but much clearer for devs who are unfamiliar with the codebase.
2017-03-08 15:17:07 +01:00
Maximilian Hils
f276c7a80d
change add_option parameter order
...
name, type, value matches natural language ($x is a bool with a default value of $y)
and also matches the python type annotation order of name: type = value
2017-03-08 00:52:37 +01:00
Maximilian Hils
8707928b16
unify server spec parsing
2017-03-08 00:18:34 +01:00
Aldo Cortesi
98ec3b77fe
Carefully re-add a small number of short flags
...
The mechanism for booleans attaches the short flag to whatever the opposite of
the default is.
2017-03-07 21:01:21 +13:00
Aldo Cortesi
aed780bf48
Change the way proxy authetication is specified
...
We now have one option "proxyauth". If this is "any", we accept any
credentials, if it starts with an @ it's treated as a path to an htpasswd file,
if it is of the form username:password it's a single-user credential.
2017-03-07 20:18:30 +13:00
Aldo Cortesi
320d8848ab
Options tweaks
...
- Regularise presentation and wording
- Help is mandatory for all options
- Auto-generate wording to say that sequence options can be passed multiple
times on the command-line
2017-03-07 15:23:46 +13:00
Aldo Cortesi
10db254791
Remove less commonly used command-line options
...
We now have --set, so only options that really deserve it get a dedicated flag.
I'm inclined to strip this back even more. Feel free to argue that YOUR
favourite option deserves special treatment here.
2017-03-07 14:46:28 +13:00
Aldo Cortesi
ac3b0d69cc
Add the --set option to set options directly
...
The --set option is a universal flag for setting options. Some examples:
Turn on a boolean:
mitmdump --set onboarding=false
Add a value to a sequence:
mitumdupm --set setheaders=/foo/bar/voing
Zero a sequence:
mitumdupm --set setheaders
2017-03-07 14:27:50 +13:00
Aldo Cortesi
79f5883c2f
Option spacing and coverage
2017-03-07 13:47:39 +13:00
Aldo Cortesi
99a6b0dbc1
Add --options that dumps annotated option defaults
2017-03-07 13:16:28 +13:00
Aldo Cortesi
b51df9a0b1
Cleanups and test coverage
2017-03-07 10:28:15 +13:00
Aldo Cortesi
2312cf6fb0
Automate slurping up command-line options
...
Now that options are completely regular, we can automate reading them out of
arguments, rather than listing them out by hand like savages.
2017-03-07 08:49:19 +13:00
Aldo Cortesi
edfd62e42a
Replacements and setheaders are always strings
...
Instead of having two representations we have one canonical specification.
Fixing the editor in console is left ot a further patch.
2017-03-06 20:58:51 +13:00
Aldo Cortesi
82163a1e68
Unify mode specification
...
We now have:
--mode regular (the default)
--mode transparent
--mode socks5
--mode reverse:SPEC
--mode upstream:SPEC
Where SPEC is a host specification.
2017-03-06 20:30:49 +13:00
Aldo Cortesi
9b1f40da37
Options unification: streamfile
...
We now have one option to control this. If the path is prefixed with a "+" we
append, otherwise we overwrite.
2017-03-06 13:48:37 +13:00
Aldo Cortesi
71a830c836
Options unification: string choices
2017-03-06 13:20:17 +13:00
Aldo Cortesi
18a6b66ba4
Options unification: simple strings
...
Move all simple string options to the new scheme. Also regularise some names.
2017-03-06 11:39:19 +13:00
Aldo Cortesi
201c65960e
Options unification: sizes
...
Start dealing with corner cases:
- Sizes are always stored in options as strings
- Add a new core addon that's responsible for verifying settings that don't
belong to an addon
- Add a _processed scratch space on the Options object for processed core
values to be stored in. This is pretty dirty, but less dirty than re-parsing
values every time. We'll come up with something better down the track.
2017-03-06 09:07:16 +13:00
Aldo Cortesi
f15a628561
Start unifying options and the command-line: booleans
...
This commit:
- Adds a help field to options
- Adds a function to generate parser definitions from options
- Uses this to migrate all boolean flags over to the new system
- Makes all booleans consistently follow the --foo/--not-foo convention
There are a number of things left to be done here:
- Argparse doesn't give us a nice way to format --foo --not-foo help. Click
does, and moving to click is a goal down the track.
- For now, we remove all short aliases. I want to re-evaluate these
systematically once we have the new structure in place.
2017-03-05 20:16:33 +13:00
Aldo Cortesi
67381ae550
Revamp options
...
- Options are now explicitly initialized with an add_option method
- We have one canonical Options class - ditch dump.Options
2017-03-05 15:10:03 +13:00
Nikhil Soni
0081d9b828
Merge branch 'master' into on-issues
2017-03-03 12:58:44 +05:30
Nikhil Soni
3da8532bed
Adds test for --keep-host-header
2017-03-03 12:34:36 +05:30
Nikhil Soni
317d183ba4
Changes dns_spoofing example to use --keep-host-header
2017-03-03 12:34:36 +05:30
Thomas Kriechbaumer
a505221e1a
http2: fix h2 header normalization test ( #2080 )
2017-03-01 12:46:42 +01:00
David Dworken
99b584ad7d
added XSS scanner example ( #1907 )
2017-02-27 18:22:39 +01:00
Thomas Kriechbaumer
e0bc1109c0
do not return IP addresses in SSLCert.altnames
2017-02-26 20:54:06 +01:00
Thomas Kriechbaumer
6d228dfb9f
certs: coverage++
2017-02-26 20:54:04 +01:00
Thomas Kriechbaumer
9b6986ea87
connections: coverage++ ( #2064 )
2017-02-26 20:50:52 +01:00
Thomas Kriechbaumer
2aecffd39a
optmanager: coverage++ ( #2062 )
2017-02-25 12:12:43 +01:00
Thomas Kriechbaumer
ccd8e1e617
http: coverage++ ( #2060 )
2017-02-24 22:39:16 +01:00
Thomas Kriechbaumer
3c66eb5b4b
move tests around ( #2059 )
2017-02-24 22:00:41 +01:00
Thomas Kriechbaumer
e89c785719
move tests around ( #2058 )
2017-02-24 21:39:13 +01:00
Thomas Kriechbaumer
d17309eda8
flowfilter: coverage++
2017-02-24 18:47:56 +01:00
Thomas Kriechbaumer
3e9125a3c1
nuke tcp.Address and add proper IPv6 support
2017-02-24 13:39:02 +01:00
Maximilian Hils
ba76dbc672
Merge pull request #2048 from ujjwal96/ipv6-addresses
...
Absolute IPv6 addresses supported
2017-02-22 13:17:53 +01:00
Matthew Shao
5fc4fc28b6
Add test for @concurrent decorator in class.
2017-02-21 16:56:48 +08:00
Ujjwal Verma
11134b669e
Absolute IPv6 addresses supported
2017-02-20 21:02:43 +05:30
Thomas Kriechbaumer
0de277c18b
improve test
2017-02-20 11:48:57 +01:00
Thomas Kriechbaumer
050245e842
Merge pull request #2017 from lymanZerga11/patch-1
...
Catch ValueErrors from url.parse()
2017-02-20 11:48:40 +01:00
Thomas Kriechbaumer
ac6915c002
improve tests
2017-02-20 11:11:10 +01:00
Thomas Kriechbaumer
51e08a5b85
Merge pull request #2041 from krsoninikhil/debug
...
Adds PyInstaller build indicator to --version argument
2017-02-20 10:29:15 +01:00
Nikhil Soni
ed084f5413
Adds test for pyinstaller indicator
2017-02-19 19:15:36 +05:30
Thomas Kriechbaumer
36352c9539
protobuf: coverage++
2017-02-19 14:29:09 +01:00
Thomas Kriechbaumer
83c2de8849
http2: disable priority forwarding
2017-02-18 14:30:08 +01:00
Maximilian Hils
4158a1ae55
Merge pull request #2040 from mhils/request-host-header
...
Add "Request.host_header"
2017-02-18 12:08:54 +01:00
Thomas Kriechbaumer
6ef4f094b3
Merge pull request #2038 from Kriechi/improve-http2-cov
...
test forbidden HTTP/2 headers in reponses
2017-02-18 11:50:57 +01:00
Thomas Kriechbaumer
47e6f977de
test forbidden HTTP/2 headers in reponses
2017-02-18 11:26:54 +01:00
Maximilian Hils
49c8e19f80
add request.host_header, fix #2036
2017-02-17 23:31:53 +01:00
Maximilian Hils
6a1e03ac6f
tests: make full cov plugin cwd-independent
2017-02-17 23:29:10 +01:00
Maximilian Hils
33acb48c71
Merge pull request #2032 from Kriechi/individual-coverage
...
add individual-coverage check
2017-02-17 22:56:13 +01:00
Thomas Kriechbaumer
4cec88fc7f
remove unneeded test module
2017-02-17 20:41:10 +01:00
mame82
ffdbccd571
Use existing urlencoding conventions when re-encoding edited form #1946 ( #2022 )
2017-02-16 15:03:27 +01:00
Thomas Kriechbaumer
6b22ca7a32
add individual-coverage check
2017-02-16 11:43:45 +01:00
Thomas Kriechbaumer
337b1c9399
fix wrong filename
2017-02-15 18:45:49 +01:00
Maximilian Hils
d1186eea18
Merge pull request #2029 from mhils/proxyauth
...
Improve ProxyAuth
2017-02-15 16:52:20 +01:00
Thomas Kriechbaumer
94a7e99fda
Merge pull request #2028 from Kriechi/nuke-pillow
...
nuke Pillow
2017-02-15 15:29:57 +01:00
Maximilian Hils
4bac850bb1
fix #1722 , fix #1734 , refs #2019
2017-02-15 14:20:46 +01:00
Maximilian Hils
0d9c7ce50c
image view: add fallback, catch all images but svgs
2017-02-15 14:04:24 +01:00
Thomas Kriechbaumer
8a6f8bd461
nuke Pillow
2017-02-15 00:54:14 +01:00
Thomas Kriechbaumer
24a51df9cb
extract full-coverage pytest plugin
2017-02-15 00:29:43 +01:00
Thomas Kriechbaumer
4d973e8295
fix imports
2017-02-14 23:47:33 +01:00
Thomas Kriechbaumer
a12c3d3f8e
restructure and move test files
...
add empty test files to satisfy linter
2017-02-14 23:31:37 +01:00
Thomas Kriechbaumer
04748e6f3f
add filename-matching linter
2017-02-14 22:48:24 +01:00
lymanZerga11
d30ef7ee3e
Update test_flowlist.py
2017-02-14 21:17:18 +08:00
lymanZerga11
a52d8c1dab
Update test_flowlist.py
2017-02-14 21:01:01 +08:00
lymanZerga11
26a17a3d82
Update test_flowlist.py
2017-02-13 15:05:29 +08:00
lymanZerga11
a912d67c06
Update test_flowlist.py
2017-02-13 10:47:50 +08:00
lymanZerga11
577fb818b9
Update test_flowlist.py
2017-02-13 10:39:48 +08:00
lymanZerga11
f5b30b8872
Update test_flowlist.py
2017-02-12 23:36:26 +08:00
lymanZerga11
df8a5aa9be
Update test_flowlist.py
2017-02-12 23:23:23 +08:00
lymanZerga11
c622e4a649
Create test_flowlist.py
2017-02-12 23:10:49 +08:00
Maximilian Hils
3067a971f9
Merge pull request #2000 from s4chin/add-jpeg-parser
...
Add jpeg parser
2017-02-11 23:00:14 +01:00
Sachin Kelkar
245e24dcf3
Add sources of images, remove copyrighted image
2017-02-12 01:19:36 +05:30
Maximilian Hils
71742654e3
Merge pull request #2005 from ujjwal96/script-reload
...
Closes #1828 script reloads on py file changes
2017-02-11 01:45:14 +01:00
Thomas Kriechbaumer
c8c79cc291
coverage++
2017-02-10 22:55:15 +01:00
Sachin Kelkar
8eb1d34644
Add app1 marker and tests
2017-02-10 22:40:19 +05:30
Ujjwal Verma
809207195d
closes #1828 script reloads on py file changes
2017-02-10 22:21:12 +05:30
Sachin Kelkar
c4e141a000
Add jpeg app0 sof0 com parsing
2017-02-10 11:16:23 +05:30
Ujjwal Verma
d6465b907f
Closes #1580 Gives warning when explicit proxy configured in transparent mode ( #1996 )
2017-02-09 20:56:06 +01:00
Maximilian Hils
380ff50e57
Merge pull request #2003 from Kriechi/coverage++
...
test refactoring and coverage++
2017-02-09 17:45:50 +01:00
Maximilian Hils
da8444b11f
flow_count() -> len(flows)
2017-02-09 16:44:27 +01:00
Maximilian Hils
1084588103
Merge pull request #1998 from mhils/fix-change-upstream
...
Fix change_upstream_proxy_server
2017-02-09 16:39:20 +01:00
Thomas Kriechbaumer
d10560d54c
improve coverage report
2017-02-09 16:08:36 +01:00
Thomas Kriechbaumer
2ff5d72236
minor changes
2017-02-09 16:08:36 +01:00
Thomas Kriechbaumer
0299bb5b2e
eventsequence: coverage++
2017-02-09 16:08:36 +01:00
Thomas Kriechbaumer
5a3976c43e
coverage whitelist -> blacklist
2017-02-09 16:08:36 +01:00
Thomas Kriechbaumer
f6cea09d5a
stateobject: coverage++
2017-02-09 16:08:36 +01:00
Thomas Kriechbaumer
1847cf175c
websockets, tcp, version: coverage++
2017-02-09 16:08:35 +01:00