Commit Graph

1754 Commits

Author SHA1 Message Date
Thomas Kriechbaumer
05d26545e4 adapt netlib changes 2015-08-21 10:26:28 +02:00
Thomas Kriechbaumer
55cfd259dc http2: simplify protocol-related code 2015-08-20 20:31:01 +02:00
Thomas Kriechbaumer
5746472426 fix typo 2015-08-20 19:53:17 +02:00
Timothy Elliott
fb4af4eb78 console: add command line flag to disable mouse interaction
Adds the --no-mouse command line option to disable the mouse.

Fixes #685
2015-08-19 13:07:39 -07:00
Thomas Kriechbaumer
4339b8e7fa http2: use callback for handle unexpected frames 2015-08-19 21:09:48 +02:00
Thomas Kriechbaumer
f2ace5493b move read methods to lower HTTP layer 2015-08-19 18:09:45 +02:00
Thomas Kriechbaumer
97bfd1d856 move send method to lower layers 2015-08-19 16:36:37 +02:00
Thomas Kriechbaumer
c9fa8491cc improve next_layer detection 2015-08-19 16:32:02 +02:00
Thomas Kriechbaumer
9bae97eb17 http2: fix connection preface and wrappers 2015-08-19 09:43:43 +02:00
Maximilian Hils
ab1549e0ef yield -> callbacks 2015-08-18 15:59:44 +02:00
Maximilian Hils
96de7ad562 various fixes 2015-08-18 14:15:08 +02:00
Maximilian Hils
99129ab5a1 Merge remote-tracking branch 'Kriechi/proxy-refactor' into proxy-refactor
Conflicts:
	libmproxy/protocol2/http.py
2015-08-17 19:20:28 +02:00
Maximilian Hils
a2b8504889 improve protocol handling 2015-08-16 23:25:02 +02:00
Thomas Kriechbaumer
38c456bb62 implement Http1 and Http2 protocols as layers 2015-08-16 15:19:11 +02:00
Maximilian Hils
c04fa1b233 minor fixes 2015-08-16 12:52:34 +02:00
Maximilian Hils
61afac8637 Merge remote-tracking branch 'Kriechi/proxy-refactor' into proxy-refactor
Conflicts:
	libmproxy/protocol2/http_proxy.py
	libmproxy/protocol2/tls.py
	libmproxy/proxy/connection.py
2015-08-16 12:47:13 +02:00
Maximilian Hils
4c31ffd90f minor fixes 2015-08-16 12:43:15 +02:00
Thomas Kriechbaumer
1e40d34e94 add ALPN to proxy connections 2015-08-16 11:36:31 +02:00
Maximilian Hils
a175572447 Merge remote-tracking branch 'Kriechi/proxy-refactor' into proxy-refactor 2015-08-15 20:22:45 +02:00
Maximilian Hils
2a15479cdb fix bugs, make https work 2015-08-15 20:20:46 +02:00
Thomas Kriechbaumer
a9dd82c986 add ALPN to proxy connections 2015-08-15 17:49:40 +02:00
Maximilian Hils
0dd243c5e4 various fixes 2015-08-15 16:26:12 +02:00
Maximilian Hils
747699b126 more work on http protocol 2015-08-14 16:49:52 +02:00
Maximilian Hils
808218f4bc more work on http layer 2015-08-14 10:41:11 +02:00
Maximilian Hils
aef3b626a7 wip commit 2015-08-11 20:32:14 +02:00
Maximilian Hils
026330a3b0 cleaner Exceptions, ssl -> tls, upstream proxy mode 2015-08-11 20:32:13 +02:00
Maximilian Hils
314e0f5839 add reverseproxy mode, fix bugs 2015-08-11 20:32:12 +02:00
Maximilian Hils
aac0ab23eb simplify layer code, add yield_from_callback decorator 2015-08-11 20:32:12 +02:00
Maximilian Hils
c46e3f90bb apply fixes from proxy-refactor-cb branch 2015-08-11 20:32:11 +02:00
Maximilian Hils
531ca4a356 minor fixes 2015-08-11 20:32:10 +02:00
Maximilian Hils
e815915b22 add auto layer, multiple other fixes 2015-08-11 20:32:10 +02:00
Maximilian Hils
c1d016823c move files around 2015-08-11 20:32:09 +02:00
Maximilian Hils
be995ddbd6 add ssl layer 2015-08-11 20:32:09 +02:00
Maximilian Hils
863113f989 first initial proof-of-concept 2015-08-11 20:32:08 +02:00
Thomas Kriechbaumer
891fa50e55 move code to netlib 2015-08-10 21:04:17 +02:00
Maximilian Hils
adf2877020 fix #705 2015-08-03 18:07:30 +02:00
Thomas Kriechbaumer
6cce2f14d7 fix tests 2015-08-02 11:26:33 +02:00
Thomas Kriechbaumer
ff1e7e6409 fix imports for encoding 2015-08-01 14:53:34 +02:00
Thomas Kriechbaumer
b732a1cb3d reimplement streaming for HTTP/1 2015-08-01 14:37:33 +02:00
Thomas Kriechbaumer
54866c0faa revert hard-coded HTTP/2 protocol changes 2015-08-01 14:37:33 +02:00
Thomas Kriechbaumer
db02553e2a move code from mitmproxy to netlib 2015-08-01 14:37:32 +02:00
Thomas Kriechbaumer
8a05151170 revert ALPN-related changes to fix master
In the future this should be added again to support HTTP/2.
2015-08-01 14:37:32 +02:00
Thomas Kriechbaumer
4f38c6b90e attach application protocol to connection 2015-07-30 19:53:29 +02:00
Thomas Kriechbaumer
a5d9e1f44d move code to netlib and implement protocols 2015-07-30 13:53:17 +02:00
Thomas Kriechbaumer
89f22f7359 refactor connection & protocol handling 2015-07-30 13:53:17 +02:00
Maximilian Hils
d2ae6b630e Merge pull request #548 from macmantrl/no_serverconn
Prevent unnecessary upstream server connects
2015-07-26 11:58:21 +02:00
Aldo Cortesi
ee163ed5b0 Bump version for dev 2015-07-26 17:46:49 +12:00
Thomas Kriechbaumer
e9bbcfadc1 fix module imports 2015-07-25 20:00:34 +02:00
Maximilian Hils
0892649d31 Merge pull request #675 from Kriechi/protocol-refactor
HTTP protocol refactoring
2015-07-24 17:52:44 +02:00
Maximilian Hils
7bf8088d80 improve inline scripts, fix #683, fix #684 2015-07-24 02:57:56 +02:00
Maximilian Hils
9b3fe80697 minor style improvements 2015-07-22 16:00:32 +02:00
Thomas Kriechbaumer
cedc0407de refactor to use netlib.http protocols 2015-07-22 15:30:12 +02:00
Thomas Kriechbaumer
bb265d0c40 use new netlib module names 2015-07-22 15:30:11 +02:00
Thomas Kriechbaumer
df1b0df39f use netlib.http_semantics for generic data 2015-07-22 15:30:11 +02:00
Maximilian Hils
170568ded0 fix text selection hint 2015-07-22 00:41:02 +02:00
Maximilian Hils
cacf767b5c bump version 2015-07-22 00:16:38 +02:00
Maximilian Hils
822bd10465 Merge pull request #677 from isra17/json_error
Use `ensure_ascii` in wep.app#broadcast
2015-07-14 00:53:32 +02:00
isra17
c33df9dd1c Use ensure_ascii in wep.app#broadcast
Otherwise, a non-unicode character in a flow cause mitmweb to crash.
2015-07-13 18:19:33 -04:00
isra17
471e196e08 Add ~src ~dst REGEX filters
This filter allow to match on the request source and destination address
in the form of `<IP>:<Port>`.

Also fixed the parsing grammar to add a `WordEnd` after each filter
name. That way, `~src` doesn't match `~s` instead and keep the behavior
consistent with `~hq` != `~h`.
2015-07-13 18:11:14 -04:00
jlhonora
1ebdda7902 Match g/G shortcuts to less, fix #631 2015-07-08 12:10:03 -03:00
Maximilian Hils
5a2b121f50 fix #648 2015-07-04 19:11:02 +02:00
Maximilian Hils
9960565359 fix #653 2015-07-04 15:46:45 +02:00
Terry Long
4c50c36345 Prevent unecessary upstream server connects
Selectively connect to upstream server based on no_upstream_cert
option. When no_upstream_cert is used during server replay, prevent
connecting to the upstream server unless absolutely necessary.
2015-07-03 07:55:37 -07:00
Maximilian Hils
4c831992aa fix #593, fix #656, coverage++ 2015-07-03 02:47:12 +02:00
Kyle Morton
f0ad1f334c Enabling upstream server verification. Added flags --verify_upstream_cert,
--upstream-trusted-cadir, and --upstream-trusted-ca.
2015-06-29 11:00:20 -07:00
Maximilian Hils
b369962cbe remove certforward feature
The certforward feature was implemented to support #gotofail,
which only works on unpatched iOS devices. Given that many apps don't
support iOS 7 anymore, jailbreak+ssl killswitch is usually the better option.
By removing certforward, we can make netlib a pure python module again,
which significantly simplifies distribution.
2015-06-26 13:27:40 +02:00
Aldo Cortesi
876252eba8 Remove stray print & massage whitespace a bit 2015-06-25 10:27:22 +12:00
Thomas Kriechbaumer
14e49f4fc7 unify SSL version/method handling 2015-06-23 12:05:34 +02:00
iroiro123
fbb23b5c9f changed error handling (ssl spoof mode) 2015-06-23 01:49:22 +09:00
iroiro123
fd90367329 SSL Spoof mode 2015-06-21 00:51:56 +09:00
iroiro123
378aa78324 Spoof mode 2015-06-20 21:43:50 +09:00
iroiro123
59ec291b6c HTTP Transparent Proxy 2015-06-18 23:53:27 +09:00
Aldo Cortesi
7890450b0c Handle invalid IDNA encoding in hostnames
Fixes #622
2015-06-12 16:00:16 +12:00
Jake Drahos
946030367f Added unmark all functionality
- 'U' to unmark all marked flows
2015-06-11 20:31:54 -05:00
Jake Drahos
2a6698bf5a Moved marking from flow to console
No longer taints the flow primitive
2015-06-11 20:27:33 -05:00
Jake Drahos
dd1e401e01 Changed mark symbol
Smaller symbol now, still just as easy to see while scrolling
2015-06-11 16:33:46 -05:00
Jake Drahos
486177edc7 Added functionality to write marked flows to file
w (write) -> m (marked)
2015-06-11 16:25:28 -05:00
Jake Drahos
122ee88021 Unmark duplicated flows
If a marked flow is duplicated, the duplicate will now be unmarked
2015-06-11 12:52:15 -05:00
Jake Drahos
13e71eba10 Changed symbols and colors
Added a better symbol for the mark, and changed the color to red. This helps it
stand out more easily.
2015-06-11 12:02:15 -05:00
Jake Drahos
a34eeb9a28 Fixed console rendering bug
Clearing all flows now works properly
2015-06-11 11:49:23 -05:00
Jake Drahos
e53a2426c1 Marked flows not deleted on clear all
Marked flows survive a clear all unless all current flows are marked.

Bug: They don't show up until another flow is added
2015-06-11 11:40:03 -05:00
Jake Drahos
8b998cfbea Implemented basic marking of flows
- Press m to toggle flow mark
- Flow mark is set in libmproxy/console/common.py. Currently set to "==="
2015-06-11 10:27:48 -05:00
Maximilian Hils
d389b9c59d fix #615 2015-06-08 19:01:32 +02:00
Maximilian Hils
083b404bba fix #618 2015-06-08 18:26:02 +02:00
Marcelo Glezer
1befa9477c fix #607 fix message 2015-06-05 15:33:36 -03:00
Marcelo Glezer
17b34de28d fix #607 decode data before sending it to pyperclip 2015-06-05 15:19:57 -03:00
Aldo Cortesi
783e904b92 Merge pull request #603 from Kriechi/remove-contrib
replace contrib libraries with pypi dependencies
2015-06-04 13:30:18 +12:00
Aldo Cortesi
249bb4a2ac Bump version 2015-06-04 11:15:29 +12:00
Thomas Kriechbaumer
fbb2633dd3 replace contrib libraries with pypi dependencies 2015-06-02 10:00:34 +02:00
Aldo Cortesi
0b8cddddf5 console: click-enable tabs 2015-06-02 15:25:58 +12:00
Aldo Cortesi
57a61ae8fd console: convert add_event to a signal. 2015-06-02 13:45:19 +12:00
Aldo Cortesi
776f0a9669 Minor typo in script error. 2015-06-02 11:58:16 +12:00
Aldo Cortesi
1076c25e5b console: click in flow list to view flow 2015-06-02 11:27:26 +12:00
Aldo Cortesi
b5bb4106fd console: mouse scrollwheel throughout. 2015-06-02 11:13:12 +12:00
Aldo Cortesi
62330e4b0f Enable mouse interaction, add a hint for selecting text.
Fixes #597
2015-06-02 11:05:45 +12:00
Marcelo Glezer
14bce0dd12 fixes #604 catch method not found for handling pyperclip not found 2015-06-01 12:06:46 -03:00
Aldo Cortesi
7439e244a6 Merge branch 'master' of ssh.github.com:mitmproxy/mitmproxy 2015-06-01 12:32:03 +12:00
Jim Shaver
07cc7f6f50 reverting change in libmproxy/contrib/pyparsing.py 2015-05-31 08:09:03 -04:00
Jim Shaver
bd019a7124 revert changes in ncontrib 2015-05-31 07:59:00 -04:00
Jim Shaver
b51363b3ca Merge remote-tracking branch 'upstream/master' into print-bracket-fix
Conflicts:
	examples/har_extractor.py
	examples/nonblocking.py
	examples/read_dumpfile
	libmproxy/web/app.py
2015-05-31 01:21:44 -04:00
Aldo Cortesi
6c3233ce0c Appease the code style gods. 2015-05-31 13:16:03 +12:00
Aldo Cortesi
13ee54da86 Remove dependency on PyOpenSSL, move version check into netlib.
There are a few more functions in the code that accesses PyOpenSSL
directly that should probably also be moved to netlib. Later.
2015-05-31 13:13:12 +12:00
Jim Shaver
4fe2c069cc Fixed print function to be inline with python 3 2015-05-29 23:17:48 -04:00
Aldo Cortesi
a05a70d816 Add coding style check, reformat. 2015-05-30 12:03:28 +12:00
Aldo Cortesi
1a106f4080 Ensure that flow/view state is consistent.
Fixes #595 and #592
2015-05-29 11:36:56 +12:00
Aldo Cortesi
99c691def5 Post-release version bump, and checklist addition. 2015-05-26 10:44:52 +12:00
Aldo Cortesi
14341ffa19 Merge pull request #584 from dlethin/feature/http_1_0
Make sure proxy returns the httpversion specified in the request
2015-05-18 11:03:05 +12:00
Aldo Cortesi
33169d610c Release pep: bump version, changelog, contributors 2015-05-18 10:44:09 +12:00
Doug Lethin
cdff79fd4c Make sure proxy returns the httpversion specified in the request rather
than hardcoding to 1.1.
2015-05-15 22:20:09 -04:00
Nick Raptis
202ede3c54 Accurately timestamp start of request
When building a request from a stream, try to get an accurate
start timestamp from the Reader. This was already in the code
and also used when building response objects, but was ommited
in commit ddf458b330

Without his logic and when the client is reusing a connection
to send requests, the timestamp_start of subsequent requests
is early and equal to when the connection started read blocking
2015-05-08 10:58:05 +03:00
Aldo Cortesi
e1d3ebb446 Merge branch 'master' of ssh.github.com:mitmproxy/mitmproxy 2015-05-02 17:20:09 +12:00
Aldo Cortesi
50b7bfaadc Adapt to new Pathoc API - silence output to stdout. 2015-05-02 16:46:15 +12:00
Maximilian Hils
bb965b8e34 web: try harder to fix editor 2015-05-01 20:45:31 +02:00
Maximilian Hils
c780fc7bdf Merge branch 'master' of github.com:mitmproxy/mitmproxy 2015-05-01 17:25:00 +02:00
Maximilian Hils
3f5ca10c39 mitmweb: add editor 2015-05-01 17:24:44 +02:00
Aldo Cortesi
1c26516b18 pretty_size now lives in netlib.utils 2015-04-30 12:18:01 +12:00
Maximilian Hils
90dff4a8a1 Merge pull request #569 from mike-pt/master
Match all freebsd versions and not just freebsd10
2015-04-27 04:41:51 +02:00
Mike C
b942f98f37 + Use sys.platform.startswith("freebsd") instead of matching just freebsd10.
+ This means support for any freebsd version (note that I only tested 11-CURRENT and 9)
2015-04-27 02:31:58 +01:00
Maximilian Hils
1742017752 make code more pythonic 2015-04-26 19:25:59 +02:00
Maximilian Hils
417190daa7 Merge remote-tracking branch 'tunz/crash1' 2015-04-26 18:44:40 +02:00
Maximilian Hils
b5690b8103 remove superfluous set_focus 2015-04-26 18:43:27 +02:00
Maximilian Hils
f96e4957b1 Merge branch 'master' of github.com:mitmproxy/mitmproxy 2015-04-26 18:41:40 +02:00
Maximilian Hils
79e587fe04 fix #568 2015-04-26 18:41:27 +02:00
Choongwoo Han
ad33d0925f Fix crash when save to clipboard before loading 2015-04-23 15:40:57 +09:00
Choongwoo Han
f4f57e62e5 Check overwrite, when save to file instaed of clipboard 2015-04-23 15:02:57 +09:00
Aldo Cortesi
37d731aacd Missed some un-needed variable declarations 2015-04-21 11:42:27 +12:00
Aldo Cortesi
ddf458b330 HTTP request reading moves to netlib 2015-04-21 11:05:37 +12:00
Aldo Cortesi
ff654730e8 console: make g/G shortcuts work in more contexts 2015-04-17 13:30:49 +12:00
Aldo Cortesi
d20069fcd2 console: more consistent view stack management 2015-04-17 13:06:45 +12:00
Aldo Cortesi
e963a9da48 console: suport unary attributes
Attributes with no value are treated as unary, e.g. "Secure" rather than
"Secure=". If you really want to have an empty attribute value you can
edit the header directly.

Behind the scenes, restructure GridEditor to know about data conversion
in and out of the editor.
2015-04-17 12:54:29 +12:00
Aldo Cortesi
7abaf3c362 console: refactor grideditor, fix a crash on tab for subeditors 2015-04-16 22:01:54 +12:00
Aldo Cortesi
cb880cc65a Adjust header key color in solarized palettes 2015-04-16 12:16:07 +12:00
Aldo Cortesi
52716e3439 console: first pass of a Set-cookie editor for responses 2015-04-16 10:57:12 +12:00
Aldo Cortesi
850a50262b console: add a -l flag to set the limit on startup 2015-04-15 12:56:43 +12:00
Aldo Cortesi
5ff4303124 Adjust for ODict interface change 2015-04-15 10:29:57 +12:00
Aldo Cortesi
f33b483110 Editor for request cookies 2015-04-15 09:43:15 +12:00
Aldo Cortesi
c335c2b533 Add set_cookies method to HTTPResponse 2015-04-14 16:23:51 +12:00
Aldo Cortesi
ab7e2857cc New get_cookies for HttpResponse 2015-04-14 15:14:36 +12:00
Aldo Cortesi
e17eacd8d7 New get_cookie and set_cookie implementations for HTTPRequest 2015-04-14 13:45:38 +12:00
Aldo Cortesi
937a358aa9 Merge branch 'master' of ssh.github.com:mitmproxy/mitmproxy 2015-04-14 12:01:37 +12:00
Aldo Cortesi
bea0bd236a Housekeeping and cleanups
- No output to stdout on load in examples - they muck up the test suite.
- Use the odict module directly, rather than aliasing it. The small convenience
this gives to scripters is not worth it.
- Move the cookie tests from the flow test module to the protocol_http test
module.
2015-04-14 11:58:10 +12:00
Maximilian Hils
ab2b98b988 fix pretty_host if no host is present 2015-04-10 19:35:42 +02:00
Maximilian Hils
6852eb9d0a fix #553 2015-04-10 14:59:38 +02:00
Maximilian Hils
1a666bb5db Merge pull request #547 from macmantrl/blank_values
Keep blank query values for flow hashing
2015-04-08 01:22:23 +02:00
Maximilian Hils
e7b154c823 Merge branch 'master' of github.com:mitmproxy/mitmproxy 2015-04-08 00:20:37 +02:00
Maximilian Hils
2242c671fd allow passing custom argv to libmproxy.main 2015-04-08 00:20:32 +02:00
Maximilian Hils
b961f9e599 Merge pull request #543 from legendtang/master
web: fix delete flows
2015-04-08 00:05:04 +02:00
Aldo Cortesi
8e2e83a3c6 console: add g/G shortcuts throughout
g: go to end
G: go to beginning
2015-04-07 16:13:42 +12:00
Aldo Cortesi
e76467e977 Refactor flow list state management
- Use signal mechanism for state synchronisation
- Move "Copy to clipboard" shortcut to "P"
2015-04-07 15:59:38 +12:00
Aldo Cortesi
c7b1234e13 consone: don't enter Options if it's already open 2015-04-07 12:26:56 +12:00
Aldo Cortesi
6bab6f2ef1 console: tune palettes a bit 2015-04-07 11:36:42 +12:00
Aldo Cortesi
94cd704f73 console: toggle palette transparency from options, indicate selected palette 2015-04-07 10:11:25 +12:00
Aldo Cortesi
f6a3bd15b3 console: All palettes now explicitly set a background colour
There's a new option --palette-transparent to turn this off if you want
to use your own terminal background.
2015-04-07 10:01:18 +12:00
Aldo Cortesi
1cb1ee411b console: palette picker for the options screen 2015-04-07 08:42:40 +12:00
Aldo Cortesi
538f215458 console: factor out selection widget 2015-04-06 18:28:51 +12:00
Aldo Cortesi
0d6de19b07 console: sticky cookies and auth to options screen 2015-04-06 17:30:12 +12:00
Aldo Cortesi
c4e0f9d8d7 console: TCP proxy patterns to new options screen 2015-04-06 17:19:52 +12:00
Aldo Cortesi
ec7572697a console: default display mode to new options screen 2015-04-06 17:14:32 +12:00
Aldo Cortesi
acb6b5667c console: scripts to new options screen 2015-04-06 17:11:02 +12:00
Aldo Cortesi
488adcb79e console: replacement patterns to new option screen 2015-04-06 17:05:52 +12:00
Aldo Cortesi
15246c3403 console: ignore patterns to new options screen. 2015-04-06 17:02:51 +12:00
Aldo Cortesi
9e39999706 Add headings to options, start migrating more options into options screen
SetHeaders first...
2015-04-06 16:47:58 +12:00
Legend Tang
20d3d7e1b8 Merge https://github.com/mitmproxy/mitmproxy 2015-04-06 11:28:20 +08:00
Aldo Cortesi
3704411466 Minimal help context for options 2015-04-03 20:04:19 +13:00
Aldo Cortesi
aadaa66d0b console: tune and re-enable palettes 2015-04-03 19:44:09 +13:00
Aldo Cortesi
ddc353955d Don't list all options shortcuts in help 2015-04-03 19:10:12 +13:00
Terry Long
6a24a4e3c5 Keep blank query values for flow hashing 2015-04-02 22:10:01 -07:00
Aldo Cortesi
41a1a0bef3 console: C to clear all options, correct footer in options screen 2015-04-03 14:47:55 +13:00
Aldo Cortesi
57bdb89342 console: keyboard shortcuts for options 2015-04-03 14:38:04 +13:00
Aldo Cortesi
65971f02ad console: basic options page 2015-04-03 14:10:57 +13:00
Aldo Cortesi
fe6957eddb console: fix a crash that sometimes occurs when setting a limit 2015-04-01 10:47:28 +13:00
Aldo Cortesi
c794d362f9 Next/previous tab keybindings 2015-04-01 10:34:58 +13:00
Aldo Cortesi
32ba6021b3 console: improve handling of help contexts, fix key bindings in flow views 2015-04-01 09:25:50 +13:00
Aldo Cortesi
44fb42185f console: fix body scrolling 2015-03-31 15:59:54 +13:00
Aldo Cortesi
82997cb311 Fix timestamps in detail view
- Fix a crash when connection timestamps don't exist yet
- Fix display of response timestamps
- Get rid of those colossal ternaries. I want a device that pokes people in the
eye every time they try to use a ternary operator.
2015-03-31 09:49:07 +13:00
Legend Tang
269571efe5 web: fix delete flows 2015-03-30 20:18:56 +08:00
Maximilian Hils
5977e844e7 Merge branch 'master' of github.com:mitmproxy/mitmproxy 2015-03-30 03:49:59 +02:00
Maximilian Hils
6d29f93e9e web: add prompt for keyboard navigation 2015-03-30 03:49:50 +02:00
Aldo Cortesi
ad08b80c43 Merge branch 'master' of ssh.github.com:mitmproxy/mitmproxy 2015-03-30 11:54:14 +13:00
Aldo Cortesi
e964983e81 Disable keystrokes requiring a request/response on details page 2015-03-30 11:53:10 +13:00
Maximilian Hils
737002921e s/filter/search/
no matter what we agree on in #542,
this needs to be done anyway.
2015-03-30 00:46:33 +02:00
Aldo Cortesi
a32698fc04 Update statusbar when flow list is cleared. 2015-03-30 10:34:02 +13:00
Aldo Cortesi
8f5cf833d0 Add flow detail view as a tab in the flow view 2015-03-29 19:24:37 +13:00
Aldo Cortesi
cacd09fafc console: add a tabs widget, and use it for flowview. 2015-03-29 17:40:43 +13:00
Aldo Cortesi
cfeee347d9 Simplify content generation in flow view 2015-03-29 15:54:29 +13:00
Aldo Cortesi
8f0e4a9bdd console: simplify view modes. 2015-03-29 15:27:17 +13:00
Aldo Cortesi
bdc2fda7ef Seems more natural to re-prompt for search every time 2015-03-29 15:16:20 +13:00
Aldo Cortesi
80c4de5ca4 Keep record of last search term 2015-03-29 15:14:56 +13:00
Aldo Cortesi
92ce91efac Merge branch 'master' of ssh.github.com:mitmproxy/mitmproxy 2015-03-29 14:46:10 +13:00
Aldo Cortesi
e4738bdd39 Fix search wrap-around offsets. 2015-03-29 14:39:47 +13:00
Aldo Cortesi
8a0404ddf8 Beginning of a simpler and more flexible search implementation 2015-03-29 14:32:36 +13:00
Maximilian Hils
93d1d0416d web: add more keyboard shortcuts 2015-03-29 03:24:03 +02:00
Maximilian Hils
fd911b75e6 web: global key handling 2015-03-29 01:45:37 +01:00
Maximilian Hils
1913975fa6 web: use contexts to pass down stores.
Using contexts frees us from the contracts we have
using props - namely, we can assume them to be constant
for the lifetime of the object.
2015-03-27 21:58:04 +01:00
Maximilian Hils
f39e6c5c18 web: minor ux improvements 2015-03-27 18:51:25 +01:00
Maximilian Hils
dcb42b3016 web: fix react-router 2015-03-27 16:54:21 +01:00
Maximilian Hils
11b082c998 Merge remote-tracking branch 'vzvu/react-router-0.13.2'
Conflicts:
	libmproxy/web/static/vendor.js
2015-03-27 16:17:35 +01:00
Maximilian Hils
42cd942b64 web: initial attempt at header editor 2015-03-27 15:30:19 +01:00
vzvu3k6k
d65a4b6100 web: upgrade to react-router 0.13.2 2015-03-27 04:32:38 +09:00
Maximilian Hils
04f2467e84 Merge branch 'master' of github.com:mitmproxy/mitmproxy 2015-03-26 18:17:36 +01:00
Maximilian Hils
9854379046 web: backup flows on edit 2015-03-26 18:17:30 +01:00
Maximilian Hils
423530fc25 Merge pull request #515 from krzysiekbielicki/master
[#514] Add support for ignoring payload params in multipart/form-data
2015-03-26 18:16:31 +01:00
peralta
901bf018c0 mitmweb: start onboarding app if instructed to 2015-03-26 17:20:32 +01:00
Maximilian Hils
d08fc33f35 Merge pull request #537 from tekii/fix530
fix #530 set client_playback to None when client_playback is done
2015-03-26 14:06:56 +01:00
Marcelo Glezer
ab7281ec04 fix #530 set client_playback to None when client_playback is done 2015-03-25 17:40:25 -03:00
Marcelo Glezer
fb17eea5e0 fix #535 server replay was failing from ui but working from command line (fixed now too) 2015-03-25 17:12:38 -03:00
Marcelo Glezer
c5f153f8d0 fix #535 now works with both cases: using -c from command line and pressing c in the ui 2015-03-25 17:07:31 -03:00
Marcelo Glezer
e6a8863c51 fixed exception in mitmproxy -c fix #535 2015-03-25 16:57:28 -03:00
Marcelo Glezer
f45ac12d20 handles UnicodeDecodeError 2015-03-23 23:57:18 -03:00
Maximilian Hils
968c7021df web: add basic edit capability for first line 2015-03-23 00:24:56 +01:00
Maximilian Hils
2acd77dea0 web: add content download 2015-03-22 15:29:55 +01:00
Maximilian Hils
39a8ac7e2a web: improve views 2015-03-22 15:19:35 +01:00
Maximilian Hils
cf9f91b0b4 web: upgrade to react 0.13 2015-03-22 14:33:42 +01:00
Aldo Cortesi
6fb661dab5 Unwind twisty maze of cache layers. Holy confusing, Batman. 2015-03-22 21:08:18 +13:00
Aldo Cortesi
842e23d3e3 Replace far-too-clever decorator LRU cache with something simpler 2015-03-22 21:00:41 +13:00
Aldo Cortesi
a2da38cc83 Whitespace, indentation, formatting 2015-03-22 17:33:25 +13:00
Aldo Cortesi
15f65d63f6 Trigger flow change when flow elements are edited 2015-03-22 17:28:13 +13:00
Aldo Cortesi
08bb076533 console: signal-based view stack, unifying mechanisms for help, flow views, etc. 2015-03-22 17:18:53 +13:00
Aldo Cortesi
120c8db8a4 console: refactor the way we keep global view state 2015-03-22 16:59:11 +13:00
Aldo Cortesi
aa9a38522f Remove refresh_flow mechanism in favor of a signal-based implementation 2015-03-22 15:58:32 +13:00
Aldo Cortesi
7a119ac7d7 Merge branch 'master' of ssh.github.com:mitmproxy/mitmproxy 2015-03-22 15:40:48 +13:00
Aldo Cortesi
c9a0975446 console: observe state objects for changes, fire event to update status bar. 2015-03-22 15:11:54 +13:00
Maximilian Hils
9415846232 web: raw content view 2015-03-22 02:25:47 +01:00
Aldo Cortesi
200498e7aa Simplify the way in which path prompts keep state
In the past, we kept the last path the user specified for a number of different
path types to pre-seed the path prompt. Now, we no longer distinguish between
types, and pre-seed with the last used directory regardless.
2015-03-22 14:14:44 +13:00
Aldo Cortesi
572000aa03 Rationalise prompt calling conventions 2015-03-22 13:59:34 +13:00
Aldo Cortesi
3bf4feb213 Merge branch 'master' of ssh.github.com:mitmproxy/mitmproxy 2015-03-22 13:33:11 +13:00
Aldo Cortesi
89383e9c13 Refactor status bar prompting to use signal system 2015-03-22 13:32:24 +13:00
Maximilian Hils
89d66360d6 tweak css 2015-03-22 00:28:08 +01:00
Maximilian Hils
1143552e16 web: add content views 2015-03-22 00:21:38 +01:00
Maximilian Hils
02a61ea45d structure components 2015-03-21 22:49:51 +01:00
Maximilian Hils
ac5d74d42c web: fix bugs 2015-03-21 21:55:02 +01:00
Aldo Cortesi
381a563067 Status bar message expiry based on signals and Urwid main loop 2015-03-21 12:37:00 +13:00
Aldo Cortesi
8725d50d03 Add blinker dependency, start using it to refactor console app
Blinker lets us set up a central pub/sub mechanism to disentangle our object
structure.
2015-03-21 11:19:20 +13:00
Aldo Cortesi
b475c8d6ea Add window.py import missed in refactoring 2015-03-20 15:22:05 +13:00
Aldo Cortesi
c182133d64 console: pull primary window frame management out into window.py 2015-03-20 13:26:08 +13:00
Aldo Cortesi
2f8ebfdce2 Pull console StatusBar into its own file. 2015-03-20 11:08:04 +13:00
Aldo Cortesi
241530eb0a Remove cruft to work around an old Urwid bug 2015-03-20 11:03:46 +13:00
Aldo Cortesi
558e0a41c2 Fix general prompt input. 2015-03-20 11:00:24 +13:00
Aldo Cortesi
560e44c637 Pull PathEdit out into its own file. 2015-03-20 10:54:57 +13:00
Aldo Cortesi
a3f4296bf1 Explicitly handle keyboard interrupt in mitmproxy
Fixes #522
2015-03-20 10:02:34 +13:00
Aldo Cortesi
d7e53e6573 Fix crashes on mouse click when input is being handled 2015-03-20 09:30:29 +13:00
Maximilian Hils
97c6d7ed25 onboarding app: serve certs inline to unbreak firefox 2015-03-19 16:29:05 +01:00
Maximilian Hils
51856b7ccd Merge branch 'master' of github.com:mitmproxy/mitmproxy 2015-03-19 16:18:41 +01:00
Maximilian Hils
a2cbfb117b fix webapp on Windows
- the p12 file needs a ".p12" extension. simply naming the file "p12"
  isn't sufficient
2015-03-19 16:17:44 +01:00
Aldo Cortesi
b47019293e Nicer Solarized palettes, using the correct terminal values 2015-03-19 20:49:43 +13:00
Aldo Cortesi
7e9a5e66fe Reinstate solarized_dark and solarized_light palettes. 2015-03-19 18:42:03 +13:00
Aldo Cortesi
32a674948f Less painful light heading bar palette
lowlight remains painful due to background color restrictions.
2015-03-19 18:29:06 +13:00
Aldo Cortesi
1d5fcc6e0e Revamp palette specification
- Split low-color and high-color specifications in palettes.
- Split off light, dark, lowlight and lowdark palettes. Lowlight and lowdark
will be the low-color base for most subsequent palettes.
- Add a small script that makes test pattern requests to pathod.
2015-03-19 18:05:30 +13:00
Marcelo Glezer
8feebcbf8e fix for #522 2015-03-18 12:56:12 -03:00
Marcelo Glezer
75d4563af0 fixes crash pressing 'c':client-replay in mitmproxy 2015-03-17 16:39:52 -03:00
Maximilian Hils
40c242c3f6 add table sort 2015-03-17 03:05:59 +01:00
Maximilian Hils
4a92c42517 web: smaller changes 2015-03-15 22:05:50 +01:00
Maximilian Hils
3650d73662 Merge remote-tracking branch 'onlywade/master'
Conflicts:
	libmproxy/console/__init__.py
	libmproxy/console/flowlist.py
2015-03-15 14:36:06 +01:00
Maximilian Hils
7b58fe5142 mitmdump: improve request printing 2015-03-15 03:08:45 +01:00
Maximilian Hils
5b4d54c829 mitmdump: decode flow before printing 2015-03-15 02:53:05 +01:00
Aldo Cortesi
a4f500c82e Indentation, style, whitespace 2015-03-13 23:14:37 +11:00
Aldo Cortesi
60dce08d54 Remove compatibility shim used to interop with older versions of Urwid 2015-03-13 23:04:07 +11:00
Aldo Cortesi
87a3c71041 Formatting and whitespace 2015-03-13 22:29:21 +11:00
Aldo Cortesi
468cc81c8a Style & whitespace 2015-03-13 22:07:35 +11:00
Aldo Cortesi
488bcaca6f Integrate Urwid's MainLoop in console mitmproxy
Urwid's method for accumulating multi-character escape codes is now tied
up with its main loop, which means we can't avoid it. This commit fixes
a range of issues (like escape not working to exit editable fields), and
also improves responsiveness.
2015-03-13 21:58:22 +11:00
Aldo Cortesi
0d59c2da97 Better error when invalid palette is specified 2015-03-12 22:56:47 +11:00
Maximilian Hils
2f40a6fd78 improve source map generation 2015-03-11 11:13:20 +01:00
Krzysztof Bielicki
244ef243d7
[#514] Add support for ignoring payload params in multipart/form-data 2015-03-10 10:44:06 +01:00
Maximilian Hils
ec4a6ec4e5 Merge pull request #509 from suyash/mitmweb-add-sourcemap-generation
add sourcemap generation for scripts-app-dev task
2015-03-08 21:09:06 +01:00
Wade Catron
803d631f04 Adding a server replay option to ignore host when searching for matching requests 2015-03-08 10:21:57 -07:00
Maximilian Hils
a78eb12e1a Merge remote-tracking branch 'suyash/mitmweb-add-sourcemap-generation' 2015-03-07 01:42:06 +01:00
Maximilian Hils
15a8a93a4e adjust to changed netlib api 2015-03-07 01:39:01 +01:00
Suyash
e47f9738ec add sourcemap generation for scripts-app-dev task 2015-03-07 01:47:50 +05:30
Maximilian Hils
353a6ace47 Merge remote-tracking branch 'legend/master'
Conflicts:
	libmproxy/web/static/app.js
2015-03-06 10:05:12 +01:00
Legend Tang
de306e6aeb fix #506 2015-03-06 16:54:18 +08:00
Legend Tang
0b57f851bd another clean up for #503 #504 2015-03-06 04:03:52 +08:00
Legend Tang
98c0047b4e clean up for #503 #504 2015-03-06 03:57:38 +08:00
Legend Tang
36db55f662 Replace addListener method with multiple bindings, fix for #503 504 2015-03-06 03:45:58 +08:00
Maximilian Hils
300868edff clean up web builds 2015-03-05 01:52:47 +01:00
Tarashish Mishra
48023db59e Minor refactor to PR #496 2015-03-04 22:32:01 +05:30
Marcelo Glezer
b49d573c8b sorted timing information by timestamp 2015-03-03 18:38:16 -03:00
Marcelo Glezer
485003511b removed unused parameter 2015-03-03 17:49:47 -03:00
Marcelo Glezer
8a672b7955 minor refactor 2015-03-03 00:55:23 -03:00
Marcelo Glezer
f514eacd7a added timing information to FlowDetailView 2015-03-03 00:44:31 -03:00
Marcelo Glezer
58dba3f490 fixed formatting and added a 'test' (sort of) 2015-03-02 23:22:44 -03:00
Marcelo Glezer
91e5a4a4b5 #487 added microsecond support to format_timestamp and used in FlowDetailView. Still WIP. 2015-03-02 18:30:46 -03:00
Maximilian Hils
e65a8659f0 Merge pull request #489 from tekii/feature-487
added time elapsed between request sent and response received
2015-03-02 14:40:22 +01:00
Maximilian Hils
75ba0a92e4 do some housekeeping 2015-03-02 14:35:50 +01:00
elitest
5e07fe08ea Update Server.py to fix SNI handling
Forgot to change ciphers->client_ciphers.
2015-03-02 00:19:06 -06:00
elitest
c6f54605a7 Update Config.py to clarify help messages 2015-03-01 20:49:03 -06:00
elitest
13e74facb6 Update config.py 2015-03-01 20:21:35 -06:00
Jim Shaver
b063d6020f specified cipher_list in a few more locations, added a missing comma 2015-03-01 20:12:27 -06:00
Marcelo Glezer
09828ff2d9 changes requested by @mhils 2015-03-01 22:19:32 -03:00
elitest
6a1e294149 Update Server.py to improve cipher selection
Differentiated client ciphers and added server ciphers.
2015-02-28 11:07:18 -06:00
elitest
0b7b0ac33d Update Config.py to improve cipher selection
added support for specifying cipher suites on both sides of the proxy instead of just the one.
2015-02-28 10:16:31 -06:00
Maximilian Hils
e1b6cf9401 fix #319 2015-02-27 15:24:27 +01:00
Maximilian Hils
8d975e80ff Merge remote-tracking branch 'sakurai/feature/issue319' 2015-02-27 14:47:50 +01:00
Maximilian Hils
3323b29f10 always include SNI as SAN entry
To be as robust as possible, we include the SNI value always as a Subject
Alternative Name. Second, we make sure that the server address is in the
list as well.
2015-02-27 12:51:06 +01:00
Maximilian Hils
c51a1dbb11 Merge branch 'master' of github.com:mitmproxy/mitmproxy 2015-02-27 09:17:59 +01:00
Maximilian Hils
81a274eb51 fix #479 2015-02-27 09:17:41 +01:00
Youhei Sakurai
5916767e03 Correct typo; https://github.com/mitmproxy/mitmproxy/issues/319 2015-02-27 10:22:27 +09:00
Youhei Sakurai
10f81e596b Change from checking __call__ to using callable;
https://github.com/mitmproxy/mitmproxy/issues/319
2015-02-27 10:15:07 +09:00
Marcelo Glezer
3a78c95d0a added to flowlist / flowdetail time elapsed between request sent and response received 2015-02-26 18:14:20 -03:00
Youhei Sakurai
77bb0b74ed Maybe it should work; https://github.com/mitmproxy/mitmproxy/issues/319 2015-02-27 02:44:47 +09:00
Marcelo Glezer
010b921a93 added sni and ssl_established=true in ServerConnection. removed check for None value of server_conn in http.py 2015-02-12 13:41:58 -03:00