Commit Graph

1089 Commits

Author SHA1 Message Date
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
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