Aldo Cortesi
1f37743549
Merge pull request #2142 from mhils/2140
...
Fix #2140
2017-03-14 14:24:53 +13:00
Maximilian Hils
961747c4bc
Merge pull request #2120 from ujjwal96/replace-from-file
...
Replace from file through replacement editor #1458
2017-03-14 02:23:31 +01:00
Maximilian Hils
30fd285ec7
multidictviews should not be serializable
2017-03-14 02:20:24 +01:00
Maximilian Hils
de1de3f626
add MultiDictView.copy
2017-03-14 02:18:02 +01:00
Maximilian Hils
875ce8c9c1
py3: __ne__ delegates to __eq__ by default
2017-03-14 00:40:15 +01:00
Aldo Cortesi
1b301ad5bb
Move running() in to .tick() method to make sure it's called consistently
2017-03-14 11:41:20 +13:00
Aldo Cortesi
b745428b5c
Enable custom options in config files
...
We also now ignore unknown options in config files by default, and print a
warning if verbosity is incremented.
2017-03-14 09:40:33 +13:00
Aldo Cortesi
2832e790fd
Move serialization methods out of Options
...
Attributes on options share a namespace with options themselves. It's getting
too crowded on our Options object, so let's shift some obvious stuff into the
module.
2017-03-14 08:34:25 +13:00
Aldo Cortesi
c24f7d8e12
Optmanager: handle unknown options in value sets
2017-03-14 08:32:19 +13:00
Aldo Cortesi
75f83ba380
Show custom addon options in --options output
2017-03-14 08:32:19 +13:00
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
2c6dcac97f
fix #2140
2017-03-13 18:37:11 +01:00
Maximilian Hils
517aef1557
decouple mitmproxy and file format version
2017-03-13 16:46:07 +01: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
harsh vijay
a8f7c30aa0
Fix crash when duplicating flow
2017-03-13 02:23:52 +05:30
harsh vijay
9a88594684
Fix crash when duplicating flow ( #2 )
2017-03-13 01:55:50 +05:30
Maximilian Hils
4684617d2c
minor fixes
2017-03-12 20:24:50 +01:00
Ujjwal Verma
7f5fc0fdbd
Removed ReplaceBase
2017-03-12 22:10:49 +05:30
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
49e0f23848
use flow.id to link websocket + handshake flows
2017-03-10 19:38:50 +01:00
Maximilian Hils
f3df4855af
fix type hints
2017-03-10 19:15:44 +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
Ujjwal Verma
07a8c4987a
Removed replace-from-file option.Made requested changes
2017-03-09 23:20:35 +05:30
Aldo Cortesi
53178f35be
Send change event when options are reset
2017-03-09 08:53:36 +13:00
Maximilian Hils
b345f5d432
typing.Type -> type
...
`typing.Type` should have been `typing.Type[Any]`,
which in turn is equivalent to `type`
2017-03-08 15:17:45 +01: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
618e0c6265
add type hints
2017-03-08 15:10:06 +01:00
lymanZerga11
716306538f
Update proxyauth.py
2017-03-08 13:59:43 +08:00
lymanZerga11
cf83cbf2df
Update proxyauth.py
2017-03-08 11:34:59 +08: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
f0d6237a96
Merge remote-tracking branch 'upstream/master' into options
2017-03-08 08:22:49 +13:00
Maximilian Hils
88d48e38af
Revert "clearly indentify git-checkout as dev version"
...
This temporarily reverts commit 3b4d8d6eca
,
which broke the snapshot builds.
2017-03-07 14:49:52 +01:00
Maximilian Hils
96b798615c
Merge pull request #2106 from davidpshaw/python_3_to_master
...
Updated for python 3
2017-03-07 12:12:47 +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
b0ba765598
Add type and choices to options dump commets.
2017-03-07 19:29:08 +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
Maximilian Hils
193c707061
Merge pull request #2104 from lymanZerga11/patch-2
...
Fixes #2102
2017-03-06 23:33:33 +01:00
Maximilian Hils
8b79892246
Merge pull request #2105 from Kriechi/dev-version
...
clearly indentify git-checkout as dev version
2017-03-06 23:32:59 +01:00
David Shaw
5d82068218
Updated for python 3
2017-03-06 17:30:40 -05:00
Aldo Cortesi
d13df40753
Fix lint
2017-03-07 10:52:28 +13:00
Aldo Cortesi
3d9c2233be
Flatten commandline arg structure, extract common run func for tools
2017-03-07 10:51:24 +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
Thomas Kriechbaumer
3b4d8d6eca
clearly indentify git-checkout as dev version
2017-03-06 18:40:43 +01:00
lymanZerga11
fd5079b8a6
Update flowlist.py
2017-03-06 23:19:39 +08: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
f5fb6972aa
Options unification: certs
...
- Regularise to Sequence[str]
- Move conversion and checking into proxy config object
2017-03-06 15:36:52 +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
e70b46672c
Options unification: simple string sequences
2017-03-06 11:56:11 +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
45d18ac8cb
Start unifying options and the command-line: ints
...
Moves all integer options apart from a few tricky ones like verbosity over to
auto generation. Also add a metavar argument to parser generation to support
this.
2017-03-05 20:45:55 +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
Maximilian Hils
2a1ed7f3eb
Merge pull request #2082 from tarnacious/master
...
Call error handler and mark flow on HTTPException
2017-03-04 15:12:29 +01:00
Maximilian Hils
1bafe73a94
update release docs
2017-03-04 11:50:40 +01:00
Maximilian Hils
f71c11559c
Merge pull request #2081 from s4chin/add-pretty-host
...
web: Fix #1888
2017-03-04 11:48:05 +01:00
Sachin Kelkar
40943f5618
web: Fix #1888
2017-03-03 16:14:20 +05:30
Nikhil Soni
0081d9b828
Merge branch 'master' into on-issues
2017-03-03 12:58:44 +05:30
Nikhil Soni
2e90373e4b
Updates help msg and docs for --keep-host-header
2017-03-03 12:34:20 +05:30
tarnacious
fc3848345b
Call error handler and mark flow on HTTPException
...
This allows scripts to handle HTTPExceptions such as "HTTP Body too
large" raised in mitmproxy/net/http/http1/read.py:131
2017-03-01 16:35:54 +01:00
Thomas Kriechbaumer
a505221e1a
http2: fix h2 header normalization test ( #2080 )
2017-03-01 12:46:42 +01:00
Matthew Shao
7b4e60a2e7
Fix #2071 , remove client_connect.mitmcert when dumping flow into json.
2017-02-27 21:45:26 +08:00
Maximilian Hils
2b3093fa1c
Merge pull request #2069 from JordanLoehr/iss2068
...
Added console_ prefix to options in palettepicker to resolve issue #2068
2017-02-27 05:37:26 +01:00
Jordan Loehr
6fd9146d0d
Added console_ prefix to options in palettepicket to resolve issue #2068
2017-02-26 17:08:00 -07:00
Maximilian Hils
0fdf2c0f4b
Merge pull request #2067 from whackashoe/fix-2065
...
fix #2065 by setting correct content encoding for brotli
2017-02-26 22:10:12 +01:00
Jett
18a8834209
fix #2065 by setting correct content encoding for brotli
2017-02-26 14:49:50 -06: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
d17309eda8
flowfilter: coverage++
2017-02-24 18:47:56 +01:00
Maximilian Hils
fab3a8dcf4
fix constant definition
2017-02-24 13:39:03 +01:00
Thomas Kriechbaumer
3e9125a3c1
nuke tcp.Address and add proper IPv6 support
2017-02-24 13:39:02 +01:00
Thomas Kriechbaumer
d0d11cec7b
Merge pull request #2055 from Kriechi/http2-normalize-headers
...
http2: normalize headers before sending
2017-02-23 16:04:11 +01:00
Thomas Kriechbaumer
bbe08bb8d9
http2: normalize headers before sending
2017-02-23 12:53:40 +01:00
Nikhil Soni
14d8c91250
Adds --keep-host-header option ( #2039 )
2017-02-22 21:49:31 +05:30
Maximilian Hils
ba76dbc672
Merge pull request #2048 from ujjwal96/ipv6-addresses
...
Absolute IPv6 addresses supported
2017-02-22 13:17:53 +01:00
Thomas Kriechbaumer
786cd214d6
update compat
2017-02-21 20:57:54 +01:00
Maximilian Hils
6b2383a9d8
minor adjustments
2017-02-21 20:57:29 +01:00
Daniel Lenski
48b3d1af2f
store generated cert for each flow
...
fixes #1935
2017-02-21 20:57:29 +01:00
Thomas Kriechbaumer
cf0bce77a9
lint!
2017-02-21 19:40:06 +01:00
Thomas Kriechbaumer
0b1cdc382c
bump dev version
2017-02-21 19:17:33 +01:00
Maximilian Hils
2df2fc1f38
Merge pull request #2051 from MatthewShao/fix-#1928-@concurrent-in-OOP
...
Fix #1928 , @concurrent decorator in class
2017-02-21 15:38:34 +01:00
Maximilian Hils
29c4a43e50
docs++
2017-02-21 15:38:20 +01:00
Maximilian Hils
96256579e6
update mitmweb resources
2017-02-21 15:33:13 +01:00
Maximilian Hils
aa6b0f299e
minor changes
2017-02-21 13:00:04 +01:00
Matthew Shao
f9714fbf3e
Fix #1928 , @concurrent decorator now works for class methods.
2017-02-21 11:59:50 +08:00
Ujjwal Verma
11134b669e
Absolute IPv6 addresses supported
2017-02-20 21:02:43 +05:30
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
51e08a5b85
Merge pull request #2041 from krsoninikhil/debug
...
Adds PyInstaller build indicator to --version argument
2017-02-20 10:29:15 +01:00
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
8cbd6dca9f
Merge pull request #2035 from Kriechi/fix-1916
...
fix #1916
2017-02-18 11:40:56 +01:00
Nikhil Soni
2a461d6b39
Adds PyInstaller build indicator to --version argument
2017-02-18 06:27:06 +05:30
Maximilian Hils
b9e31f213f
.headers["host"] -> .host_header
2017-02-18 00:13:14 +01:00
Maximilian Hils
49c8e19f80
add request.host_header, fix #2036
2017-02-17 23:31:53 +01:00
Thomas Kriechbaumer
c04d14e53c
fix #1916
2017-02-17 22:45:31 +01:00
mame82
ffdbccd571
Use existing urlencoding conventions when re-encoding edited form #1946 ( #2022 )
2017-02-16 15:03:27 +01:00
Maximilian Hils
d1186eea18
Merge pull request #2029 from mhils/proxyauth
...
Improve ProxyAuth
2017-02-15 16:52:20 +01:00
Maximilian Hils
2955e3d566
improve make_error_response
2017-02-15 15:55:08 +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
Matthew Shao
9b9d72594c
fix websocket message display crash in console.
2017-02-14 21:21:39 +08:00
lymanZerga11
55e471af40
Catch ValueErrors from url.parse()
2017-02-12 23:06:11 +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
Sachin Kelkar
ccca04b450
Fix coverage
2017-02-11 15:01:54 +05:30
Jihyun Yu
4adc575bad
Add transparent proxy support for OpenBSD
...
Add transparent proxy support for OpenBSD with pf divert-to.
2017-02-11 14:05:22 +09: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
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
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
1847cf175c
websockets, tcp, version: coverage++
2017-02-09 16:08:35 +01:00
Thomas Kriechbaumer
2134b5b06a
remove FIXME
2017-02-09 16:08:35 +01:00
Thomas Kriechbaumer
b5f0342664
remove verified remark
2017-02-09 16:08:35 +01:00
Maximilian Hils
d6d1ff0170
simplify state copy
2017-02-09 16:08:24 +01:00
Maximilian Hils
9b97b63891
fix change_upstream_proxy_server
2017-02-09 15:24:31 +01:00
Sachin Kelkar
5dd54ef012
Update kaitaistruct version to 0.6
2017-02-08 21:16:17 +05:30
Maximilian Hils
28c0596742
Merge pull request #1997 from s4chin/add-gif-parser
...
Add gif parser and tests
2017-02-08 12:09:48 +01:00
Sachin Kelkar
66ad95c330
Fix gif parsing error on some gifs and add test
2017-02-08 00:03:07 +05:30
Sachin Kelkar
4ef5de2cce
Add gif parser and tests
2017-02-06 17:57:59 +05:30
Ujjwal Verma
c622622c59
Encoding fixes and tests
2017-02-05 18:59:01 +05:30
Maximilian Hils
d133b8baee
Merge pull request #1989 from Kriechi/coverage++
...
coverage++
2017-02-04 16:05:11 +01:00
Thomas Kriechbaumer
966ffaa3d6
coverage++
2017-02-04 13:48:55 +01:00
Maximilian Hils
155670766e
Merge pull request #1988 from krsoninikhil/ordereddict
...
Closes #1977
2017-02-04 13:46:44 +01:00
Nikhil Soni
e6de57ccc6
Changes view._store from dict to OrderedDict
2017-02-04 17:44:22 +05:30
Maximilian Hils
53f298ac41
Merge pull request #1967 from s4chin/remove-pillow
...
Add png parser
2017-02-03 18:58:34 +01:00
Maximilian Hils
bbdb7300fd
Merge pull request #1983 from Kriechi/coverage++
...
coverage++
2017-02-03 18:56:56 +01:00
Sachin Kelkar
15548ff433
Feedback
2017-02-03 18:40:50 +05:30
Thomas Kriechbaumer
bcaaa2f40b
coverage++
2017-02-03 11:55:33 +01:00
Sachin Kelkar
0674485e76
Fix and cleanup
2017-02-03 15:02:35 +05:30