Maximilian Hils
cf2b2e0cc7
simplify streaming http layer
2015-09-10 10:20:11 +02:00
Maximilian Hils
61f4319491
http protocol: use new tls attribute
2015-09-09 18:49:32 +02:00
Maximilian Hils
4b8e162a8b
Merge branch 'master' into readthedocs
2015-09-08 15:36:37 +02:00
Maximilian Hils
8dfa15c2d4
whitelist next_layer for @concurrent
2015-09-07 16:05:16 +02:00
Maximilian Hils
d002371d30
expose next_layer
to inline scripts
2015-09-07 13:52:58 +02:00
Maximilian Hils
eb2334c6cb
Merge branch 'master' into readthedocs
2015-09-06 01:37:19 +02:00
Maximilian Hils
5125c669cc
adjust to new netlib Headers class
2015-09-05 20:45:58 +02:00
Maximilian Hils
b62498e125
remove urwid from contentviews
2015-09-04 17:33:21 +02:00
Maximilian Hils
018c693dee
remove urwid from contentviews (wip)
2015-09-04 17:07:14 +02:00
Maximilian Hils
00561d280c
speed up filters
2015-09-04 02:11:09 +02:00
Maximilian Hils
e88c7e4c58
Merge branch 'master' into readthedocs
2015-09-04 00:47:04 +02:00
Maximilian Hils
2d1c382f38
docs, docs, docs!
2015-09-04 00:45:47 +02:00
Thomas Kriechbaumer
47ab7f04ea
http2: Ping frames are handled in netlib
2015-09-03 21:23:19 +02:00
Maximilian Hils
14457f29b3
docs++
2015-09-03 18:55:38 +02:00
Maximilian Hils
99126f62ed
remove depth attribute from set_server
2015-09-03 18:25:36 +02:00
Maximilian Hils
8da683a638
Merge branch 'master' of https://github.com/mitmproxy/mitmproxy
2015-09-03 17:01:37 +02:00
Maximilian Hils
f4272de5ec
remove ServerConnectionMixin.reconnect
2015-09-03 17:01:25 +02:00
Thomas Kriechbaumer
3a229f60e3
http2: fix ping response
2015-09-03 14:26:36 +02:00
Thomas Kriechbaumer
1f6d05f89f
http2: server can send WindowUpdate frames as well
2015-09-03 14:09:59 +02:00
Thomas Kriechbaumer
bc93600a66
http2: add GoAway support for client
2015-09-03 13:55:13 +02:00
Thomas Kriechbaumer
b4d6f2e12b
http2: fix PingFrame again
2015-09-03 13:55:13 +02:00
Thomas Kriechbaumer
29ae2bbf91
http2: fix multiple stream per connection
...
fixes #746
2015-09-03 13:54:58 +02:00
Thomas Kriechbaumer
bde4bdd1d2
http2: fix unhandled frames
2015-09-03 13:40:35 +02:00
Maximilian Hils
a0f3803233
Merge pull request #748 from Kriechi/tls-ciphers
...
pass-through ciphers from client to server
2015-09-03 12:57:56 +02:00
Thomas Kriechbaumer
37e6b3c401
http2: improve unexpected frame handling and shutdown
2015-09-03 11:09:59 +02:00
Maximilian Hils
cc2a6a3919
fix circular imports
2015-09-02 20:56:19 +02:00
Thomas Kriechbaumer
c79af62763
ignore http2 priority frames
2015-09-02 20:50:50 +02:00
Thomas Kriechbaumer
0047ac4cdc
pass-through ciphers from client to server
2015-09-02 20:46:14 +02:00
Chris Czub
b4e0be9052
PR #700
...
Start moving the contentview up a level
Started shifting the contentview class up to libmproxy
2015-09-02 20:30:58 +02:00
Maximilian Hils
f1c8b47b1e
better tls error messages, fix #672
2015-09-01 19:24:36 +02:00
Thomas Kriechbaumer
c4d6b35726
do not log WindowUpdateFrame frames
2015-08-31 22:22:10 +02:00
Maximilian Hils
481cc6ea84
we don't support socks auth, refs #738
2015-08-31 17:29:14 +02:00
Maximilian Hils
b04e6e56ab
update inline script hooks
2015-08-31 17:05:52 +02:00
Maximilian Hils
41e6e538df
fix layer initialization
2015-08-31 13:49:47 +02:00
Maximilian Hils
7450bef615
fix dns_spoofing example, avoid connecting to itself
2015-08-31 13:43:30 +02:00
Maximilian Hils
1e9aef5b1e
fix upstream proxy server change, update example
2015-08-31 00:14:42 +02:00
Maximilian Hils
63ad4a4f51
coverage++
2015-08-30 15:59:50 +02:00
Maximilian Hils
a86ec56012
move files around
2015-08-30 15:27:29 +02:00
Maximilian Hils
421b241ff0
remove http2http references
2015-08-30 13:40:23 +02:00
Maximilian Hils
3873e08339
remove old code
2015-08-30 03:42:11 +02:00
Maximilian Hils
08655cb956
Merge remote-tracking branch 'origin/master' into proxy-refactor-cb
2015-08-30 03:24:05 +02:00
Maximilian Hils
21e7f420d2
minor fixes
2015-08-30 03:23:57 +02:00
Maximilian Hils
1dd09a5509
always insert tls layer for inline script upgrades
2015-08-30 02:27:38 +02:00
Maximilian Hils
dd7f50d64b
restructure code, remove cruft
2015-08-30 01:21:58 +02:00
Maximilian Hils
100ea27c30
simplify raw tcp protocol
2015-08-29 23:08:16 +02:00
Maximilian Hils
a7058e2a3c
fix bugs, fix tests
2015-08-29 20:53:25 +02:00
Maximilian Hils
63844df343
fix streaming
2015-08-29 14:28:11 +02:00
Maximilian Hils
2dfba2105b
move sslversion mapping to netlib
2015-08-29 12:34:01 +02:00
Maximilian Hils
1cc48345e1
clean up config/cmdline, fix bugs, remove cruft
2015-08-28 01:51:13 +02:00
Maximilian Hils
a86491eeed
Revert "unify SSL version/method handling"
...
This reverts commit 14e49f4fc7
.
2015-08-27 18:37:16 +02:00
Maximilian Hils
5b17496c7e
start fixing proxy config
2015-08-27 18:31:15 +02:00
Maximilian Hils
83decd6771
fix inline script redirects
2015-08-27 17:35:53 +02:00
Maximilian Hils
515c024448
handle tls server errors more gracefully
2015-08-27 15:59:56 +02:00
Maximilian Hils
ecfde4247f
re-add http1 replay
2015-08-27 15:48:41 +02:00
Maximilian Hils
0f97899fbd
re-add --ignore and --tcp
2015-08-27 15:26:21 +02:00
Maximilian Hils
f6dadc2b0d
no more sni double-connects!
2015-08-27 00:07:44 +02:00
Maximilian Hils
9c6b3eb58a
clean up clienthello parsing
2015-08-26 22:00:50 +02:00
Maximilian Hils
2cfc1b1b40
fix non-alpn clients
2015-08-26 20:48:59 +02:00
Maximilian Hils
778644d4b8
http2: fix bugs, chrome works 🎉
2015-08-26 15:12:04 +02:00
Maximilian Hils
aebe342025
improve alpn handling
2015-08-26 14:03:51 +02:00
Maximilian Hils
1093d185ec
manually read tls clienthello
2015-08-26 06:38:03 +02:00
Maximilian Hils
3fa65c48dd
manually read tls clienthello [wip]
2015-08-26 05:39:00 +02:00
Maximilian Hils
8ce0de8bed
minor fixes
2015-08-25 18:24:17 +02:00
Maximilian Hils
56a4bc381e
request -> request_method
2015-08-24 18:17:04 +02:00
Maximilian Hils
f1f34e7713
fix bugs, fix tests
2015-08-24 16:52:03 +02:00
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