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
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