Commit Graph

1089 Commits

Author SHA1 Message Date
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
Thomas Kriechbaumer
5f8b8bf35e move flow.match to flowfilter.match 2016-10-03 11:45:54 +02:00
Thomas Kriechbaumer
ba84248910 rename mitmproxy.filt -> mitmproxy.flowfilter 2016-10-03 11:45:54 +02:00
Maximilian Hils
611dad12a7 Revert "Add API to programmatically create new requests (#1534)"
This reverts commit ccbdcd684b,
which yielded a test timeout.
2016-10-02 23:08:51 -07:00
Tyler St. Onge
ccbdcd684b Add API to programmatically create new requests (#1534) 2016-10-01 13:06:59 +02:00
Aldo Cortesi
66825568d7 console: fix client replay 2016-09-30 12:13:49 +10:00
Aldo Cortesi
6d1f036021 Merge remote-tracking branch 'upstream/master' 2016-09-30 11:02:08 +10:00
Aldo Cortesi
825b0917bd docs: minor formatting/cleanups 2016-09-30 10:59:40 +10:00
Maximilian Hils
e0cd33b586 fix host header modification, refs #1571 2016-09-28 11:06:39 -07:00
Ryan Laughlin
ad6d675b20 In reverse proxy mode, always send SNI 2016-09-27 10:49:04 -04:00
Maximilian Hils
1a762cdce5 override host header in reverse proxy mode, refs #1571 2016-09-26 22:30:01 -07:00
Maximilian Hils
ebccc103d8 Revert "minor fixes"
This reverts commit f94219e737.
2016-09-26 18:07:04 -07:00
Maximilian Hils
f94219e737 minor fixes 2016-09-26 17:53:10 -07:00
Maximilian Hils
eeec17902f update dependencies, minor fixes (#1577) 2016-09-24 21:01:48 -07:00
Maximilian Hils
de65aebfdf fix tests 2016-09-24 18:28:30 -07:00
Maximilian Hils
6f86741574 minor fixes 2016-09-24 18:21:58 -07:00
Maximilian Hils
0a643ad20f remove option argument for addons.add (#1576) 2016-09-24 18:21:12 -07:00
Maximilian Hils
20bcfbb5d0 fix #1492 2016-09-24 15:37:19 -07:00
Maximilian Hils
276b467b0e fix #1393 2016-09-23 22:52:58 -07:00
Maximilian Hils
9142da1a7d Merge pull request #1566 from mhils/issue-1546
add websocket on/off switch, improve logging (fix #1546, fix #1547)
2016-09-22 03:06:39 -07:00
Maximilian Hils
d585236a82 Merge pull request #1567 from mhils/issue-1467
Scripts: cut traceback properly, fix #1467
2016-09-22 03:06:11 -07:00
Maximilian Hils
77868434e7 fix tests 2016-09-22 02:10:02 -07:00
Maximilian Hils
2510cd3111 add websocket on/off switch, improve logging (fix #1546, fix #1547) 2016-09-22 02:10:02 -07:00
Maximilian Hils
a3329c5a80 scripts: cut traceback properly, fix #1467 2016-09-22 02:03:12 -07:00
Maximilian Hils
f59ae4a57f Merge branch 'fully_transparent' 2016-09-22 01:58:08 -07:00
Maximilian Hils
e5b79a6d72 minor cleanup 2016-09-22 01:58:01 -07:00
smill@cuckoo.sh
ec588f8822 Removed obsolete code. 2016-09-22 08:51:17 +00:00
Maximilian Hils
dbc6344c8c Merge pull request #1522 from chhsiao90/dump-ready-#1505
Notify when proxy server started
2016-09-21 22:26:59 -07:00
chhsiao90
d044786ac8 Notify when proxy server started 2016-09-22 13:23:30 +08:00
Maximilian Hils
e4ae35dabb fix mitmdump error logging, fix #1549 (#1565)
This commit replaces the logging statement introduced in
afe34e8b28 with the previous implementation
where an exception is raised. ProtocolExceptions are normally logged as regular warnings,
achieving the same effect for the end user. However, this retains the full stack trace
for debug-level logging, which makes the analysis of client errors considerably easier.
2016-09-21 21:49:32 -07:00
Maximilian Hils
1e5a5b03f8 Merge pull request #1509 from arjun23496/regex_star_mod
Fixes #1471 - Change .* to match entire body
2016-09-21 18:13:14 -07:00
Doug Freed
3130d58267 console/options: kill -> replay_kill_extra
@cortesi renamed the kill option to replay_kill_extra in b0213a2, but
missed a usage here because it was in a string. This fixes opening the
options menu in console.
2016-09-17 20:10:08 -04:00
vulnminer
e1f021d732 Update app.py 2016-09-17 18:45:37 +03:00
smill
83a28021ad Fixed travis-ci issues. 2016-09-14 19:11:57 +00:00
Aldo Cortesi
f2e010ebc0 Misc cleanups 2016-09-12 11:27:30 +12:00
Aldo Cortesi
97b15b58b7 console: update flow list when state is modified 2016-09-11 20:06:21 +12:00
Aldo Cortesi
34e17efaa0 Remove obsolete exceptions.ScriptException 2016-09-11 20:02:05 +12:00
Aldo Cortesi
cfb943bfdd Redesign client replay
- Move to an addon
- Use a much simpler synchronisation mechanism
2016-09-11 20:00:34 +12:00
Aldo Cortesi
6427176cf1 console: fix/improve server replay
- Fix "S" shortcut in list view
- Consolidate replay from file in global R shortcut
- Fix help
2016-09-11 15:37:11 +12:00
Aldo Cortesi
6b9221ffeb Add "run_once" support to the script addon, use it in mitmproxy
Fixes #1418
2016-09-11 13:22:01 +12:00
Aldo Cortesi
9b814ca067 options.replay_ignore* -> options.server_replay_ignore* 2016-09-10 10:21:52 +12:00
Aldo Cortesi
8677e91074 options.nopop -> options.server_replay_nopop 2016-09-10 10:09:07 +12:00
Aldo Cortesi
5ebe8c1bc8 options.rheaders -> options.server_replay_use_headers 2016-09-10 10:09:07 +12:00
Aldo Cortesi
b0213a2c0e options.kill -> options.replay_kill_extra 2016-09-10 10:09:07 +12:00
Aldo Cortesi
4ff8a72521 Roll out synchronisation for mitmproxy tests
This extends some of the work I did for pathod and netlib to the mitmproxy test
suite. It also fixes what may be a leak in replays.

Failing on connection leak is disabled on Windows for the moment.

Fixes #1535
2016-09-10 09:18:11 +12:00
arjun23496
2e1265f75e Changed filter to match replacement for DOTALL 2016-09-09 10:46:16 +05:30
arjun23496
f6ed06bf16 Convert to flags=value for future compatibility 2016-09-09 10:39:28 +05:30
arjun23496
79bbc41cb4 Fixes #1471 - Change .* to match entire body 2016-09-09 10:39:28 +05:30
Aldo Cortesi
c1bb582129 Fix interactive server replay in mitmproxy console 2016-09-09 11:15:07 +12:00
Aldo Cortesi
715e47e3d4 Extend addons.Addons with a get method that retrieves an addon by name 2016-09-09 10:31:34 +12:00
Aldo Cortesi
d4f291a8ad Fix immediate server replay-related crash in mitmproxy 2016-09-09 10:03:36 +12:00
Aldo Cortesi
6c970cfd4c Fix byte/string comparison error in server playback 2016-09-07 12:11:10 +12:00
Aldo Cortesi
9abdd3a8d9 Move server playback in to an addon
- Move server playback into an addon
- Implement a better sync strategy to decide when to exit if keepserving is
off. We now wait for the final flow played back to no longer be live.
- Leave interactive server playback in mitmproxy console broken for now - there
are broader addon-related changes that need to be made for that, and this patch
is already big.

Fixes #1229
2016-09-06 23:48:02 +12:00
smill
2ecd89fc51 Made it possible to modify the server_conn.connection attribute,
using the serverconnect stub.
2016-09-05 10:49:39 +00:00
smill
fbfedbdc8f Improved error-handling / supplemented documention. 2016-09-04 01:30:27 +00:00
Thomas Kriechbaumer
3da9e37d9e http2: improve connection lost 2016-09-03 16:56:21 +02:00
smill
377921fa99 Introduced some minor improvements to the shim loader. 2016-09-03 13:34:17 +00:00
smill
a6e0c7e8f0 Introduced the capability to spoof the source address
of outgoing sessions + an accompanying shim loader.
2016-09-03 12:22:09 +00:00
Thomas Kriechbaumer
e273a29a8c http2: improve kill and cleanup threads 2016-09-03 13:46:54 +02:00
Thomas Kriechbaumer
ea2a51d3be http2: fixes 2016-09-03 11:50:37 +02:00
Thomas Kriechbaumer
5dda9505b6 http2: improve framereader 2016-09-03 10:00:31 +02:00
Thomas Kriechbaumer
043180a8fa http2: improve closed connection handling 2016-09-03 10:00:31 +02:00
Thomas Kriechbaumer
9b5acc19e2 http2: improve zombie exception handling 2016-09-03 10:00:31 +02:00
Thomas Kriechbaumer
0badb3ec91 cleanup 2016-09-03 10:00:31 +02:00
Thomas Kriechbaumer
cd3d30633f websockets: update protocol detection 2016-09-01 09:57:35 +02:00
Thomas Kriechbaumer
e5b0dae7e9 add websockets support to mitmproxy 2016-09-01 09:57:18 +02:00
Aldo Cortesi
afe34e8b28 Improve the way we handle upstream errors
- Don't log a traceback for either HTTP or HTTPS DNS resolution or TCP
connection errors. These are "ordinary" errors, not mitmproxy issues.
- Ensure that the error handler is correctly called for SSL-related protocol
errors.
2016-09-01 12:32:09 +12:00
Thomas Kriechbaumer
6afbfc8526 Merge pull request #1493 from dufferzafar/long-urls
Truncate URLs in console
2016-08-26 16:44:44 +02:00
Thomas Kriechbaumer
bee7d368dd refactor http 2016-08-24 09:19:35 +02:00
Maximilian Hils
8926becf92 fix #1504 2016-08-23 23:25:27 -07:00
Maximilian Hils
f27028f58e introduce Response.make for simple response creation 2016-08-23 00:17:06 -07:00
Shadab Zafar
2e48f9c345 Show full URL in flowview 2016-08-23 12:44:39 +05:30
Shadab Zafar
7b5d5d3a54 Use unicode elipsis & make extra params a part of dict 2016-08-23 12:43:45 +05:30
Maximilian Hils
798ce96bd0 remove redundant property 2016-08-22 21:01:24 -07:00
Maximilian Hils
53ccbaf4f5 Merge pull request #1489 from mitmproxy/web_refactor
Web refactor
2016-08-22 20:52:03 -07:00
Shadab Zafar
41e4526a33 Use terminal width rather than a constant 2016-08-20 16:01:01 +05:30
Shadab Zafar
22283dd373 Truncate URLs in console 2016-08-20 16:00:50 +05:30
Clemens
9a86750e9d add static files 2016-08-18 18:48:18 +02:00
Shadab Zafar
ed88bcad72 Better status message on mouse drag 2016-08-18 00:24:52 +05:30
Thomas Kriechbaumer
516e64a8fa fix #1476 2016-08-16 10:40:46 +02:00
Thomas Kriechbaumer
bfe22e739c Merge pull request #1481 from Kriechi/http2-simplify-zombies
http2: simplify zombie detection
2016-08-16 10:10:39 +02:00
Thomas Kriechbaumer
8ade51d4b4 fix style 2016-08-16 10:09:05 +02:00
Thomas Kriechbaumer
17c65e46cb Merge pull request #1480 from mhils/reverse-proxy-auth
Add basic auth support for reverse proxy mode
2016-08-16 10:07:59 +02:00
Thomas Kriechbaumer
8f4baf42ea http2: cleanup 2016-08-14 13:06:33 +02:00
Thomas Kriechbaumer
0cc695407d http2: simplify zombie detection 2016-08-14 12:43:56 +02:00
Thomas Kriechbaumer
65677bdd28 style fixes 2016-08-14 12:43:18 +02:00
Maximilian Hils
a9401472cd add basic auth support for reverse proxy mode 2016-08-13 11:04:53 -07:00
Maximilian Hils
b39c6e0883 Merge pull request #1441 from mitmproxy/integrate_mitmproxy_contentviews
Integrate mitmproxy contentviews
2016-08-13 10:27:53 -07:00
Thomas Kriechbaumer
0c3f2a3806 fix #1430 2016-08-13 16:56:05 +02:00
Maximilian Hils
5a22496ee8 clean up code, improve DummyReply 2016-08-09 22:29:07 -07:00
Maximilian Hils
818840f553 finalize Reply semantics, fix tests 2016-08-09 20:26:24 -07:00
Maximilian Hils
f719644aa1 make Reply.state readonly 2016-08-09 17:23:30 -07:00
Clemens
b27e456ce2 merge with master 2016-08-09 19:49:36 +02:00
Clemens
adfdcc9391 added hints from mhils 2016-08-09 08:40:24 +02:00
Maximilian Hils
0ee1b40c17 improve reply semantics 2016-08-08 19:20:06 -07:00
Maximilian Hils
a52a1df23c fix reply concurrency 2016-08-04 17:03:27 -07:00
Maximilian Hils
dcfa7027ae fix tests 2016-08-04 15:39:48 -07:00
Maximilian Hils
f89455fd07 minor improvements 2016-08-04 15:23:44 -07:00
Maximilian Hils
951885a5dd simplify contentview logic 2016-08-04 15:23:44 -07:00
Clemens
a8aa1f2d1c fix get contentview in mitmweb 2016-08-04 09:34:36 +02:00
Clemens
e036bc9304 integrate simplified contentviews 2016-08-03 12:17:19 +02:00
Maximilian Hils
4ff9dba7d2 fix #1465, fix ssl_insecure 2016-08-02 20:08:04 -07:00
Maximilian Hils
49ce50d5d0 Revert "Add missing ssl_insecure option"
This reverts commit 1d33d76bfd.
2016-08-02 19:08:20 -07:00
Shadab Zafar
1d33d76bfd Add missing ssl_insecure option 2016-08-02 15:58:40 +05:30
Clemens
bcc496527e replace get_content_view in dumper and flowview 2016-08-01 15:21:00 +02:00
Manish Kumar
8701705504 integer division for python 3 compatibility 2016-08-01 15:37:26 +05:30
Maximilian Hils
7ea9726e5d Merge pull request #1453 from dufferzafar/limit-to-filter
Rename "Limit" feature to "Filter View"
2016-07-31 23:13:31 -07:00
Aldo Cortesi
ca0eab0f05 Merge pull request #1447 from mitmproxy/secure-by-default
Verify upstream certificates by default
2016-08-01 14:44:16 +12:00
Shadab Zafar
10ad56c853 Rename "Limit" feature to "Filter View" 2016-07-31 16:54:09 +05:30
Maximilian Hils
f008bdf590 Merge pull request #1451 from YanchWare/master
Integrated encode/decoder for brotli
2016-07-30 15:56:15 -07:00
Angelo Agatino Nicolosi
6792ec4058 Integrated encode/decoder for brotli 2016-07-30 14:43:53 +02:00
Vincent Haupert
07f77f0866 Substitute tilde with user's home.
When downloding the mitmproxy certificate using mitm.it, '~' currently
is not expanded causing a FileNotFoundException. This patch uses
expanduser() to replace the initial tilde with the user's home.
2016-07-30 12:49:00 +02:00
Vincent Haupert
73b7da1a03 Fix platform import on Linux using python3
Using python3, sys.platform returns "linux" instead of "linux2" using
python2. This patch accepts "linux" as well as "linux2".
2016-07-30 12:42:33 +02:00
Clemens
cb7da1ee44 moved getlines to contentviews 2016-07-29 15:37:41 +02:00
Clemens
a56c2ca731 combine clientside and serverside contentviews 2016-07-29 09:45:15 +02:00
Maximilian Hils
e800f321af Merge pull request #1436 from dufferzafar/jsbeautifier
Use jsbeautifier from pip
2016-07-28 15:37:06 -07:00
Clemens
ad5bebeda0 mitmproxy.contentviews added 2016-07-28 17:10:06 +02:00
dufferzafar
1cffa5f46b Use replace while decoding 2016-07-28 07:48:10 -07:00
Maximilian Hils
8b325fd65a improve invalid certificate ux 2016-07-27 21:01:28 -07:00
Maximilian Hils
83102b853f minor fixes 2016-07-27 19:38:36 -07:00
Sachin Kelkar
17fdb841f0 verify upstream certificates by default (#1111)
squashed and merged by @mhils
2016-07-27 17:57:38 -07:00
Aldo Cortesi
3636ed7d41 Merge pull request #1446 from cortesi/state
console: add replace_view_state, fix statusbar issues
2016-07-28 11:18:20 +12:00
Aldo Cortesi
d6e4ef4ced console: add replace_view_state, fix statusbar issues
Fixes #1394
2016-07-28 11:01:32 +12:00
Aldo Cortesi
75ab006ca9 Merge pull request #1442 from cortesi/scripts
mitmdump: send script .done when terminating after flow read
2016-07-28 10:22:30 +12:00
Aldo Cortesi
297cf5d565 mitmdump: send script .done when terminating after flow read
Fixes #1439
2016-07-28 09:35:25 +12:00
Clemens Brunner
41383b866e add favicon to mitmweb (#1440) 2016-07-27 11:20:36 -07:00
dufferzafar
583827ad3f Use strutils.native before sending data to jsbeautifier 2016-07-27 04:34:51 -07:00
dufferzafar
821413349e Re-order imports etc. 2016-07-27 04:34:51 -07:00
dufferzafar
21e6ecb47d Remove jsbeautifier files 2016-07-27 04:34:51 -07:00
dufferzafar
303b6df447 Use jsbeautifier from pip 2016-07-27 04:33:16 -07:00
Clemens
2c3ddb0ecc add parameter to content requests 2016-07-27 10:21:06 +02:00
Clemens
d8a78d9f52 add contentviews to settings 2016-07-27 09:45:46 +02:00
Maximilian Hils
705d042629 fix #1432 2016-07-25 19:37:47 -07:00
Aldo Cortesi
38b43cc9f9 Merge pull request #1428 from dufferzafar/replay
Consolidate replay under R
2016-07-26 13:53:44 +12:00
Aldo Cortesi
db22e72103 Merge pull request #1427 from mhils/grideditor
Refactor GridEditor
2016-07-26 13:38:04 +12:00
Maximilian Hils
817b675c52 Merge branch 'flow_editing_v2' 2016-07-25 17:51:38 -07:00
Maximilian Hils
79ebcb046e Merge remote-tracking branch 'origin/master' into flow_editing_v2 2016-07-25 15:16:16 -07:00
Maximilian Hils
3254595584 minor fixes 2016-07-25 15:12:20 -07:00
Maximilian Hils
ffe6593361 make sure to escape errors printed to the console 2016-07-25 14:37:19 -07:00
Clemens
ca4541613c combine content with header updates 2016-07-25 14:34:00 +02:00
Clemens
61ef7ca91b added contentHash 2016-07-25 10:56:12 +02:00
Shadab Zafar
f164181f2e Consolidate replay under R 2016-07-25 10:19:34 +05:30
Maximilian Hils
2d985e964c py2: silence abc metaclass warnings 2016-07-24 21:17:41 -07:00
Maximilian Hils
480ae46b88 refactor grideditor for py3 compatibility 2016-07-24 21:17:41 -07:00
Maximilian Hils
c1bd4dabc8 Merge pull request #1425 from dufferzafar/clear-hotfix
Fix clearing of flows
2016-07-24 18:39:44 -07:00
Shadab Zafar
b99da24529 Fix clearing of flows
Fixes #1424
2016-07-25 07:08:03 +05:30
Maximilian Hils
ec6934d339 console: fix options signal 2016-07-24 11:15:28 -07:00
Maximilian Hils
e9eee5a6da Merge pull request #1423 from dufferzafar/fix-search
Fix console search on Python 3
2016-07-24 09:53:18 -07:00
Shadab Zafar
71b6b84f29 Fix console search on Python 3 2016-07-24 22:21:04 +05:30
Maximilian Hils
c5f3bb83f6 fix keyboard navigation 2016-07-24 09:43:29 -07:00
Maximilian Hils
4d042ec543 fix #1373, fix #1154 (#1420) 2016-07-23 18:48:54 -07:00
Maximilian Hils
a87d089561 Merge pull request #1380 from dufferzafar/marked-filter
Marked property and filter
2016-07-23 17:55:12 -07:00
Maximilian Hils
ea718df111 Merge pull request #1416 from mhils/issue-1396
fix #1396, fix #1205, fix #1374
2016-07-23 15:37:23 -07:00
Maximilian Hils
fa45722ed8 Merge pull request #1402 from mhils/console-fixes
minor fixes
2016-07-23 12:49:57 -07:00
Maximilian Hils
ca493ad7f3 fix #1396, fix #1205, fix #1374 2016-07-23 12:09:19 -07:00
Maximilian Hils
fcb906dc97 improve dumper addon text alignment (#1415) 2016-07-23 12:01:05 -07:00
Maximilian Hils
61de6fa1d6 fix test_view_urlencoded 2016-07-23 11:55:27 -07:00
Thomas Kriechbaumer
c58db1adf3 http2: fix kill (#1413) 2016-07-23 11:11:45 -07:00
Shadab Zafar
f7217b006b Remove save marked flows prompt 2016-07-23 13:19:59 +05:30
Shadab Zafar
d6deec60b0 Add marked attribute when converting flow to 0.18 2016-07-23 10:41:57 +05:30
Shadab Zafar
32ef73e6b4 Remove [Marked Flows] status indicator 2016-07-23 10:41:57 +05:30
Shadab Zafar
484dbd8a7b Keep focus on same flow when disabling marked view 2016-07-23 10:41:57 +05:30
Shadab Zafar
426a62299c Focus nearest matching flow if current flow is unmarked 2016-07-23 10:41:57 +05:30
Shadab Zafar
6135ec1196 Move match function to Flow 2016-07-23 10:41:57 +05:30
Shadab Zafar
4a3e9c0563 Keep focus on same flow when enabling marked view
...if it is marked.
2016-07-23 10:41:57 +05:30
Shadab Zafar
40b50e9398 Remove flow marking from ConsoleState 2016-07-23 10:41:57 +05:30
Shadab Zafar
500b61a811 Use marked property in ConsoleState.clear 2016-07-23 10:41:57 +05:30
Shadab Zafar
653ed4e342 Use ~marked filter while toggling marked view 2016-07-23 10:41:57 +05:30
Shadab Zafar
cc98b9c32f Add a marked filter 2016-07-23 10:41:57 +05:30
Shadab Zafar
6c05a0c908 Update unmark all flows "U" 2016-07-23 10:41:57 +05:30
Shadab Zafar
d99d61e8ef Update save_marked_flows to use the new attribute 2016-07-23 10:41:57 +05:30
Shadab Zafar
6fe36a5b7f Fix display of mark status [m] 2016-07-23 10:41:57 +05:30
Shadab Zafar
911c7a4f1b Update toggling of marked attribute on pressing "m" 2016-07-23 10:41:57 +05:30
Shadab Zafar
541d9db27a Add marked attribute to flow 2016-07-23 10:41:57 +05:30
Aldo Cortesi
afda175e1c Addon iface: .configure(options) -> .configure(options, updated) 2016-07-23 15:43:55 +12:00
Aldo Cortesi
9294d19f90 scripts: .start can now return an Addon instance 2016-07-23 11:29:13 +12:00
Aldo Cortesi
05caa0a03d script: tune auto reload
- Don't respond to directory changes
- Ignore hidden files

I've "solved" this as well as it can be done in modd, and getting good results
here just turns into a large pile of heuristics that don't work in all
circumstances. Also watchdog sucks.
2016-07-23 11:08:14 +12:00
Aldo Cortesi
51a8ba57f1 script: add a namespace adaptor to match Addons 2016-07-23 11:03:50 +12:00
Maximilian Hils
9b40e1072c minor fixes 2016-07-21 20:33:55 -07:00
Maximilian Hils
9f0889d541 Merge pull request #1399 from mhils/fix-cv-cache-invalidation
Fix content view cache invalidation
2016-07-21 20:10:06 -07:00
Maximilian Hils
798759d2b3 fix content view cache invalidation 2016-07-21 19:49:32 -07:00
Maximilian Hils
8a2c7bea8e py3: fix copy to clipboard 2016-07-21 19:44:20 -07:00
Maximilian Hils
b28954ea5f minor fixes 2016-07-21 18:32:47 -07:00
Maximilian Hils
2ce7166a45 improve console ux for duplication/creation 2016-07-21 18:32:25 -07:00
Maximilian Hils
0911f4908b fix #1391 2016-07-21 18:31:12 -07:00
Maximilian Hils
f5841c705c fix #1392 2016-07-21 18:30:48 -07:00
Maximilian Hils
bb1400777b fix #1390 2016-07-21 18:30:09 -07:00
Maximilian Hils
873f48f6ab display python version in console help 2016-07-21 17:08:21 -07:00
Maximilian Hils
6ffeaaebed Merge branch 'master' of https://github.com/mitmproxy/mitmproxy 2016-07-21 01:16:35 -07:00
Maximilian Hils
427fffbcb8 web: fix flow content update 2016-07-21 00:43:31 -07:00
Aldo Cortesi
e15cf968c2 console: nopop, rheaders into Options 2016-07-21 15:51:12 +12:00
Aldo Cortesi
33ffbc28ed console: share one ActionBar instance
This fixes an issues where popping a view off the stack caused stale ActionBar
contents to be displayed.
2016-07-21 15:41:43 +12:00
Maximilian Hils
8b2a5cad2d Merge remote-tracking branch 'origin/flow_editing' 2016-07-20 14:35:20 -07:00
Shadab Zafar
2b58e153b9 Fix hotkey kerfuffle
`z` (instead of `C`) to "clear flow list or eventlog"
`C` to "export flow to clipboard"
`E` to "export flow to file"
2016-07-20 14:44:20 +05:30
Shadab Zafar
a933b82064 Make necessary changes in flowview 2016-07-20 14:41:21 +05:30
Shadab Zafar
3321e7bef3 Refactor exporters 2016-07-20 10:03:00 +05:30
Shadab Zafar
c84d0bd10b Add a url exporter 2016-07-20 10:03:00 +05:30
Shadab Zafar
0d478e71ee Ask for scope when called from flowlist 2016-07-20 10:03:00 +05:30
Shadab Zafar
e3670f9d9b Integrate ask_copy_part into exporters
This introduces some duplication but that'll be refactored later.
2016-07-20 10:03:00 +05:30
Shadab Zafar
8f4d49e22a Remove raw_request exporter
This functionality will be handled by headers+content
2016-07-20 10:03:00 +05:30
Shadab Zafar
3ae28f1c31 s/part/key 2016-07-20 10:03:00 +05:30
Shadab Zafar
e56df1b706 Don't send master and state parameters 2016-07-20 10:03:00 +05:30
Shadab Zafar
5377d5a61d Refactor 2016-07-20 10:03:00 +05:30
Shadab Zafar
4f04dd618c Common function for both file and clipboard 2016-07-20 10:03:00 +05:30
Shadab Zafar
5cf2228250 Export to file (p) or clipboard (P) 2016-07-20 10:03:00 +05:30
Shadab Zafar
6119f0f16a Exporters list 2016-07-20 10:03:00 +05:30
Maximilian Hils
b27db1fc81 minor fixes 2016-07-19 18:09:33 -07:00
Aldo Cortesi
8317772377 mitproxy.options -> mitmproxy.optmanager, mitmproxy.flow.options -> mitmproxy.options
It might be slightly  more felicitous to move optmanager into netlib at some
point, especially if we can also use it in pathod.

This also consolidates our constants in mitmproxy.options, removing some duplicates.
2016-07-20 11:28:53 +12:00
Aldo Cortesi
6000136b01 Merge branch 'master' into cleanup 2016-07-19 23:35:42 +12:00
Clemens
698fb11132 Merge remote-tracking branch 'origin/master' into flow_editing 2016-07-19 12:32:36 +02:00
Maximilian Hils
518c28fff9 update web assets 2016-07-19 03:14:35 -07:00
Maximilian Hils
4ea6e61ea8 fix web master options leftovers 2016-07-19 03:11:17 -07:00
Aldo Cortesi
29eecd5d66 Simplify common initilization in cmdline.py 2016-07-19 17:15:10 +12:00
Aldo Cortesi
9c9d28d068 Remove proxy.config.process_proxy_options 2016-07-19 16:25:09 +12:00
Aldo Cortesi
ef380917a8 ProxyConf: adapt mitmproxy console, ditch tcp|host filter attrs on flow.master 2016-07-19 16:25:09 +12:00
Aldo Cortesi
be081a24bc ProxyConf: auth_* into Options 2016-07-19 16:25:09 +12:00
Aldo Cortesi
5cfe783b6c ProxyConfig: http2, rawtcp, no_upstream_cert -> Options 2016-07-19 16:25:09 +12:00
Aldo Cortesi
fb6e9c44c8 ProxyConfig: ciphers_client and ciphers_server -> Options 2016-07-19 16:25:09 +12:00
Aldo Cortesi
26fa88a338 ProxyConfig: Refactor to move verification mode checks into configure 2016-07-19 16:25:09 +12:00
Aldo Cortesi
77bf092bcd ProxyConfig: tcp_hosts and ignore_hosts to Options 2016-07-19 16:25:09 +12:00
Aldo Cortesi
98bf544664 Regularize naming of upstream_trusted_ca* options 2016-07-19 16:25:09 +12:00
Aldo Cortesi
0a3839375d ProxyConfig: various SSL options to Options 2016-07-19 16:25:09 +12:00
Aldo Cortesi
f81c53f9bb Fix ca directory creation 2016-07-19 16:25:09 +12:00
Aldo Cortesi
78e8159007 config.parse_server_spec shouldn't pass byts to tcp.Address 2016-07-19 16:25:09 +12:00
Aldo Cortesi
f9622074cc ProxyConfig: mode, upstream_server and upstream_auth to Options 2016-07-19 16:25:09 +12:00
Aldo Cortesi
bd733e1232 Handle command-line argument errors properly
At some point we stopped handling exceptions from get_common_options properly.
2016-07-19 16:25:09 +12:00
Aldo Cortesi
d2268ddb1e ProxyConfig: --body-size-limit to Options 2016-07-19 16:25:09 +12:00
Aldo Cortesi
f24f8ce971 ProxyConfig: --cert to options
Also incidentally improve handling of invalid certificate formats.
2016-07-19 16:25:09 +12:00
Aldo Cortesi
856e1c2ba9 Move clientcers & cadir to Options
Also adds a .configure mechanism to ProxyConfig, and hooks it up to the change
event.
2016-07-19 16:25:09 +12:00
Aldo Cortesi
b1b1a1b9cf ProxyConfig: cadir to options 2016-07-19 16:25:09 +12:00
Aldo Cortesi
6908dc4d90 ProxyConfig refactor
Step two of frog boiling: move listening address and port into options. This is
the hard bit, because it touches the test suite so deeply.
2016-07-19 16:25:09 +12:00
Aldo Cortesi
9bc1514aef Unify proxy config and options
This is step 1 in a gradual "boiling frog" strategy. Decorate ProxyConfig
with an Options object.
2016-07-19 16:25:09 +12:00
Maximilian Hils
859bb8c99f Merge remote-tracking branch 'jason/ui' 2016-07-18 20:59:17 -07:00