Commit Graph

366 Commits

Author SHA1 Message Date
Aldo Cortesi
9dcd15d350 asyncio: ditch the handler context
There are a few reasons for this. First, logs are now async, and can be called
at any time. Second, the event loop is thread local, so there can only ever be
one master per thread. These two things together completely obviate the need
for a handler context.
2018-04-07 09:04:14 +12:00
requires.io
c5881c0dc9 [requires.io] dependency update 2018-04-02 20:49:26 +02:00
Thomas Kriechbaumer
46f8901b8c Python 3.5 is dead -- long live Python 3.6!
fixes #2266
2018-03-31 18:46:32 +02:00
Thomas Kriechbaumer
eb297d82aa fix Tornado 5.0 event loop
https://github.com/tornadoweb/tornado/issues/2183#issuecomment-371001254
2018-03-24 11:19:04 +01:00
Thomas Kriechbaumer
f34932c171
[requires.io] dependency update on master branch (#2992) 2018-03-24 10:42:49 +01:00
requires.io
7e1a6d1427 [requires.io] dependency update 2018-03-02 21:02:21 +01:00
Aldo Cortesi
b57f551c0d
Merge pull request #2921 from fristonio/Fix-2899
Remove h11 from dependencies and move requests to dev dependencies
2018-02-26 08:49:19 +13:00
Miroslav
4ae9b065e7 Getting rid of Pillow 2018-02-25 21:26:25 +02:00
Deepesh Pathak
a40dbc11b8
Remove h11 from dependencies and move requests to dev dependencies 2018-02-26 00:02:05 +05:30
Chih-Hsuan Yen
d1ecf9df94
Explicitly declare pyperclip requirement
pyperclip version 1.6.0 introduces an API change: the class `pyperclip.exceptions.PyperclipException` is moved to `pyperclip.PyperclipException`. As mitmproxy uses the latter, it's better to explicitly declare the requirement.
2018-02-24 00:26:49 +08:00
Aldo Cortesi
982508d30f All new documentation
This patch does a lot.

- Ditch sphinx in favor of hugo. This gives us complete control of the layout
and presentation of our docs. Henceforth, docs will be hosted on our website
rather than ReadTheDocs.
- Create a simple, clean doc layout and theme.
- Remove large parts of the documentaion. I've ditched anything that was a)
woefully out of date, b) too detailed, or c) too hard to maintain in the long
term.
- Huge updates to the docs themselves: completely rewrite addons documentation,
add docs for core concepts like commands and options, and revise and tweak a
lot of the existing docs.

With this patch, we're also changing the way we publish and maintain the docs.
From now on, we don't publish docs for every release. Instead, the website will
contain ONE set of docs for each major release. The online docs will be updated
if needed as minor releases are made. Docs are free to improve during minor
releases, but anything that changes behaviour sufficiently to require a doc
change warrants a new major release. This also leaves us free to progressively
update and improve docs out of step with our release cadence.

With this new scheme, I feel CI over the docs is less important. I've removed
it for now, but won't object if someone wants to add it back in.
2018-02-22 18:07:58 +13:00
requires.io
b95319cb66 [requires.io] dependency update 2018-02-12 10:33:06 +01:00
Thomas Kriechbaumer
02d8ed8aeb
[requires.io] dependency update on master branch (#2848) 2018-02-07 13:06:29 +01:00
Thomas Kriechbaumer
7610d78bb6 bump minimum requirements for known bugfix releases 2018-01-27 11:27:37 +01:00
Maximilian Hils
bfac5f968e
bump minimum required urwid version, fix #2815 2018-01-26 20:28:11 +01:00
Thomas Kriechbaumer
06da673942 [requires.io] dependency update on master branch (#2799) 2018-01-18 19:25:59 +01:00
Maximilian Hils
1e03a5d31e dependency update 2018-01-04 18:55:07 +01:00
Thomas Kriechbaumer
4495562f86 unvendor wsproto 2018-01-01 13:34:21 +01:00
Maximilian Hils
6245566263 fix #2470 2017-12-30 18:48:51 +01:00
Maximilian Hils
9dc3d16bf2 single-source version processing 2017-12-30 18:48:47 +01:00
Thomas Kriechbaumer
8a38e1ef3a bump cryptography
This includes important security fixes.
2017-12-17 09:44:57 +01:00
requires.io
4e24915c8e [requires.io] dependency update 2017-12-15 23:20:14 +01:00
Thomas Kriechbaumer
f5fafbfcb5 vendoring of wsproto
https://github.com/python-hyper/wsproto.git
commit 5ea2da61266796666f5de6461aaae22e6b00deba
2017-12-12 22:09:46 +01:00
Thomas Kriechbaumer
b09c28d8a6
[requires.io] dependency update on master branch (#2637) 2017-12-11 17:04:33 +01:00
Thomas Kriechbaumer
59af6af0f7
[requires.io] dependency update on master branch (#2629) 2017-11-15 12:56:38 +01:00
requires.io
d00804656d [requires.io] dependency update 2017-11-10 21:44:26 +01:00
Thomas Kriechbaumer
68c259293e
[requires.io] dependency update on master branch (#2623) 2017-11-10 11:14:41 +01:00
Thomas Kriechbaumer
80a8eaa708 bump flake8
closes #2601
2017-10-31 10:58:38 +01:00
Thomas Kriechbaumer
569d275d76 [requires.io] dependency update on master branch (#2586) 2017-10-22 18:06:44 +02:00
Maximilian Hils
d5173f3905 allow pyOpenSSL 17.2 2017-10-17 11:41:09 +02:00
requires.io
f62e9882cd [requires.io] dependency update 2017-10-06 19:48:36 +03:00
requires.io
579b0863b7 [requires.io] dependency update 2017-10-02 17:48:05 +02:00
Maximilian Hils
289ddfe988 remove html outline contentview, fix #2572 2017-09-14 15:11:24 -07:00
requires.io
be1bfbcba4 [requires.io] dependency update 2017-09-14 05:10:47 +02:00
Maximilian Hils
f46e5e667f remove jsbeautifier dependency 2017-09-03 21:02:29 +02:00
Maximilian Hils
1000efb671 remove cssutils dependency 2017-08-24 20:39:38 +02:00
Thomas Kriechbaumer
68839077b6 Revert "Fix version conflict" 2017-08-15 16:32:18 +02:00
Ujjwal Verma
35c267b9bf Fix version conflict 2017-08-10 16:50:20 +05:30
requires.io
da38e36ea0 [requires.io] dependency update 2017-08-02 20:40:40 +02:00
Thomas Kriechbaumer
8b0a570f4c bump dependency 2017-08-02 19:53:32 +02:00
requires.io
31db24599a [requires.io] dependency update 2017-07-24 21:25:04 +02:00
Thomas Kriechbaumer
28c326031a [requires.io] dependency update on master branch (#2435) 2017-07-24 21:03:14 +02:00
Maximilian Hils
5c4b0d4132 require latest mypy version (refs #2452) 2017-07-24 19:03:01 +02:00
Maximilian Hils
7b0485d6d6 update mypy 2017-07-20 16:27:13 +02:00
Thomas Kriechbaumer
b115c25dcc [requires.io] dependency update on master branch (#2426) 2017-07-09 09:44:24 +02:00
Maximilian Hils
55a20b819e update dependencies 2017-07-05 08:39:26 +02:00
Maximilian Hils
387235b580 [requires.io] dependency update on master branch (#2373) 2017-06-05 11:48:28 +02:00
Maximilian Hils
acd568c6fa [requires.io] dependency update on master branch (#2360) 2017-05-31 10:18:39 +02:00
Maximilian Hils
eb5f37a7d1 fix mypy annotations 2017-05-26 16:14:20 +02:00
Thomas Kriechbaumer
4aeb6c6455 cleanup old tls_parser 2017-05-26 13:59:41 +02:00
Thomas Kriechbaumer
0bd3d0ff4c upgrade pytest and remove our pytest.raises wrapper 2017-05-24 11:35:53 +02:00
Maximilian Hils
4b1cd76f3e [requires.io] dependency update (#2328) 2017-05-18 16:59:08 +08:00
Thomas Kriechbaumer
1c6b33f5af update packages 2017-05-11 10:16:19 +02:00
Charles d'Hondt
154e8ac0fc fixed lint 2017-05-04 13:39:48 +02:00
Charles d'Hondt
f67d9adc31 Added ldap mock test 2017-05-04 13:25:15 +02:00
Charles d'Hondt
3f094a54ce added ldap3 to setup.py 2017-05-02 10:18:49 +02:00
Thomas Kriechbaumer
3e82f4d6c4 bump cryptography min-version
This removes OpenSSL v0.9.8 support.
2017-04-27 19:39:56 +02:00
Aldo Cortesi
7aa2081894 Remove watchdog, solidify script testing
- Remove the watchdog dependency. We now just stat the script file every 2
seconds to check for an updated mtime.
- Further solidify our script testing, and in particular make the example tests
nicer. These should exemplify how we want users to test their own addon
scripts. More work on addon testing to follow.
2017-04-26 09:01:40 +12:00
Maximilian Hils
6af72160bf [requires.io] dependency update on master branch (#2252) 2017-04-20 15:29:42 +02:00
Maximilian Hils
3d7cde058b [requires.io] dependency update on master branch (#2241) 2017-04-17 10:49:17 +02:00
Maximilian Hils
3aa7f24992 Update setup.py 2017-04-16 19:44:26 +02:00
requires.io
3afeb7c7e9 [requires.io] dependency update 2017-04-16 19:42:32 +02:00
Thomas Kriechbaumer
dadb50946e update kaitai and recompile formats 2017-04-16 15:51:11 +02:00
Thomas Kriechbaumer
ef9f0e22ea bump h2 2017-03-24 21:27:14 +01:00
Maximilian Hils
26d0254203 [requires.io] dependency update on master branch (#2193) 2017-03-21 18:43:56 +01:00
Aldo Cortesi
5192810ff6 Make mypy succeed with imports on master.py
We get little benefit from our mypy QA checks at the moment, because we skip
imports. This patch is what's needed to make mypy succeed with imports on a
single file: master.py

It also updates mypy to the current version, and enables a QA check.

Mypy bugs I encountered:

dict.update with kwargs not supported:

https://github.com/python/mypy/issues/1031

property setters and getters must be adjacent:

https://github.com/python/mypy/issues/1465
2017-03-17 08:13:47 +13:00
Thomas Kriechbaumer
2a934ed323 bump h2 and hyperframe 2017-03-16 10:33:36 +01:00
Aldo Cortesi
b275257553 Merge pull request #2167 from mhils/update-dependencies
update mypy
2017-03-16 18:05:35 +13:00
Maximilian Hils
112233891d update mypy 2017-03-15 23:10:21 +01:00
Thomas Kriechbaumer
bbf4629906 bump sphinx 2017-03-15 23:05:06 +01:00
Thomas Kriechbaumer
ec5d9cbd2b Merge pull request #2159 from Kriechi/bump-pyparsing
bump pyparsing
2017-03-15 11:45:47 +01:00
Thomas Kriechbaumer
aa4ab88459 bump pyparsing 2017-03-15 10:14:16 +01:00
Thomas Kriechbaumer
0316a13f7e bump cryptography 2017-03-15 10:03:18 +01:00
Ujjwal Verma
e723a58af5 Remove pytz in hardump 2017-02-25 23:07:47 +05:30
Thomas Kriechbaumer
36352c9539 protobuf: coverage++ 2017-02-19 14:29:09 +01:00
Thomas Kriechbaumer
8a6f8bd461 nuke Pillow 2017-02-15 00:54:14 +01:00
Thomas Kriechbaumer
63cfb4e480 nuke pypy 2017-02-12 12:32:30 +01:00
Maximilian Hils
3067a971f9 Merge pull request #2000 from s4chin/add-jpeg-parser
Add jpeg parser
2017-02-11 23:00:14 +01:00
Maximilian Hils
705ffd6d06 update mypy
The pypi package name has changed.
2017-02-11 00:14:49 +01:00
Maximilian Hils
1c8836a8d6 update dependencies 2017-02-10 14:38:05 +01:00
Sachin Kelkar
5dd54ef012 Update kaitaistruct version to 0.6 2017-02-08 21:16:17 +05:30
Sachin Kelkar
15548ff433 Feedback 2017-02-03 18:40:50 +05:30
Sachin Kelkar
abef020e07 Fix as per feedback and add more tests 2017-02-03 14:12:54 +05:30
Thomas Kriechbaumer
127c69c3ac nuke mock dependency
This is already included in Python 3.3+ as unittest.mock
2017-01-22 14:11:28 +01:00
Maximilian Hils
1e89a93801 update dependencies 2017-01-07 23:07:50 +01:00
Thomas Kriechbaumer
0bde932b78 run tests on Python 3.6 2016-12-27 16:28:12 +01:00
Thomas Kriechbaumer
c50feb6a40 bump h2
This takes care of https://github.com/python-hyper/hyper-h2/issues/422
2016-12-17 18:12:16 +01:00
Maximilian Hils
1d846709c6 update dependencies 2016-12-14 18:19:49 +01:00
Maximilian Hils
a7d7ad2880 Merge pull request #1837 from mhils/1809
Fix #1809
2016-12-11 21:13:20 +01:00
Maximilian Hils
00ae4d3f6e fix version sourcing in setup.py 2016-12-11 17:50:46 +01:00
Maximilian Hils
21eeaebc6b pin docutils version to fix docs tests 2016-12-11 14:54:12 +01:00
Thomas Kriechbaumer
036130868d bump dependencies 2016-12-10 19:37:06 +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
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
293b79af91 remove lxml-dependent code 2016-12-10 10:19:05 +01: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
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
Thomas Kriechbaumer
33689c6b2d upgrade to construct 2.8 and new API 2016-12-04 16:15:28 +01:00
Maximilian Hils
3154dc87fd fix pyinstaller
amongst other things, fix #1746
2016-11-28 00:51:52 +01:00
Maximilian Hils
de9e724a66 update dependencies (#1789) 2016-11-25 16:46:00 +01:00
Thomas Kriechbaumer
48d54e2d4a bump cryptography dependency 2016-11-23 11:55:11 +01:00
Maximilian Hils
f644665cd9 update pydivert, fix #1749 2016-11-21 14:14:52 +01:00
Maximilian Hils
e8067a2474 update dependencies 2016-11-18 12:59:59 +01:00
Doug Freed
6b6e64e09e setup.py: adjust mypy-lang dependency for semver
Looks like the previous form was a typo.
2016-11-16 13:54:10 +00: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
Thomas Kriechbaumer
44ac370f08 upgrade h2 to >=2.5.0 2016-10-27 15:10:53 -07:00
Maximilian Hils
33bc526b70 bump h2 version 2016-10-27 12:48:10 -07:00
Aldo Cortesi
d6bdb28865 Add mypy to lint
An extremely modest beginning, but we'll roll this out over the whole codebase
in time.

Also move flake8 and mypy dependencies into setup[dev].
2016-10-27 09:40:27 +13:00
Maximilian Hils
b1bdae3d1c typecheck options, fix current inconsistencies 2016-10-25 20:45:48 -07:00
Aldo Cortesi
8430f857b5 The final piece: netlib -> mitproxy.net 2016-10-20 11:56:38 +13:00
Aldo Cortesi
7440232f60 netlib.version -> mitmproxy.version 2016-10-20 09:20:44 +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
43a83c89e7 python3: update README and setup.py trove classifiers 2016-10-17 18:42:48 +13:00
Maximilian Hils
209c73336c update protobuf, reenable for py3 (#1618) 2016-10-16 22:22:12 -07:00
Aldo Cortesi
ae3ff8ee1e Merge pull request #1615 from cortesi/python3a
exterminate six
2016-10-17 17:03:02 +13:00
Aldo Cortesi
ce98a9219e test & examples: zap six 2016-10-17 16:45:45 +13:00
Maximilian Hils
3fbce7e981 update pydivert dependency (#1614) 2016-10-16 20:30:28 -07: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
Maximilian Hils
13fb384c19 update dependencies 2016-10-03 13:39:30 -07:00
Maximilian Hils
eeec17902f update dependencies, minor fixes (#1577) 2016-09-24 21:01:48 -07:00
Thomas Kriechbaumer
0166f90cbe bump brotlipy 2016-09-11 16:28:07 +02:00
Thomas Kriechbaumer
09d60b2fa3 bump brotli dependency 2016-09-04 09:31:44 +02:00
Thomas Kriechbaumer
d895d6caf0 improve CI 2016-09-03 13:48:28 +02:00
Thomas Kriechbaumer
76854b7770 cryptography 1.5 2016-09-01 13:37:40 +02:00
Thomas Kriechbaumer
72811e20e0 bump h2 dependency
This fixes a bug with empty HEAD responses:
https://github.com/python-hyper/hyper-h2/issues/255
2016-08-24 09:09:34 +02:00
Shadab Zafar
2cabc65f62 Remove harparser dependency 2016-08-15 12:00:23 +05:30
Maximilian Hils
a0391db1ae update dependencies (#1478) 2016-08-11 16:51:39 -07:00
Angelo Agatino Nicolosi
6792ec4058 Integrated encode/decoder for brotli 2016-07-30 14:43:53 +02:00
dufferzafar
56d04b5740 Set upper bound on jsbeautifier package to 1.7 2016-07-28 07:41:54 -07:00
dufferzafar
4ce2420545 Make contentview requirements mandatory 2016-07-27 04:34:51 -07:00
dufferzafar
303b6df447 Use jsbeautifier from pip 2016-07-27 04:33:16 -07:00
Maximilian Hils
d97fe767dc update dependencies (#1435) 2016-07-25 21:52:34 -07:00
Maximilian Hils
2c11cbeedb restrict accepted lxml versions to fix builds 2016-07-25 19:40:07 -07:00
Thomas Kriechbaumer
e89defe9ad update dependency and loosen restrictions on good citizens 2016-07-10 13:38:49 +02:00
Maximilian Hils
6f0a733d62 Add Python 3.5 markers to setup.py 2016-07-09 01:29:12 -07:00
Maximilian Hils
0a1431ed2c fix #1314 2016-07-08 15:50:11 -07:00
Thomas Kriechbaumer
69e20b34de bump h2 dependency 2016-07-05 20:14:28 +02:00
Maximilian Hils
8366c87c57 update to latest typing release 2016-06-29 03:03:23 -07:00
Maximilian Hils
b5a39f7d6a bump depdencies 2016-06-29 02:08:16 -07:00
Maximilian Hils
4f7d108722 compile docs on python 3.5 2016-06-28 22:06:08 -07:00
Maximilian Hils
f69972d13d simplify tox setup 2016-06-28 19:44:25 -07:00
Aldo Cortesi
728d5caa22 Fold mitmproxy.version and pathod.version into netlib.version 2016-06-12 10:29:12 +12:00
Aldo Cortesi
09edbd9492 Improve debugging of thread and other leaks
- Add basethread.BaseThread that all threads outside of test suites should use
- Add a signal handler to mitmproxy, mitmdump and mitmweb that dumps resource
information to screen when SIGUSR1 is received.
- Improve thread naming throughout to make thread dumps understandable
2016-06-11 19:52:24 +12:00
Thomas Kriechbaumer
14ac916bce use tox in Travis 2016-06-07 19:59:49 +02:00
Maximilian Hils
c6180a7b26 don't declare codecov as dev dependency 2016-06-07 00:48:32 -07:00
Maximilian Hils
5ea363afad use codecov pypi package 2016-06-07 00:45:43 -07:00
Maximilian Hils
009a4d2add s/coveralls/codecov/ 2016-06-06 23:38:21 -07:00
Maximilian Hils
c973fd881f update pyparsing 2016-06-06 13:29:39 -07:00
Felix Yan
ef363270b8 Allow cryptography 1.4
All tests passed and it works correctly here.
2016-06-05 00:04:24 -05:00