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
Sachin Kelkar
88dbfd5257
Add iTXt and zTXt tests
2017-02-03 14:12:54 +05:30
Sachin Kelkar
abef020e07
Fix as per feedback and add more tests
2017-02-03 14:12:54 +05:30
Sachin Kelkar
6202958048
Add png parser
2017-02-03 14:12:54 +05:30
Ujjwal Verma
11b4b3209d
Closes #1960 'Z' removes unmarked flows
2017-02-03 01:35:53 +05:30
Thomas Kriechbaumer
79aa994275
fix merge
2017-02-02 17:26:31 +01:00
Maximilian Hils
8b6e3d8bd3
Merge pull request #1979 from 0neblock/master
...
Fixed following on flowlist
2017-02-02 17:24:04 +01:00
Aidan Cyr
00a6551622
Fixed following on flowlist
...
Fixed a focus_follow was missed when options were cleaned up.
2017-02-02 23:00:47 +11:00
Thomas Kriechbaumer
ae008ed80b
replace tutils.raises with pytest.raises + shim
2017-02-02 12:59:01 +01:00
Thomas Kriechbaumer
ec92d7f67e
cleanup test utils
2017-02-02 12:59:01 +01:00
Thomas Kriechbaumer
380d8ec370
increase test coverage
2017-02-02 10:15:01 +01:00
Thomas Kriechbaumer
2606de25e4
fix linting error
2017-02-02 09:36:33 +01:00
lymanZerga11
4b10212caf
Add except clause to catch script parsing errors ( #1929 )
2017-02-01 15:27:10 +01:00
Aldo Cortesi
914659e888
Regularise setheaders options
...
As per replacements:
- Make the option type a string/tuple union
- Localise parsing strictly within the addon
- Adapt the console editor (we'll find a more elegant solution later)
2017-02-01 12:22:05 +13:00
Aldo Cortesi
4cc75a9560
Revamp replacement hooks
...
- Replacement specifiers can be either strings or tuples. This lets us cope
gracefully with command-line parsing (and posible quick interactive
specification) without having to special-case replacement hooks, or have
knowledge of hook specification leak outside the addon. We can also now use the
same command-line spec format in config files.
- Split replacement and replacement from file into separate addons and options.
Files are now read on each replacement, so you can edit replacement files in
place without restart.
- Modernise the test suite to use addon test helpers.
TODO: editing and displaying replace-from-file in console app
2017-02-01 11:10:28 +13:00
Aldo Cortesi
02f51d043d
Merge pull request #1965 from cortesi/optname
...
Consolidate option names
2017-02-01 08:39:35 +13:00
Maximilian Hils
45ace793d0
🙈
2017-01-30 19:30:35 +01:00
Aldo Cortesi
35aff3b783
Consolidate option names
...
- Onboarding app options to onboarding*
- Console-specific options to console_*
- Web-specific options to web_*
2017-01-30 11:15:12 +13:00
Thomas Kriechbaumer
3028e06fd2
simplify termlog outfile handling
2017-01-25 17:50:07 +01:00
nish21
ab45e4d183
write errors to stderr ( #1952 )
2017-01-25 17:49:56 +01:00
Thomas Kriechbaumer
acfd548fa2
Merge pull request #1956 from Kriechi/version-string
...
improve version specifiers
2017-01-23 22:53:02 +01:00
Maximilian Hils
2eaac31344
Merge pull request #1945 from Kriechi/ca-expired
...
fix #939
2017-01-23 21:22:38 +01:00
Thomas Kriechbaumer
63beaa18ce
improve version specifiers
2017-01-23 20:33:12 +01:00
Thomas Kriechbaumer
5792e2c483
test disable_h2c_upgrade addon
2017-01-23 18:38:27 +01:00
Thomas Kriechbaumer
d674de298c
test websocket addon
2017-01-23 15:45:53 +01:00
Thomas Kriechbaumer
006eb39cc5
fix #939
2017-01-23 15:14:56 +01:00
Maximilian Hils
2ca48e5d08
Merge pull request #1940 from s4chin/add-marked-filter
...
web: Add ~marked filter
2017-01-20 15:26:51 +01:00
Sachin Kelkar
bc8f5a2d71
web: Add ~marked filter
2017-01-20 09:17:09 +05:30
Thomas Kriechbaumer
72b753c60f
provide git information with --version
...
fixes #1848
2017-01-19 20:27:29 +01:00
Maximilian Hils
fe43e629fd
console: display http version in details
2017-01-10 15:26:11 +01:00
Maximilian Hils
d953d83773
mitmdump: fix reading from stdin
2017-01-10 10:37:28 +01:00
Maximilian Hils
88f3459c7d
stronger tests, lint
2017-01-07 23:08:50 +01:00
Maximilian Hils
ede124a587
fix #1910
2017-01-07 23:08:50 +01:00
Maximilian Hils
c41bd3fafd
minor legibility improvements
2017-01-07 23:08:50 +01:00
Maximilian Hils
b1ec7e78cd
Revert "add strutils.replace_surrogates"
...
This reverts commit 15ae88db08dbf2725c8c9f945f2006c4b2a10d46.
2017-01-07 23:08:50 +01:00
Maximilian Hils
c21ee90deb
add strutils.replace_surrogates
2017-01-07 23:08:50 +01:00
Maximilian Hils
042261266f
minor encoding fixes
...
- native() -> always_str()
The old function name does not make sense on Python 3 only.
- Inline utility functions in message.py.
2017-01-07 23:08:50 +01:00
Maximilian Hils
af194918cf
fix HTTP reason phrase encoding
...
While not explicitly spelled out in the RFCs,
the reason phrase is expected to be ISO-8859-1.
2017-01-07 23:08:50 +01:00
lymanZerga11
3ea76a7f3e
Controls the length of URL displayed using the -d option ( #1903 )
2017-01-05 14:37:20 +01:00
chhsiao90
af0539c526
Fixed edit form failed
2016-12-31 14:38:33 +08:00
chhsiao90
a5f1215eb2
Allow underscore in hostname
2016-12-30 21:03:22 +08:00
Maximilian Hils
eab360a02b
fix IO type checking
2016-12-28 14:21:19 +01:00
Maximilian Hils
0929e74b4e
fix compat with Python 3.5.0
2016-12-28 14:20:53 +01:00
Maximilian Hils
8185cf2724
update io compat for 2.0
2016-12-27 21:03:59 +01:00
Maximilian Hils
e531a97a8b
bump version for next release cycle
2016-12-27 20:52:22 +01:00
Thomas Kriechbaumer
7221f49b25
Merge pull request #1887 from Kriechi/h2-enable
...
enable HTTP/2 by default
2016-12-27 20:49:09 +01:00
Maximilian Hils
6ae378aa20
bump version to 1.0.1
2016-12-27 19:26:28 +01:00
Thomas Kriechbaumer
51d57cfd4a
py36: fix type information
2016-12-27 16:28:12 +01:00
Thomas Kriechbaumer
cc9e70e3cc
enable HTTP/2 by default
2016-12-26 21:51:10 +01:00
Aldo Cortesi
5167d59d63
Merge branch 'master' into admin
2016-12-24 11:20:12 +13:00
Thomas Kriechbaumer
24751965f9
remove output of dumper during tests
2016-12-21 23:22:14 +01:00
Thomas Kriechbaumer
7f33771b21
Merge pull request #1881 from mhils/fix-alpn-bytes
...
Always Decode ALPN Where Required
2016-12-20 21:27:23 +01:00
Maximilian Hils
f997b7fe14
always decode alpn where required
2016-12-20 16:49:38 +01:00
Maximilian Hils
77cd9224f9
Merge pull request #1880 from mhils/1877
...
Fix #1877
2016-12-19 19:04:45 +01:00
Maximilian Hils
4f3b50e417
fix io compat with previous releases
2016-12-19 16:19:37 +01:00
Maximilian Hils
fbce37054f
fix #1877
2016-12-19 16:10:41 +01:00
Maximilian Hils
cbc0d3fd41
Merge pull request #1876 from mhils/1858
...
fix #1858
2016-12-19 15:19:02 +01:00
Maximilian Hils
c4e9000021
fix #1858
2016-12-19 01:15:10 +01:00
Thomas Kriechbaumer
504c289ad0
Merge pull request #1875 from Kriechi/dont-log-tracebacks
...
don't log full tracebacks
2016-12-17 22:53:05 +01:00
Maximilian Hils
975d1b87a3
fix #1867 ( #1873 )
2016-12-17 18:59:50 +01:00
Thomas Kriechbaumer
5cfc728d2e
don't log full tracebacks
2016-12-17 18:28:34 +01:00
Thomas Kriechbaumer
ffcf060928
display ALPN information
2016-12-17 17:40:11 +01:00
Thomas Kriechbaumer
39a251a988
Merge pull request #1870 from Kriechi/http2-timeouts
...
http2: faster timeouts
2016-12-17 10:45:34 +01:00
Thomas Kriechbaumer
3eac72f1a3
http2: faster timeouts
2016-12-17 10:34:53 +01:00
Aldo Cortesi
85e0e5da4c
Compat 0.19 -> 1.0
...
0.19 was never released, but let's include a conversion for it anyway, since it
was the master version.
2016-12-17 11:01:40 +13:00
Aldo Cortesi
aa90fd359d
Administrivia: docs for new config file, minor adjustments
...
For now, the config file docs basically say "it's YAML, read the source". We
should do better for the next release.
2016-12-17 10:57:13 +13:00
Aldo Cortesi
2fe7cf448d
Release administrivia: changelog stub, contributors, bump to v1.0
2016-12-17 10:35:13 +13:00
Aldo Cortesi
007aeef770
Addon test docs, remove stray deprecated events
...
Fixes #1572
2016-12-17 10:03:35 +13:00
Aldo Cortesi
c4929bbc19
Merge pull request #1863 from Kriechi/disable-h2c
...
disable h2c upgrades
2016-12-17 09:19:48 +13:00
Aldo Cortesi
cf15a3c3ef
Merge pull request #1862 from mhils/remove-intercept-events
...
Remove intercept events, update view manually
2016-12-17 09:15:11 +13:00
Thomas Kriechbaumer
39a8d4dc22
disable h2c upgrades
2016-12-16 11:29:07 +01:00
Maximilian Hils
388fa7e716
remove intercept events, update view manually
2016-12-16 05:43:38 +01:00
Aldo Cortesi
6695ce4624
Merge pull request #1861 from cortesi/marking
...
console: mark view indiciator, fix empty flow list behaviour
2016-12-16 17:26:19 +13:00
Aldo Cortesi
e387c68b38
console: mark view indiciator, fix empty flow list behaviour
...
Fixes #1782
2016-12-16 11:57:45 +13:00
Aldo Cortesi
61e552553c
Catch occasional protocol errors in regular connect
...
Fixes #1843 and #1847
2016-12-16 10:54:36 +13:00
Aldo Cortesi
6b5673e849
Merge pull request #1845 from mhils/mitmweb-improvements
...
Mitmweb Improvements
2016-12-16 10:04:12 +13:00
Maximilian Hils
727abdba44
Merge pull request #1852 from mhils/simplenamespace
...
Use types.SimpleNamespace instead of custom NS class
2016-12-13 15:06:14 +01:00
Maximilian Hils
44f94c8844
use types.SimpleNamespace instead of custom NS class
2016-12-13 14:23:21 +01:00
Maximilian Hils
e5b3c8bed3
fix #1850
2016-12-13 14:12:18 +01:00
Doug Freed
b39380b00f
console: respect follow in eventlog
...
Also make it possible to toggle the option when the eventlog window has focus.
2016-12-12 15:41:31 +01:00
Doug Freed
48b6964552
console: increase eventlog size limit to 10000
2016-12-12 15:41:31 +01:00
Aldo Cortesi
5e2a80fba1
Minor fixes
2016-12-12 12:18:33 +13:00
Maximilian Hils
d854e08653
[web] various fixes
2016-12-12 00:08:29 +01:00
Aldo Cortesi
a4ac5b158f
Merge branch 'master' into optsave
2016-12-12 11:13:32 +13:00
Aldo Cortesi
6dcd620c4a
Merge pull request #1838 from mhils/http2-is-difficult
...
Disable HTTP/2 by default, add explicit on/off switches
2016-12-12 09:17:06 +13:00
Aldo Cortesi
a99bf0814c
console: clean path prompt handling
...
- Don't trigger callback if no path is specified
- Expand userdir centrally
- Catch IO errors from callbacks and turn them into status messages
2016-12-12 09:13:43 +13:00
Maximilian Hils
a7d7ad2880
Merge pull request #1837 from mhils/1809
...
Fix #1809
2016-12-11 21:13:20 +01:00
Aldo Cortesi
f8032bf85a
Replacements and SetHeaders are both defined as text in Options
...
Bytes don't play well with our config serialization or command-line args.
2016-12-12 07:39:59 +13:00
Aldo Cortesi
ca33bea296
Extend type checker validate Sequence specs
2016-12-12 07:39:59 +13:00
Aldo Cortesi
c5717b17df
console: add saving of config file
2016-12-12 07:39:59 +13:00
Maximilian Hils
00ae4d3f6e
fix version sourcing in setup.py
2016-12-11 17:50:46 +01:00
Maximilian Hils
b92980efec
[web] show proxy address, add websocket toggle
2016-12-11 15:26:49 +01:00
Maximilian Hils
b62b92eabe
Merge pull request #1840 from mhils/1829
...
fix #1829
2016-12-11 14:50:20 +01:00
Maximilian Hils
bdba885922
fix #1829
2016-12-11 13:22:26 +01:00
Maximilian Hils
265ab7bf26
fix #1830
2016-12-11 13:11:02 +01:00
Maximilian Hils
b24d9654a9
disable http2 by default, add explicit on/off switches
...
As long as major HTTP/2 implementers fail to implement the spec correctly,
we need to disable HTTP/2 by default. We expect this to be fixed with
the next release and re-enabled by default.
https://github.com/mitmproxy/mitmproxy/issues/1745
https://github.com/mitmproxy/mitmproxy/issues/1824
2016-12-11 00:29:35 +01:00
Maximilian Hils
782c66eac2
fix #1809
2016-12-10 21:36:31 +01:00
Aldo Cortesi
8112bce424
Merge pull request #1831 from mhils/contentviews
...
Split contentviews.py into mitmproxy.contentviews
2016-12-11 07:33:27 +13:00
Maximilian Hils
b4a1bb44d9
minor fixes
2016-12-10 17:18:21 +01:00
Maximilian Hils
8df61c927e
Merge pull request #1834 from Kriechi/remove_ssl_match_hostname
...
remove backport.ssl_match_hostname
2016-12-10 17:03:18 +01:00
Thomas Kriechbaumer
7bae941ecc
remove backport.ssl_match_hostname
...
This is already included in Python 3.5+
2016-12-10 14:29:51 +01:00
Maximilian Hils
3e37cbd061
minor fixes
2016-12-10 12:06:33 +01:00
Maximilian Hils
123ef043dc
add new xml/html pretty-printer 🎉
2016-12-10 11:40:07 +01:00
Maximilian Hils
293b79af91
remove lxml-dependent code
2016-12-10 10:19:05 +01:00
Maximilian Hils
a7ba2f7b46
update tests, increase coverage, add type info
2016-12-09 21:26:02 +01:00
Maximilian Hils
f53f079f91
split contentviews.py into mitmproxy.contentviews
2016-12-09 19:02:55 +01:00
Maximilian Hils
f0e9e4bab9
fix #1803
2016-12-09 17:18:26 +01:00
Aldo Cortesi
e943147fc3
options: add a merge method to assimilate options
...
Fixes #953
2016-12-08 16:12:40 +13:00
Aldo Cortesi
67e9de5f7f
console: use an addon to capture logs
...
Fix #1780
2016-12-08 10:47:45 +13:00
Aldo Cortesi
b2695dbc6a
Minor tweaks
2016-12-08 10:21:06 +13:00
Aldo Cortesi
a617e3b5f7
Amalgamate all the Options objects
2016-12-08 10:21:06 +13:00
Aldo Cortesi
d742d4fb8c
Replace configargparse with argparse, enable new options loading
...
This commit ditches configargparse and enables the new config file format. The
default location is ~/.mitmproxy/config.yaml. Unifying all of the various
Options objects will follow in the next patch.
2016-12-08 10:21:06 +13:00
Aldo Cortesi
6aacd27ab2
Add YAML serialization of options
...
This uses ruamel.yaml. The library seems well-supported, and can do in-place
modification of config files that retains user comments and file structure.
2016-12-08 10:21:06 +13:00
Aldo Cortesi
150372e297
options: defaults are a class attribute
2016-12-08 10:21:06 +13:00
Aldo Cortesi
2cb1f70381
Options - avoid mutation, API cleanup, has_changed
...
- Always return a deepcopy of options to avoid accidental mutation of options
state.
- Remove .get(opt, default). This is an inappropriate API for Options - trying
to retrieve an option that doesn't exist should always be an error.
- Add the has_changed method that checks if an option differs from the default,
use it in mitmproxy console.
2016-12-08 10:21:06 +13:00
Aldo Cortesi
00c897a185
options: save defaults, add .reset() to restore defaults
...
Use .reset() in console app to clear options.
2016-12-08 10:21:06 +13:00
Aldo Cortesi
d74cac265a
Add YAML serialization of options
...
This uses ruamel.yaml. The library seems well-supported, and can do in-place
modification of config files that retains user comments and file structure.
2016-12-08 10:21:06 +13:00
Aldo Cortesi
c94cd512d1
options: defaults are a class attribute
2016-12-08 10:21:06 +13:00
Aldo Cortesi
3594faf5c4
Correct refresh_server_playback option default
2016-12-08 10:21:06 +13:00
Aldo Cortesi
c062e302e9
Add OptManager.subscribe, use it to clean up palettes in console
...
.subscribe lets you subscribe a function to a specified set of options.
2016-12-08 10:21:06 +13:00
Aldo Cortesi
0c091bd92b
Options - avoid mutation, API cleanup, has_changed
...
- Always return a deepcopy of options to avoid accidental mutation of options
state.
- Remove .get(opt, default). This is an inappropriate API for Options - trying
to retrieve an option that doesn't exist should always be an error.
- Add the has_changed method that checks if an option differs from the default,
use it in mitmproxy console.
2016-12-08 10:21:06 +13:00
Aldo Cortesi
b231836c70
Get rid of tfile testing option
...
It's weird, it's ugly, it's getting in the way of my options refactoring, and
it must therefore die.
2016-12-08 10:21:05 +13:00
Aldo Cortesi
297493801d
Clean up dump tests
...
- Remove tests that redundantly test addon funtionality that we've already
tested more comprehensively elsewhere.
- Extend to 100% coverage for tools/dump.py
2016-12-08 10:21:05 +13:00
Aldo Cortesi
b4d33aaebf
options: save defaults, add .reset() to restore defaults
...
Use .reset() in console app to clear options.
2016-12-08 10:21:05 +13:00
Thomas Kriechbaumer
47196e8676
tls_parser: allow optional extensions
...
fixes #1816
2016-12-06 19:51:57 +01:00
Maximilian Hils
e44493bda5
Merge pull request #1810 from Kriechi/construct
...
upgrade to construct 2.8 and new API
2016-12-04 18:43:20 +01:00
Thomas Kriechbaumer
33689c6b2d
upgrade to construct 2.8 and new API
2016-12-04 16:15:28 +01:00
Thomas Kriechbaumer
1a36efbb6a
simplify ALPN and OpenSSL on macOS
2016-12-04 11:04:06 +01:00
Thomas Kriechbaumer
741c2b7b66
fix whitespace
2016-12-03 16:55:56 +01:00
Thomas Kriechbaumer
e9fa786fa9
fix indentation
2016-12-03 16:53:13 +01:00
Thomas Kriechbaumer
1fcf79fff0
fix ALPN usage
2016-12-02 11:58:20 +01:00
Thomas Kriechbaumer
d2216801dd
websocket: make flowfilter work
2016-11-29 23:01:55 +01:00
Thomas Kriechbaumer
ea6de424a3
websocket: carry over per-message compression bit
2016-11-29 22:32:55 +01:00
Thomas Kriechbaumer
073a286098
websocket: reduce connection timeout
2016-11-29 22:17:33 +01:00
Thomas Kriechbaumer
bd8ae910d2
websocket: fix message type on chunking
2016-11-29 22:13:59 +01:00
Thomas Kriechbaumer
6e15e766c5
websocket: fix close handshake and re-chunking
2016-11-29 22:01:41 +01:00
Thomas Kriechbaumer
5ee192b758
websocket: fix empty frame with fin=1
2016-11-29 21:00:42 +01:00
Maximilian Hils
34bf3a2496
fix #1783 ( #1794 )
2016-11-28 13:29:06 +01:00
Maximilian Hils
e64d2ce829
Merge pull request #1792 from Kriechi/mitmdump-filter-help
...
improve mitmdump filter help
2016-11-28 02:13:39 +01:00
Maximilian Hils
3154dc87fd
fix pyinstaller
...
amongst other things, fix #1746
2016-11-28 00:51:52 +01:00
Thomas Kriechbaumer
b5daafb518
improve mitmdump filter help
2016-11-25 21:59:13 +01:00
Maximilian Hils
568f40c810
Fix transparent mode initialisation, refactor mitmproxy.platform ( #1787 )
2016-11-25 17:32:23 +01:00
Maximilian Hils
0386740404
mitmweb: include console logging
2016-11-25 17:20:14 +01:00
Maximilian Hils
1d3cb9eeb8
mitmweb: add --no-browser
2016-11-25 17:20:14 +01:00
Maximilian Hils
222106916e
Merge branch 'mitmweb-eventlog'
2016-11-23 22:47:50 +01:00
Maximilian Hils
d15ddfad14
fix contentview attributes
2016-11-23 22:47:36 +01:00
Maximilian Hils
45332006a3
mitmweb: 100% app test coverage, numerous fixes
2016-11-23 22:35:07 +01:00
Thomas Kriechbaumer
9bc5adfb03
add more websocket indicators to mitmproxy and mitmdump
2016-11-23 10:18:45 +01:00
Thomas Kriechbaumer
4b04566a34
add metadata info to flow detail view
2016-11-23 10:18:45 +01:00
Thomas Kriechbaumer
ea97f62975
websocket: show messages in the eventlog
2016-11-23 10:18:45 +01:00
Thomas Kriechbaumer
5dfc199086
websocket: add tests
2016-11-23 10:18:45 +01:00
Thomas Kriechbaumer
4beb693c9c
websocket: change cmdline option
2016-11-23 10:18:45 +01:00
Thomas Kriechbaumer
3d8f3d4c23
add WebSocket flows and messages
2016-11-23 10:18:45 +01:00
Thomas Kriechbaumer
ffb3988dc9
rename WebSocket{s,} protocol
2016-11-23 10:18:45 +01:00
Maximilian Hils
dc75605e46
minor fixes
2016-11-23 01:27:52 +01:00
Maximilian Hils
72dcf70db2
mitmweb: fix event display
2016-11-23 01:27:51 +01:00
Maximilian Hils
fea6041cde
mitmweb: cleanup, reimplement eventlog
2016-11-23 01:27:50 +01:00
Maximilian Hils
a6c608e085
make the new mypy release happy
2016-11-23 01:27:23 +01:00
Maximilian Hils
40f0193dda
remove mitmweb auth
...
9b08279c7c
removed the actual functionality.
we should not have a command line switch that does nothing. :)
2016-11-22 18:27:16 +01:00
Maximilian Hils
21a03d56b5
don't set an empty ALPN, refs #1772
2016-11-22 17:02:37 +01:00
Maximilian Hils
f644665cd9
update pydivert, fix #1749
2016-11-21 14:14:52 +01:00
Yoginski
ebff5f2466
Descriptive error message for SSL context initialization failure ( #1767 )
2016-11-21 09:40:09 +01:00
Maximilian Hils
f74e561524
rewrite absolute-form HTTP requests to relative form, fix #1759 ( #1765 )
2016-11-20 17:21:21 +01:00
Edgar Boda-Majer
078f36d86a
handle SIGINT with a quit prompt ( #1760 )
2016-11-20 16:40:04 +01:00
Doug Freed
0ff1967226
proxy/protocol/base: Allow spoofing fixed source
...
Allow combining --spoof-source-address and --upstream-bind-address to
spoof a fixed source address. Also update the help text for
--spoof-source-address to indicate this new possibility.
2016-11-18 14:46:32 +00:00
Maximilian Hils
5ce370e2a9
lint!
2016-11-18 12:59:59 +01:00
Maximilian Hils
2ee8bc2f1a
fix type checks
2016-11-16 17:19:38 +01:00
Maximilian Hils
de6bf175e2
mitmweb: start browser on startup
2016-11-16 15:09:54 +01:00
Maximilian Hils
677789a617
minor fixes
2016-11-16 15:09:53 +01:00
Maximilian Hils
47ec1c9570
Merge pull request #1742 from dwfreed/patch-2
...
Make the upstream bind address a separate option
2016-11-16 13:37:12 +01:00
Thomas Kriechbaumer
3d26bd4aa1
Merge pull request #1748 from Kriechi/better-onboarding
...
add macOS/OSX installation instructions to onboarding page
2016-11-16 13:04:07 +01:00
Thomas Kriechbaumer
d7a22d92ec
add macOS/OSX installation instructions to onboarding page
2016-11-16 11:05:52 +01:00
Aldo Cortesi
8065b44eed
addons.view: clarify modification events
...
This adds a set of store modification events, and uses them for flow settings.
This addresses a bug where settings could persist even after flows were deleted.
2016-11-15 09:53:17 +13:00
Doug Freed
4cfda51c37
proxy/protocol/base: use upstream_bind_address
...
Use the upstream_bind_address option, instead of listen_host.
2016-11-14 12:12:48 +00:00
Doug Freed
f89671a33b
tools/cmdline: add upstream bind address option
...
Allow specifying the upstream bind address on the command line.
2016-11-14 12:12:48 +00:00
Doug Freed
078bd532c3
options: add upstream_bind_address
...
Add upstream_bind_address to the options object
2016-11-14 12:12:48 +00:00
Aldo Cortesi
2d0a65a3f4
Merge pull request #1738 from Kriechi/fix-1737
...
restrict ALPN offers if host changes
2016-11-14 08:50:29 +13:00
Thomas Kriechbaumer
6fb706ec15
restrict ALPN offers if host changes
2016-11-13 12:11:56 +01:00
Aldo Cortesi
9b08279c7c
addons.proxyauth: out with the old, in with the new
...
- Strip out old auth mechanisms, and enable addon
- Disable web app auth for now - this should just use the Tornado auth stuff
2016-11-13 19:59:59 +13:00
Aldo Cortesi
dc88b7d110
addons.proxyauth: complete and test
2016-11-13 18:14:23 +13:00
Aldo Cortesi
e644d2167c
stub out proxyauth addon
...
Stub out basic workings, add and test configure event.
2016-11-13 16:22:33 +13:00
Aldo Cortesi
fe01b1435a
upstream_proxy_auth -> upstream_auth
...
Also clarify what this does in commandline help.
2016-11-13 11:50:28 +13:00
Aldo Cortesi
3b00bc339d
Complete upstream authentication module
...
- Handles upstream CONNECT and regular requests, plus HTTP Basic for reverse
proxy
- Add some tests to make sure we can rely on the .via attribute on server
connections.
2016-11-13 11:43:27 +13:00
Aldo Cortesi
a9b4560187
Refine handling of HTTP CONNECT
...
- CONNECT requests do not generate the usual http events. Instead, they
generate the http_connect event and handlers then have the option of setting an
error response to abort the connect.
- The connect handler is called for both upstream proxy and regular proxy CONNECTs.
2016-11-12 18:28:37 +13:00
Aldo Cortesi
38f8d9e541
Add the http_connect event for HTTP CONNECT requests
2016-11-12 12:44:43 +13:00
Aldo Cortesi
bc01a146b0
Upstream proxy auth to addon
2016-11-12 11:58:04 +13:00
Aldo Cortesi
00492919e7
Add HTTPFlow.mode to record the HTTP proxy layer mode
2016-11-12 11:58:04 +13:00
Aldo Cortesi
5be35d258f
Use an enum for http protocol modes
2016-11-12 11:58:04 +13:00
Aldo Cortesi
fbaade4298
Remove promotion to raw TCP based on heuristics
...
This seems terribly dangerous to me. Let's expand explicit control instead.
2016-11-12 11:58:04 +13:00
Aldo Cortesi
3958940420
Test failure during 100-continue
...
Also:
- Remove duplicate and unused code
- Tighten scope of HttpReadDisconnect handler - we only want to ignore this for
the initial read, not for the entire block that includes things like the expect
handling.
2016-11-12 11:58:04 +13:00
Aldo Cortesi
82ac7d05a6
Bug: ask requestheaders before request body is read
...
Also add the beginnings of a test suite to exercise issues like this.
2016-11-12 11:58:04 +13:00
Aldo Cortesi
53b77fc475
proxy.protocol.http: cleanups, extract request validation
2016-11-12 11:58:04 +13:00
Aldo Cortesi
4eea265925
Remove unused protocol attribute on connections.
2016-11-12 11:58:04 +13:00
Aldo Cortesi
a653f314ff
proxy.protocol.http: flatten for refactoring
...
Flatten all of _process_flow, so we can see what's going on in there.
2016-11-12 11:58:04 +13:00
Maximilian Hils
afa124a9f6
Merge pull request #1723 from Kriechi/http2-conns
...
http2: move h2 connection object
2016-11-09 15:19:55 +01:00
Maximilian Hils
77f05178ad
mitmweb: minor fixes
2016-11-09 13:01:25 +01:00
Maximilian Hils
a0ddedff6f
web: update static assets
2016-11-09 10:09:00 +01:00
Maximilian Hils
d9597add76
web: fix header update
2016-11-09 10:04:51 +01:00
Maximilian Hils
c2a130dced
web: simplify flow storage
2016-11-08 17:55:22 +01:00
Maximilian Hils
85476d9915
clean up mitmweb
2016-11-08 17:54:27 +01:00
Maximilian Hils
62ca896492
fix mitmweb
2016-11-08 17:43:46 +01:00
Thomas Kriechbaumer
f140b1d84f
http2: move h2 connection object
2016-11-05 20:39:42 +01:00
Aldo Cortesi
86b7661456
Remove sticky[auth,cookie] from http objects
...
- they're unused
- if we want them, they should be set by the addon in the new metadata store
2016-11-04 11:50:19 +13:00
Aldo Cortesi
067198a5dd
Remove deprecated interfaces
2016-11-04 11:47:47 +13:00
Aldo Cortesi
4eb2b56dec
Let's not over-ride __bool__ on connection objects
...
If I had a thousand years and every thesaurus in the world, I still couldn't
adequately express how much I dislike this piece of interface design.
2016-11-04 10:59:41 +13:00
Aldo Cortesi
deb66d3cac
addons.setheaders: fix configure bug, tests to taddons
2016-11-04 09:09:39 +13:00
Aldo Cortesi
b51a96081a
addons.view: test suite to 100%
...
This takes coverage for all of /addons to 100%
2016-11-04 08:55:01 +13:00
Aldo Cortesi
17e828b243
addons.view: test improvements
2016-11-03 20:53:06 +13:00
Aldo Cortesi
5ade93f2ad
addons.streambodies: 100% test coverage
2016-11-03 20:16:07 +13:00
Aldo Cortesi
e9a96f4d7f
addons.script: 100% test coverage
2016-11-03 19:36:34 +13:00
Aldo Cortesi
d31f2698a5
addons.onboarding: remove duplicate code
2016-11-03 16:20:38 +13:00
Aldo Cortesi
77e6dfe35c
streamfile: make options less crazy
...
Instead of a (file, mode) tuple, move to "streamfile" as the path, and
"streamfile_append" to specify if we should append or not.
Leave the command-line options intact for now.
2016-11-03 15:18:55 +13:00
Aldo Cortesi
9f77c79227
FileStreamer -> StreamFile
...
options.wfile -> options.streamfile
2016-11-03 15:00:18 +13:00
Aldo Cortesi
43a8221989
addons: filestreamer test cov to 100%
...
Also address a bug in taddons that caused options changes that raised errors to
be retained rather than rolled back.
2016-11-03 14:50:23 +13:00
Aldo Cortesi
fbdce4b629
addons filstreamer: tests and bugfixes
...
- Move tests to taddons
- Fix a bug where options updates caused streaming to halt
2016-11-03 12:44:19 +13:00
Aldo Cortesi
b867fb35a3
addons: dumper spit and polish
...
- 100% test coverage
- Cleanups
- Add test/mitmproxy/addons/dumperview.py, a small utility for viewing dumper
output variations
2016-11-02 22:47:49 +13:00
Aldo Cortesi
a75b3474a4
tests: convert test_dumper to use taddons
2016-11-02 11:17:08 +13:00
Aldo Cortesi
59b269425f
tests: client_playback coverage
2016-11-02 10:59:33 +13:00
Aldo Cortesi
c55e8d8f62
tests: clean up test/mitmproxy/tutils.py
...
Remove aliases, use mitmproxy/test/tutils instead.
2016-11-02 09:44:18 +13:00
Vincent Haupert
f9add49833
Only raise exception if an error occurred.
2016-10-31 23:53:11 +01:00
Aldo Cortesi
c33557a230
Extend mypy checks to mitmproxy/addons
...
Fix a number of issues to do this.
2016-11-01 10:38:35 +13:00
Aldo Cortesi
50deaf56bf
Remove addons.State
...
- Do a first-pass port of mitmweb. Some stuff still broken.
- Remove more all State tests from the test suite
2016-11-01 10:06:28 +13:00
Aldo Cortesi
ecffaab862
console: Minor cleanups
2016-11-01 09:25:32 +13:00
Aldo Cortesi
daf355bb4c
console: add caching sort keys
...
This is a tad complicated. The underlying sorted list implementation expects
the sort key to be stable for the lifetime of the object. However, if we sort
by size, for instance, the sort order changes as the flow progresses through
its lifecycle. We address this through two means:
- Let order keys cache the sort value by flow ID.
- Add a facility to refresh items in the list by removing and re-adding them
when they are updated.
2016-10-30 21:11:30 +13:00
Aldo Cortesi
9abfb1aac2
console: re-add follow focus
2016-10-30 19:47:32 +13:00
Aldo Cortesi
9322167eeb
console: show order option in status bar
2016-10-30 18:33:51 +13:00
Aldo Cortesi
5975cc8301
console: status bar improvements
...
- Arrow to show flow order
- Hook statusbar up to focus change to fix some update issues
2016-10-30 18:25:33 +13:00
Aldo Cortesi
f08b57fb9b
console: "v" to reverse flow order
2016-10-30 17:57:43 +13:00
Aldo Cortesi
a67a591893
console: o for flow order
...
"o" shortcut and --order cmdline option to change flow order.
Options is now bound to "O".
2016-10-30 17:42:34 +13:00
Aldo Cortesi
7a6bae336b
addons.view: fix tests
2016-10-30 17:03:06 +13:00
Aldo Cortesi
a43cce504a
console: various cleanups
2016-10-30 16:58:19 +13:00
Aldo Cortesi
62ead34a94
mitmproxy.console: Complete port to view.
2016-10-30 16:15:33 +13:00
Aldo Cortesi
6b6c44551a
addons.view: Add first-class support for marking
...
Marking now works differently - it's no longer just another filter, it's
applied in addition to the filter. This means you can apply a filter, mark some
flows, and then toggle between marked and unmarked flows matching the filter.
I'm leaving the filter for marked flows intact - it will come in handy in other
situations.
2016-10-30 15:45:36 +13:00
Aldo Cortesi
2b76db1272
console: Port from state to view
...
First phase of the port - basic flow list and flow view functionality working.
More to come.
2016-10-30 14:56:36 +13:00
Aldo Cortesi
b9eb1a3479
Add options.default_contentview
...
This is the first step in a longer process of revamping content views. For the
moment, the option is not exposed on the command line.
2016-10-30 12:05:37 +13:00
Aldo Cortesi
944dcbaaa0
Cleanups: remove intercept from addons.state, unused imports
2016-10-30 11:13:05 +13:00
Aldo Cortesi
81a00f6f76
Replace interception in mitmproxy and mitmweb with addon
...
Fixes #1674
2016-10-30 11:07:09 +13:00
Aldo Cortesi
d1f14961ed
test.taddon: Add cycle() method, use it to test addons.intercept
2016-10-30 10:52:57 +13:00
Aldo Cortesi
b4904d33ba
Move test flow creators to mitmproxy.test.tflow
2016-10-30 10:12:39 +13:00
Aldo Cortesi
2dc3284fbb
Add addons.intercept
...
- Add an addon to handle intercept based on a filter pattern
- Start sketching out a nicer testing truss for addons in mitmproxy.test.taddon
2016-10-29 15:44:48 +13:00
Aldo Cortesi
71d2636594
Sync
2016-10-29 12:35:10 +13:00
Aldo Cortesi
005c22445b
addons.view: focus.focusflow -> focus.flow
2016-10-29 11:55:44 +13:00
Aldo Cortesi
7ecaeb0214
addons.view.focus: next and prev methods
2016-10-29 11:50:10 +13:00
Aldo Cortesi
32a0a7b860
addons.view: flow settings
...
Add a flow settings mechanism, enable focus and settings unilaterally.
2016-10-29 11:37:32 +13:00
Aldo Cortesi
14df969434
addons.view.focus: Better handling of view refresh
...
When we refresh and our current focus goes out of scope, we set the focus to
the element nearest the old focus.
2016-10-29 11:08:35 +13:00
Aldo Cortesi
90e7142b5c
addons.View: better order reversal
...
Deal with some subtleties in order reversal, add a toggle method that emits
refresh.
2016-10-29 10:55:57 +13:00
Aldo Cortesi
12a70d03ad
addons.view: Add a focus tracker
2016-10-29 10:17:29 +13:00
Aldo Cortesi
9dcc3a3e20
addons.View: hook up signals
2016-10-29 08:25:19 +13:00
Aldo Cortesi
69bacee1d8
Sketch out addons.View
...
The first iteration of a replacement for addons.State
2016-10-29 08:25:19 +13:00
Aldo Cortesi
9be34baa40
Merge pull request #1687 from Kriechi/http2-type-information
...
http2: add more type information
2016-10-29 08:12:41 +13:00
Thomas Kriechbaumer
d86cb76e5b
http2: add push indicator
2016-10-27 20:33:30 -07:00
Thomas Kriechbaumer
f1878eb051
http2: add more type information
2016-10-27 20:24:57 -07:00
Maximilian Hils
e71b634c58
Merge pull request #1684 from mhils/1675
...
Fix #1675
2016-10-27 16:22:37 -07:00
Maximilian Hils
4ac4fe2849
Merge pull request #1671 from mitmproxy/bump-h2
...
Bump h2 version
2016-10-27 16:13:30 -07:00
Maximilian Hils
62c9c3db4f
fix #1675
2016-10-27 16:12:18 -07:00
Thomas Kriechbaumer
44ac370f08
upgrade h2 to >=2.5.0
2016-10-27 15:10:53 -07:00
Maximilian Hils
48f51849b9
fix #1676
2016-10-27 13:10:57 -07:00
Maximilian Hils
a93baad655
Merge pull request #1680 from mhils/remove-lrucache
...
Remove mitmproxy.utils.lrucache
2016-10-27 11:45:35 -07:00
Maximilian Hils
97f1236c99
Merge pull request #1670 from chhsiao90/display-cipher-#582
...
Resolved #582 : display ClientConnection select cipher of TLS
2016-10-27 11:38:22 -07:00
Maximilian Hils
6b4c705197
remove mitmproxy.utils.lrucache
2016-10-27 11:24:36 -07:00
Aldo Cortesi
72ac572226
Merge pull request #1673 from mhils/issue-1620
...
fix #1620
2016-10-27 08:26:48 +13:00
chhsiao90
d52f35428c
Show tls version on console
2016-10-26 14:36:14 +08:00
Maximilian Hils
eda1b39a74
minor fixes
2016-10-25 22:06:52 -07:00
Maximilian Hils
f11b289c39
fix #1620
2016-10-25 21:56:13 -07:00
Maximilian Hils
b1bdae3d1c
typecheck options, fix current inconsistencies
2016-10-25 20:45:48 -07:00
chhsiao90
960f2e8bf0
Resolved #582 : display ClientConnection select cipher of TLS
2016-10-26 11:32:42 +08:00
Maximilian Hils
917c701562
make options keyword-only
2016-10-25 17:34:30 -07:00
Maximilian Hils
145c2892f7
Merge pull request #1664 from chhsiao90/sni-display-#1639
...
Resolved #1639 : display sni on ClientConnection
2016-10-24 19:56:05 -07:00
chhsiao90
39ac29e37c
Resolved #1639 : display sni on ClientConnection
2016-10-25 10:46:53 +08:00
Maximilian Hils
ef4e9b2b85
Merge pull request #1656 from mhils/improve-export-2
...
Improve Flow Export
2016-10-24 19:19:58 -07:00
Maximilian Hils
21f133fae9
fix FlowView._get_content_view
2016-10-24 16:03:28 -07:00
Sahil Chelaramani
7b3505336a
replace mitmproxy.utils.lrucache with functools.lru_cache
2016-10-24 16:03:16 -07:00
Maximilian Hils
c14ae74d2e
disable erroneous linting errors
2016-10-24 15:59:57 -07:00
Maximilian Hils
5670e61a31
add version check for Python 3.4-
2016-10-24 14:26:07 -07:00
Maximilian Hils
e87daa70f3
improve flow export
2016-10-22 20:32:39 -07:00
Aldo Cortesi
6170493615
Don't call error for flow kill
...
This is now the error handler on master, so whatever the intetion was it's now
definitely wrong.
2016-10-22 15:56:42 +13:00
Aldo Cortesi
9fc1547053
console: give statusbar messages a default timeout
2016-10-22 15:06:24 +13:00
Aldo Cortesi
cc8b422d9d
multidict: remove to_dict
...
We never use it, and it is dangerously ambiguous when a key is associated with
a list.
2016-10-21 11:42:21 +13:00
Aldo Cortesi
18ee6255c0
multidict: ditch ImmutableMultiDict
...
A contorted class we only use for cookie attributes. We don't need it.
2016-10-21 11:40:05 +13:00
Aldo Cortesi
635c77d4ed
console: correct log event handling i
...
Fixes #1640
2016-10-21 09:25:34 +13:00
Aldo Cortesi
8430f857b5
The final piece: netlib -> mitproxy.net
2016-10-20 11:56:38 +13:00
Aldo Cortesi
853e03a5e7
netlib.tutils -> mitmproxy.test.tutils
...
There's a LOT more to be done refactoring our different conflicting test utils.
2016-10-20 11:42:55 +13:00
Aldo Cortesi
9491d8589a
Improve exception hierarchy
...
ProxyException -> MitmproxyException
NetlibException inherits from MitmproxyException
2016-10-20 11:31:18 +13:00
Aldo Cortesi
01a449b5cb
netlib.exceptions.* -> mitmproxy.exceptions
2016-10-20 11:27:05 +13:00
Aldo Cortesi
f964d49853
netlib.certutils -> mitmproxy.certs
2016-10-20 11:02:52 +13:00
Aldo Cortesi
9870844b38
netlib.utils -> netlib.check
...
Now only contains is_valid_[host,port]
Intermediate step - this will be in mitproxy.net soon.
2016-10-20 10:46:47 +13:00
Aldo Cortesi
e0f3cce14c
netlib.utils.[get,set]bit -> mitmproxy.utils.bits
2016-10-20 10:38:57 +13:00
Aldo Cortesi
9555126585
netlib.utils.BiDi -> mitmproxy.types.bidi.BiDi
2016-10-20 10:32:09 +13:00
Aldo Cortesi
a684585e7c
netlib.debug -> mitmproxy.utils.debug
2016-10-20 10:25:36 +13:00
Aldo Cortesi
1ecb25cdc1
mitmproxy.types.[basethread,multidict,serializable]
2016-10-20 10:22:23 +13:00
Aldo Cortesi
f45f4e677e
netlib.strutils -> mitmproxy.utils.strutils
2016-10-20 10:11:58 +13:00
Aldo Cortesi
1407830280
netlib.human -> mitmproxy.utils.human
2016-10-20 09:45:18 +13:00
Aldo Cortesi
069119364d
Create mitmproxy.utils hierarchy
...
- Add mitproxy.utils.lrucache, mitproxy.utils.data
2016-10-20 09:35:55 +13:00
Aldo Cortesi
7440232f60
netlib.version -> mitmproxy.version
2016-10-20 09:20:44 +13:00
Aldo Cortesi
9e7438fb18
console: fix master invocation order
2016-10-19 23:16:18 +13:00
Aldo Cortesi
e73c7fe77e
mitmproxy.protocol -> mitmproxy.proxy.protocol
...
The protocols here are compltely proxy-specific, are only used from within the
proxy module, and are not exposed to users.
2016-10-19 23:11:56 +13:00
Aldo Cortesi
24cf8da27e
Move all tools into mitmproxy.tools, move models/* to top level
...
The primary motivation here (and for all the other moving around) is to present
a clean "front of house" to library users, and to migrate primary objects to
the top of the module hierarchy.
2016-10-19 20:26:05 +13:00
Aldo Cortesi
5a68d21e8c
Remove flow module entirely, move contents to top level
...
mitmproxy.flow.io -> mitmproxy.io
mitmproxy.flow.export -> mitmproxy.export
2016-10-19 15:08:35 +13:00
Aldo Cortesi
7c32d4ea2a
flow.state -> addons.state
2016-10-19 14:48:42 +13:00
Aldo Cortesi
22eebfd574
addons.Addons -> addonmanager, builtins -> addons
2016-10-19 14:39:39 +13:00
Aldo Cortesi
966418725b
controller.Log -> log.Log
2016-10-19 14:14:59 +13:00
Aldo Cortesi
bce387a5a0
Kill flow.master - create master.Master
...
Also extract events into .events
2016-10-19 13:22:50 +13:00
Aldo Cortesi
264a09e778
Let's dispense with this fiction that we support multiple servers
...
It's simple enough to re-add if needed, and until then is just cruft.
2016-10-19 12:37:32 +13:00
Aldo Cortesi
da8dec9823
addons: add AddonHalt exception
...
This can be raised from an addon handler to stop further processing of a flow.
Use this to prevent further handling of web app requests.
2016-10-19 12:01:08 +13:00
Aldo Cortesi
87629586ae
web app cleanups: tests and examples
2016-10-19 11:48:51 +13:00
Aldo Cortesi
ceb8caee98
Web apps to addons
...
This commit removes the app registry, adds a wsgiapp addon base, and ports the
onboarding app to it.
2016-10-19 11:40:51 +13:00
Aldo Cortesi
466f5e56a1
Convert flow.state to an addon
...
A first step, and already many things are much nicer.
2016-10-18 21:51:36 +13:00
Aldo Cortesi
d5056c5627
accept_addon -> resume, intercept/resume events
2016-10-18 12:02:35 +13:00
Aldo Cortesi
825b02d495
master.duplicate_flow -> state.duplicate_flow
...
This is a pure operation on state, and doesn't belong on master.
Part of prep to move state to an addon.
2016-10-18 11:29:51 +13:00
Aldo Cortesi
b25d94a6ac
Response body streaming to addon
2016-10-18 10:42:05 +13:00
Maximilian Hils
c6d485bc77
dumper: limit url length
2016-10-17 12:56:11 +02:00
Thomas Kriechbaumer
94c9dd66e6
remove empty lines at beginning of file
2016-10-17 10:32:12 +02:00
Thomas Kriechbaumer
e59a3be09d
removed unused import
2016-10-17 09:55:49 +02:00
Maximilian Hils
758860531a
fix socks5 mode with tls
2016-10-16 23:05:51 -07:00
Aldo Cortesi
c774a9fec9
python3: clean up super and __future__
2016-10-17 18:03:07 +13:00
Aldo Cortesi
a647b30365
python3: clean up class brackets
2016-10-17 17:37:08 +13:00
Aldo Cortesi
fb22f2ff4f
Zap object base class
2016-10-17 17:37:08 +13:00
Maximilian Hils
666c59cbfb
actually fix merge 🙈
2016-10-16 21:33:24 -07:00
Maximilian Hils
bdaa13d498
fix merge
2016-10-16 21:23:04 -07:00
Maximilian Hils
9389601025
Merge branch 'such-types'
2016-10-16 21:17:39 -07:00
Maximilian Hils
5a07892bfc
py2--: inline type info
2016-10-16 20:56:46 -07:00
Aldo Cortesi
ce98a9219e
test & examples: zap six
2016-10-17 16:45:45 +13:00
Aldo Cortesi
839813a84c
mitmproxy: zap six
2016-10-17 16:22:44 +13:00
Aldo Cortesi
8360f70024
First-order conversion to Python3-only
...
- Zap various occurrences of Python2 in docs and scripts
- Remove six from netlib, and some other places where obvious project-wide
search and replace works.
2016-10-17 15:18:47 +13:00
Aldo Cortesi
4918feb725
Add stub converter for 0.19 io format
2016-10-17 08:47:03 +13:00
Aldo Cortesi
00603021d9
docs: concurrency, developing scripts
2016-10-16 20:39:34 +13:00
Aldo Cortesi
9a0195bf64
scripts: keep scripts just after the ScriptLoader in addon chain
...
We need scripts to run _before_ filestreamer, so we can't just add them to the
end of the chain. This patch also fixes an issue that could cause scripts to be
initialised un-necessarily if only the order of scripts in options changed.
2016-10-16 20:26:06 +13:00
Aldo Cortesi
97b594b848
mitmdump: fix addon order - dumper must be last
...
This is so we can see the effects of script rewriting using -dd.
2016-10-16 20:26:06 +13:00
Aldo Cortesi
55cb2a8547
docs: logging and the context
2016-10-16 20:26:06 +13:00
Aldo Cortesi
a6c7a1ff91
scripts: handle SystemExit from scripts explicitly
2016-10-16 20:26:06 +13:00
Aldo Cortesi
dc19ff7a9d
mitmdump: show script errors on startup
...
Add the terminal logger before any other addons, so we see script errors on
startup.
2016-10-16 20:26:06 +13:00
Aldo Cortesi
fb69c9c345
docs: overview, classes, arguments
2016-10-16 20:26:06 +13:00
Aldo Cortesi
61040a7bcd
docs: improve external source links, tweak code docs
2016-10-16 20:26:06 +13:00
Aldo Cortesi
c8f2f1019d
Clean up models.http a bit
...
- We don't need a deprecation warning here
- Bring imports inline with policy
2016-10-16 20:26:06 +13:00
Aldo Cortesi
fdb6a44245
docs: cleanups improvements and fighting sphinx
...
- Hide links to internal code listings, and link to github instead
- Improve formatting of code/example captions
- Fix outdated documentation of command-line options
- Complete documentation of all events + improved formatting
- tcp_open -> tcp_start, tcp_close -> tcp_end to reduce confusion
2016-10-16 20:26:06 +13:00
Maximilian Hils
26af9b29fc
fix #1611
2016-10-15 18:25:18 -07:00
Maximilian Hils
5fab94580e
fix #1605
2016-10-13 20:31:14 -07:00
Maximilian Hils
b422ba5328
simplify eof detection
2016-10-05 17:45:48 -07:00
Thomas Kriechbaumer
ff388f2e62
Merge pull request #1598 from cortesi/dummystate
...
mitmdump: use a dummy state object
2016-10-04 15:36:31 +02:00
Thomas Kriechbaumer
90898f9084
use flt instead of filt for flowfilter expressions
2016-10-04 14:51:04 +02:00
Aldo Cortesi
e189652680
mitmdump: use a dummy state object
...
Most of the mitmdump memory leak turns out to be due to our leaky handling of
the state object. Since mitmdump doesn't actually use the state object, we can
replace it with a shell.
2016-10-04 16:52:58 +11:00
Aldo Cortesi
7fe09f4d26
Consolidate logging
...
- Make log event handler work
- Move terminal event log into an addon
- Clean various log related errors and duplications
2016-10-04 13:00:15 +11:00
Aldo Cortesi
2bd8686629
http2: support the requestheaders event
...
We do this by splitting read_request into read_request_headers and
read_request_body.
2016-10-04 10:33:57 +11:00
Aldo Cortesi
2e48b60ff1
Clarify channel interaction pattern
...
Before this patch, it wasn't clear when the arguments to an event could be
modified, and when a new object should be returned. After this patch, the right
thing to do is to modify the arguments in 99% of cases. The only exception to
this is root_layer, for which we can find a better structure down the track.
2016-10-04 08:13:56 +11:00
Aldo Cortesi
1ae73b9157
Add requestheaders event
...
HTTP1 only for now, HTTP2 coming next.
2016-10-04 08:13:56 +11:00
Aldo Cortesi
b735694653
websockets_handshake -> websocket_handshake
...
The plural feels awkward.
2016-10-04 08:13:56 +11:00
Thomas Kriechbaumer
36c04f1631
fix flowfilter.match args
2016-10-03 12:04:17 +02:00
Thomas Kriechbaumer
bb60b76af4
use flowfilter.match
2016-10-03 11:45:54 +02:00