Aldo Cortesi
38b43cc9f9
Merge pull request #1428 from dufferzafar/replay
...
Consolidate replay under R
2016-07-26 13:53:44 +12:00
Aldo Cortesi
db22e72103
Merge pull request #1427 from mhils/grideditor
...
Refactor GridEditor
2016-07-26 13:38:04 +12:00
Maximilian Hils
817b675c52
Merge branch 'flow_editing_v2'
2016-07-25 17:51:38 -07:00
Maximilian Hils
79ebcb046e
Merge remote-tracking branch 'origin/master' into flow_editing_v2
2016-07-25 15:16:16 -07:00
Maximilian Hils
3254595584
minor fixes
2016-07-25 15:12:20 -07:00
Maximilian Hils
ffe6593361
make sure to escape errors printed to the console
2016-07-25 14:37:19 -07:00
Clemens
ca4541613c
combine content with header updates
2016-07-25 14:34:00 +02:00
Clemens
61ef7ca91b
added contentHash
2016-07-25 10:56:12 +02:00
Shadab Zafar
f164181f2e
Consolidate replay under R
2016-07-25 10:19:34 +05:30
Maximilian Hils
2d985e964c
py2: silence abc metaclass warnings
2016-07-24 21:17:41 -07:00
Maximilian Hils
480ae46b88
refactor grideditor for py3 compatibility
2016-07-24 21:17:41 -07:00
Maximilian Hils
c1bd4dabc8
Merge pull request #1425 from dufferzafar/clear-hotfix
...
Fix clearing of flows
2016-07-24 18:39:44 -07:00
Shadab Zafar
b99da24529
Fix clearing of flows
...
Fixes #1424
2016-07-25 07:08:03 +05:30
Maximilian Hils
ec6934d339
console: fix options signal
2016-07-24 11:15:28 -07:00
Maximilian Hils
e9eee5a6da
Merge pull request #1423 from dufferzafar/fix-search
...
Fix console search on Python 3
2016-07-24 09:53:18 -07:00
Shadab Zafar
71b6b84f29
Fix console search on Python 3
2016-07-24 22:21:04 +05:30
Maximilian Hils
c5f3bb83f6
fix keyboard navigation
2016-07-24 09:43:29 -07:00
Maximilian Hils
4d042ec543
fix #1373 , fix #1154 ( #1420 )
2016-07-23 18:48:54 -07:00
Maximilian Hils
a87d089561
Merge pull request #1380 from dufferzafar/marked-filter
...
Marked property and filter
2016-07-23 17:55:12 -07:00
Maximilian Hils
ea718df111
Merge pull request #1416 from mhils/issue-1396
...
fix #1396 , fix #1205 , fix #1374
2016-07-23 15:37:23 -07:00
Maximilian Hils
fa45722ed8
Merge pull request #1402 from mhils/console-fixes
...
minor fixes
2016-07-23 12:49:57 -07:00
Maximilian Hils
ca493ad7f3
fix #1396 , fix #1205 , fix #1374
2016-07-23 12:09:19 -07:00
Maximilian Hils
fcb906dc97
improve dumper addon text alignment ( #1415 )
2016-07-23 12:01:05 -07:00
Maximilian Hils
61de6fa1d6
fix test_view_urlencoded
2016-07-23 11:55:27 -07:00
Thomas Kriechbaumer
c58db1adf3
http2: fix kill ( #1413 )
2016-07-23 11:11:45 -07:00
Shadab Zafar
f7217b006b
Remove save marked flows prompt
2016-07-23 13:19:59 +05:30
Shadab Zafar
d6deec60b0
Add marked attribute when converting flow to 0.18
2016-07-23 10:41:57 +05:30
Shadab Zafar
32ef73e6b4
Remove [Marked Flows] status indicator
2016-07-23 10:41:57 +05:30
Shadab Zafar
484dbd8a7b
Keep focus on same flow when disabling marked view
2016-07-23 10:41:57 +05:30
Shadab Zafar
426a62299c
Focus nearest matching flow if current flow is unmarked
2016-07-23 10:41:57 +05:30
Shadab Zafar
6135ec1196
Move match function to Flow
2016-07-23 10:41:57 +05:30
Shadab Zafar
4a3e9c0563
Keep focus on same flow when enabling marked view
...
...if it is marked.
2016-07-23 10:41:57 +05:30
Shadab Zafar
40b50e9398
Remove flow marking from ConsoleState
2016-07-23 10:41:57 +05:30
Shadab Zafar
500b61a811
Use marked property in ConsoleState.clear
2016-07-23 10:41:57 +05:30
Shadab Zafar
653ed4e342
Use ~marked filter while toggling marked view
2016-07-23 10:41:57 +05:30
Shadab Zafar
cc98b9c32f
Add a marked filter
2016-07-23 10:41:57 +05:30
Shadab Zafar
6c05a0c908
Update unmark all flows "U"
2016-07-23 10:41:57 +05:30
Shadab Zafar
d99d61e8ef
Update save_marked_flows to use the new attribute
2016-07-23 10:41:57 +05:30
Shadab Zafar
6fe36a5b7f
Fix display of mark status [m]
2016-07-23 10:41:57 +05:30
Shadab Zafar
911c7a4f1b
Update toggling of marked attribute on pressing "m"
2016-07-23 10:41:57 +05:30
Shadab Zafar
541d9db27a
Add marked attribute to flow
2016-07-23 10:41:57 +05:30
Aldo Cortesi
afda175e1c
Addon iface: .configure(options) -> .configure(options, updated)
2016-07-23 15:43:55 +12:00
Aldo Cortesi
9294d19f90
scripts: .start can now return an Addon instance
2016-07-23 11:29:13 +12:00
Aldo Cortesi
05caa0a03d
script: tune auto reload
...
- Don't respond to directory changes
- Ignore hidden files
I've "solved" this as well as it can be done in modd, and getting good results
here just turns into a large pile of heuristics that don't work in all
circumstances. Also watchdog sucks.
2016-07-23 11:08:14 +12:00
Aldo Cortesi
51a8ba57f1
script: add a namespace adaptor to match Addons
2016-07-23 11:03:50 +12:00
Maximilian Hils
9b40e1072c
minor fixes
2016-07-21 20:33:55 -07:00
Maximilian Hils
9f0889d541
Merge pull request #1399 from mhils/fix-cv-cache-invalidation
...
Fix content view cache invalidation
2016-07-21 20:10:06 -07:00
Maximilian Hils
798759d2b3
fix content view cache invalidation
2016-07-21 19:49:32 -07:00
Maximilian Hils
8a2c7bea8e
py3: fix copy to clipboard
2016-07-21 19:44:20 -07:00
Maximilian Hils
b28954ea5f
minor fixes
2016-07-21 18:32:47 -07:00
Maximilian Hils
2ce7166a45
improve console ux for duplication/creation
2016-07-21 18:32:25 -07:00
Maximilian Hils
0911f4908b
fix #1391
2016-07-21 18:31:12 -07:00
Maximilian Hils
f5841c705c
fix #1392
2016-07-21 18:30:48 -07:00
Maximilian Hils
bb1400777b
fix #1390
2016-07-21 18:30:09 -07:00
Maximilian Hils
873f48f6ab
display python version in console help
2016-07-21 17:08:21 -07:00
Maximilian Hils
6ffeaaebed
Merge branch 'master' of https://github.com/mitmproxy/mitmproxy
2016-07-21 01:16:35 -07:00
Maximilian Hils
427fffbcb8
web: fix flow content update
2016-07-21 00:43:31 -07:00
Aldo Cortesi
e15cf968c2
console: nopop, rheaders into Options
2016-07-21 15:51:12 +12:00
Aldo Cortesi
33ffbc28ed
console: share one ActionBar instance
...
This fixes an issues where popping a view off the stack caused stale ActionBar
contents to be displayed.
2016-07-21 15:41:43 +12:00
Maximilian Hils
8b2a5cad2d
Merge remote-tracking branch 'origin/flow_editing'
2016-07-20 14:35:20 -07:00
Shadab Zafar
2b58e153b9
Fix hotkey kerfuffle
...
`z` (instead of `C`) to "clear flow list or eventlog"
`C` to "export flow to clipboard"
`E` to "export flow to file"
2016-07-20 14:44:20 +05:30
Shadab Zafar
a933b82064
Make necessary changes in flowview
2016-07-20 14:41:21 +05:30
Shadab Zafar
3321e7bef3
Refactor exporters
2016-07-20 10:03:00 +05:30
Shadab Zafar
c84d0bd10b
Add a url exporter
2016-07-20 10:03:00 +05:30
Shadab Zafar
0d478e71ee
Ask for scope when called from flowlist
2016-07-20 10:03:00 +05:30
Shadab Zafar
e3670f9d9b
Integrate ask_copy_part into exporters
...
This introduces some duplication but that'll be refactored later.
2016-07-20 10:03:00 +05:30
Shadab Zafar
8f4d49e22a
Remove raw_request exporter
...
This functionality will be handled by headers+content
2016-07-20 10:03:00 +05:30
Shadab Zafar
3ae28f1c31
s/part/key
2016-07-20 10:03:00 +05:30
Shadab Zafar
e56df1b706
Don't send master and state parameters
2016-07-20 10:03:00 +05:30
Shadab Zafar
5377d5a61d
Refactor
2016-07-20 10:03:00 +05:30
Shadab Zafar
4f04dd618c
Common function for both file and clipboard
2016-07-20 10:03:00 +05:30
Shadab Zafar
5cf2228250
Export to file (p) or clipboard (P)
2016-07-20 10:03:00 +05:30
Shadab Zafar
6119f0f16a
Exporters list
2016-07-20 10:03:00 +05:30
Maximilian Hils
b27db1fc81
minor fixes
2016-07-19 18:09:33 -07:00
Aldo Cortesi
8317772377
mitproxy.options -> mitmproxy.optmanager, mitmproxy.flow.options -> mitmproxy.options
...
It might be slightly more felicitous to move optmanager into netlib at some
point, especially if we can also use it in pathod.
This also consolidates our constants in mitmproxy.options, removing some duplicates.
2016-07-20 11:28:53 +12:00
Aldo Cortesi
6000136b01
Merge branch 'master' into cleanup
2016-07-19 23:35:42 +12:00
Clemens
698fb11132
Merge remote-tracking branch 'origin/master' into flow_editing
2016-07-19 12:32:36 +02:00
Maximilian Hils
518c28fff9
update web assets
2016-07-19 03:14:35 -07:00
Maximilian Hils
4ea6e61ea8
fix web master options leftovers
2016-07-19 03:11:17 -07:00
Aldo Cortesi
29eecd5d66
Simplify common initilization in cmdline.py
2016-07-19 17:15:10 +12:00
Aldo Cortesi
9c9d28d068
Remove proxy.config.process_proxy_options
2016-07-19 16:25:09 +12:00
Aldo Cortesi
ef380917a8
ProxyConf: adapt mitmproxy console, ditch tcp|host filter attrs on flow.master
2016-07-19 16:25:09 +12:00
Aldo Cortesi
be081a24bc
ProxyConf: auth_* into Options
2016-07-19 16:25:09 +12:00
Aldo Cortesi
5cfe783b6c
ProxyConfig: http2, rawtcp, no_upstream_cert -> Options
2016-07-19 16:25:09 +12:00
Aldo Cortesi
fb6e9c44c8
ProxyConfig: ciphers_client and ciphers_server -> Options
2016-07-19 16:25:09 +12:00
Aldo Cortesi
26fa88a338
ProxyConfig: Refactor to move verification mode checks into configure
2016-07-19 16:25:09 +12:00
Aldo Cortesi
77bf092bcd
ProxyConfig: tcp_hosts and ignore_hosts to Options
2016-07-19 16:25:09 +12:00
Aldo Cortesi
98bf544664
Regularize naming of upstream_trusted_ca* options
2016-07-19 16:25:09 +12:00
Aldo Cortesi
0a3839375d
ProxyConfig: various SSL options to Options
2016-07-19 16:25:09 +12:00
Aldo Cortesi
f81c53f9bb
Fix ca directory creation
2016-07-19 16:25:09 +12:00
Aldo Cortesi
78e8159007
config.parse_server_spec shouldn't pass byts to tcp.Address
2016-07-19 16:25:09 +12:00
Aldo Cortesi
f9622074cc
ProxyConfig: mode, upstream_server and upstream_auth to Options
2016-07-19 16:25:09 +12:00
Aldo Cortesi
bd733e1232
Handle command-line argument errors properly
...
At some point we stopped handling exceptions from get_common_options properly.
2016-07-19 16:25:09 +12:00
Aldo Cortesi
d2268ddb1e
ProxyConfig: --body-size-limit to Options
2016-07-19 16:25:09 +12:00
Aldo Cortesi
f24f8ce971
ProxyConfig: --cert to options
...
Also incidentally improve handling of invalid certificate formats.
2016-07-19 16:25:09 +12:00
Aldo Cortesi
856e1c2ba9
Move clientcers & cadir to Options
...
Also adds a .configure mechanism to ProxyConfig, and hooks it up to the change
event.
2016-07-19 16:25:09 +12:00
Aldo Cortesi
b1b1a1b9cf
ProxyConfig: cadir to options
2016-07-19 16:25:09 +12:00
Aldo Cortesi
6908dc4d90
ProxyConfig refactor
...
Step two of frog boiling: move listening address and port into options. This is
the hard bit, because it touches the test suite so deeply.
2016-07-19 16:25:09 +12:00
Aldo Cortesi
9bc1514aef
Unify proxy config and options
...
This is step 1 in a gradual "boiling frog" strategy. Decorate ProxyConfig
with an Options object.
2016-07-19 16:25:09 +12:00
Maximilian Hils
859bb8c99f
Merge remote-tracking branch 'jason/ui'
2016-07-18 20:59:17 -07:00
Aldo Cortesi
e9865800a8
Console options cleanup
...
Use setters, use togglers, move more things out of master
2016-07-18 10:31:34 +12:00
Aldo Cortesi
ff80c7b618
file -> open throughout console
2016-07-18 10:08:05 +12:00
Aldo Cortesi
f9e4249499
Add a toggller helper to Options, start using it in mitmproxy console
2016-07-18 10:03:10 +12:00
Thomas Kriechbaumer
d9021f8505
http2: coverage++
2016-07-17 18:07:02 +02:00
Aldo Cortesi
216e38d437
setheaders -> addon
2016-07-17 18:41:14 +12:00
Aldo Cortesi
821b97c19c
Remove old ReplaceHooks code
2016-07-17 16:25:42 +12:00
Aldo Cortesi
a26cc75aab
Merge pull request #1370 from cortesi/filestreamer
...
Some work on stream-to-file
2016-07-17 16:20:41 +12:00
Aldo Cortesi
9bf1d300d8
Some work on stream-to-file
...
- stream -> filestreamer throughout
- move active_flows set into FileStreamer addon
2016-07-17 16:07:29 +12:00
Aldo Cortesi
08b3af98c2
Merge branch 'master' into dumper
2016-07-17 12:53:14 +12:00
Aldo Cortesi
b5bbeb0ff3
dumper: correctly detect request replay
...
Fixes #1361
2016-07-17 11:11:22 +12:00
Aldo Cortesi
ca7ca8ec24
The "handled" flag on responses should not persist across calls
2016-07-17 11:06:29 +12:00
Aldo Cortesi
11bd911e45
Some mild refactoring of dumper.py
2016-07-17 11:00:36 +12:00
Aldo Cortesi
b0b3b19ad6
Extract console dump functionality into an addon
...
This removes all the code that deals with printing flows to screen from dump.py
into a self-contained addon.
- This fixes a bug - by moving dumping into an
addon, we now dump flows AFTER addon transformation, so we can see the changes
made.
- We get dumping "for free" in other places by simply adding the addon. It's
now easy to add dumping to console to mitmweb for debugging and development.
The same goes for external projects that derive from master.
- We also get major benefits in clarity for a frankly hairy part of our
project. Mitmdump is much clearer, and all the hairyness is now isolated for
further refactoring.
2016-07-17 10:17:02 +12:00
Maximilian Hils
f0c15aa09c
@mhils can't merge
2016-07-16 00:36:26 -07:00
Maximilian Hils
afc3f6d854
Merge remote-tracking branch 'duffer/tcpflow-filter'
2016-07-16 00:19:01 -07:00
Maximilian Hils
b27d59095d
Merge pull request #1306 from mitmproxy/message-body-encoding
...
Improve Message Body Encoding
2016-07-16 00:13:58 -07:00
Aldo Cortesi
1a1f7e6fd9
replacehooks -> addon
...
Also fixes a bug in header replacements in netlib that resulted in a mutable
multidict.
2016-07-16 18:37:30 +12:00
Maximilian Hils
3602fd7a36
Merge remote-tracking branch 'origin/master' into message-body-encoding
2016-07-15 23:17:57 -07:00
Maximilian Hils
a3c7c84d49
improve message content semantics
2016-07-15 22:50:33 -07:00
Shadab Zafar
fea4435dac
Allow DummyFlow to match ~e, ~src and ~dst
2016-07-16 10:15:38 +05:30
Shadab Zafar
5082dc6cbd
Sort filt items alphabetically
2016-07-16 10:15:38 +05:30
Shadab Zafar
6a2668d865
Add ~http and ~tcp filters
2016-07-16 10:15:38 +05:30
Shadab Zafar
262a420553
Use ~bq / ~bs for messages sent from client / server
2016-07-16 10:15:38 +05:30
Shadab Zafar
5f7d61f864
Replace http decorator with one that handles different flowtypes
2016-07-16 10:15:38 +05:30
Shadab Zafar
a7bb0f5d02
Add TCPFlow.match
2016-07-16 10:15:38 +05:30
Shadab Zafar
ffcdd02e96
Add decorator for HTTPFlow filters
2016-07-16 10:15:38 +05:30
Shadab Zafar
124b87b851
Add test for body (~b)
2016-07-16 10:15:38 +05:30
Aldo Cortesi
17305643bc
console: don't let messages overwrite prompts
...
This renders mitmproxy unresponsive and is bad UX as well.
2016-07-16 11:48:16 +12:00
Aldo Cortesi
50f1495f29
Make mitmdump return an error exit status if errors occurred during run
2016-07-16 10:59:47 +12:00
Aldo Cortesi
33d03d916a
Flash a status bar message if an error log event occurs
2016-07-16 10:39:49 +12:00
Aldo Cortesi
49b65d2ea4
Add a helper to translate a log level to a tier
...
This is in utils for now - we'll find a better home down the track.
2016-07-16 10:33:50 +12:00
Aldo Cortesi
91e9016ce5
Trigger "start" when scripts are reloaded.
2016-07-16 10:21:00 +12:00
Aldo Cortesi
5f23d4f5ca
add_event -> add_log throughout project
...
"Event" is terribly over-loaded in the project, and "log" is straight-forward
and self-explanatory.
2016-07-16 10:19:06 +12:00
Aldo Cortesi
5a60f32c55
Fix log level handling
...
We have 4: error, warn, info and debug.
2016-07-16 09:23:52 +12:00
Aldo Cortesi
532ae7dc4a
Add addons after initialisation in mitmproxy console
...
The main effect of this is that we now properly capture errors on startup that
were ignored before.
2016-07-16 09:22:56 +12:00
Maximilian Hils
60d2e14cb9
fix #1358
2016-07-15 00:07:32 -07:00
Aldo Cortesi
c7d0850d8f
Script cleanups
...
- Preserve script order on config change
- Prohibit script duplicates (i.e. identical script + args)
- Various cleanups and tweaks
2016-07-15 16:35:24 +12:00
Aldo Cortesi
4ba7ce50c6
Add .start for addons and scripts
...
Also improve error messages, fix various unit tests
2016-07-15 14:52:34 +12:00
Clemens
5f3782dd5f
change way to edit
2016-07-14 23:01:34 +02:00
Aldo Cortesi
8fee5db675
Always use PollingObserver
2016-07-14 21:33:53 +12:00
Aldo Cortesi
9f1c46e7d6
Merge branch 'master' into script
2016-07-14 20:26:34 +12:00
Aldo Cortesi
e051928f26
Add missing mitmweb option
2016-07-14 20:24:56 +12:00
Aldo Cortesi
a4127fb6d5
Add a tick event for addons and scripts, and use it for race-free reload
2016-07-14 19:54:15 +12:00
Aldo Cortesi
5b2d1c044a
Tighten the tick loop
...
In the past, we consumed from the event queue until we were idle for a certain
amount of time (0.1s). This would cause hangs in interactive tools when there
was a stream of events, hurting responsiveness. We now wait for a maximum of
0.1s before triggering the tick loop, will be able to reduce this further down
the track.
2016-07-14 19:54:15 +12:00
Aldo Cortesi
deffed2196
Script cleanup: editing in console, Python3 compatibility fixes
2016-07-14 19:54:15 +12:00
Aldo Cortesi
b94f5fd361
Convert examples and example tests for new-style scripts
...
Remove the test that just loads all the example scripts for now - it's a very
low-value test, and we need to think of something better.
2016-07-14 19:54:15 +12:00
Aldo Cortesi
a6821aad8e
Zap old scripts infrastructure, fix concurrency tests
2016-07-14 19:54:15 +12:00
Aldo Cortesi
a3a22fba33
First-order integration of scripts addon
2016-07-14 19:54:15 +12:00
Shadab Zafar
1266255842
Re-add deletion of stickycookies ( #1355 )
...
This was originally added in #1324 (fixing issue #1096 )
but got lost during "the big refactor" (#1352 )
2016-07-14 00:37:27 -07:00
Maximilian Hils
f84a23f11d
minor fixes
2016-07-13 22:01:16 -07:00
Maximilian Hils
ec6fbe9eb6
make options explicit
2016-07-13 21:45:25 -07:00
Aldo Cortesi
b2c4f301cb
Stream to file -> addon
...
This commit also clarifies a confusion about the "outfile" attribute and its
use in testing in the mitmdump master.
2016-07-14 13:52:09 +12:00
Aldo Cortesi
cf3b3d206a
Zap unused imports
2016-07-14 12:45:00 +12:00
Aldo Cortesi
120465a142
Ditch StickyCookie module
2016-07-14 12:17:28 +12:00
Aldo Cortesi
00509d86a8
StickyCookies to addon
2016-07-14 12:13:14 +12:00
Aldo Cortesi
143bf0dfa9
AntiCache to addon
2016-07-14 11:24:06 +12:00
Aldo Cortesi
97b2e6d958
Add a .setter helper to Options
...
This returns a function that sets a named attribute, and is handy for
event-driven code like mitmproxy console.
2016-07-14 11:11:41 +12:00
Aldo Cortesi
c52d567b43
Handle OptionsError for command-line args.
2016-07-14 10:19:16 +12:00
Aldo Cortesi
a8a083a10d
Move StickyAuth into addon
...
This is the first addon that handles an OptionsError, so this commit also demos
how this works in console. Handling of command-line erorrs is on its way.
2016-07-14 10:08:41 +12:00
Aldo Cortesi
696789b8ec
func.__name__ works in both 2.7 and 3.5
...
Thanks to @resam and @dwfreed for pointing this out
2016-07-14 09:33:26 +12:00
Clemens
121079934e
make file out ouf string to combine flow content updates via editor and fileupload
2016-07-13 20:18:04 +02:00
Clemens
f84098554a
added code editor and file upload
2016-07-13 18:16:31 +02:00
Aldo Cortesi
9ab1db513f
Satisfy our ruthless linting overlords
2016-07-13 23:50:25 +12:00
Aldo Cortesi
255e1eb00b
Add the addons mechanism
...
Demonstrate how it works and interacts with Options by adding our first new
builtin: anticomp.
2016-07-13 23:45:49 +12:00
Aldo Cortesi
7f8fd3cdff
Basic outline of addons
...
Add addons.py, integrate with our event mechanism, and change the Master API so
options is the first init argument.
2016-07-13 23:26:04 +12:00
Aldo Cortesi
c9a0fe6a0e
Show how options integrates with console
...
This is not functional at the moment, because all mutable options are still on
master.
2016-07-13 19:15:38 +12:00
Aldo Cortesi
a20f8e9620
More powerful Options scheme
...
This prepares us for the addon configuration mechanism and gives us a more
flexible way to handle options changes. This changeset should spell the end of
the current anti-pattern in our codebase where we duplicate data out of options
onto the master when mutability is needed. From now on, Options can be the one
source of thruth.
- Change notifications
- Rollback on error
2016-07-13 18:45:50 +12:00
strohu
6a9407d7cc
Make sudo pfctl error check Python 3 compatible
...
In Python 3, subprocess.check_output() returns a sequence of bytes. This change ensures that it will be converted to a string, so the substring test for the sudo error message does not raise a TypeError. This fixes the code in Python 3 while remaining compatible with Python 2.
2016-07-12 15:47:01 +01:00
strohu
6217614204
Fix is_ascii check when determining next layer
2016-07-12 13:18:58 +01:00
Clemens
544b1e3238
modify flow content
2016-07-11 19:49:58 +02:00
Thomas Kriechbaumer
7c09255298
http2: more coverage
2016-07-10 20:07:43 +02:00
Shadab Zafar
c92992f03b
Move cookie expiry detection to separate function
2016-07-09 22:20:25 +05:30
Shadab Zafar
608435cabf
Delete stickycookies when told by the server
...
Fixes #1096
2016-07-09 22:20:25 +05:30
Shadab Zafar
0a21d27004
strutils.hexdump returns native_strings
2016-07-09 12:43:21 +05:30
Shadab Zafar
147f61fa62
py3++
2016-07-09 11:14:12 +05:30
Shadab Zafar
b4469d2579
py3++: test_dump
2016-07-09 11:14:12 +05:30
Maximilian Hils
15c10d49f6
Merge pull request #1327 from mitmproxy/remove-script-context
...
Remove script context
2016-07-08 20:11:12 -07:00
Maximilian Hils
5d2b7c52f9
move script context to mitmproxy.ctx
2016-07-08 19:57:57 -07:00
jpkrause
05ab9c1b37
Updated coding style and modified flow format compat test to use v0.11 and v0.10 dump files
2016-07-08 15:03:36 -07:00
jpkrause
c9482c6255
Added flow converters for versions 0.11 and 0.12
2016-07-08 12:46:28 -07:00
Jason
92026d26ea
[web] update build
2016-07-08 22:01:09 +08:00
Thomas Kriechbaumer
6da166d762
http2: fix self-depended streams
2016-07-08 10:37:56 +02:00
Maximilian Hils
7c67faa8da
remove script contexts
2016-07-07 23:50:55 -07:00
Maximilian Hils
76473d44e0
py3++
2016-07-07 17:50:26 -07:00
Maximilian Hils
f62e976e1e
py3++
2016-07-07 17:29:22 -07:00
Thomas Kriechbaumer
d962bd4e83
py3++
2016-07-07 20:25:48 +02:00
Maximilian Hils
a212ce1f63
py3++
2016-07-07 02:30:25 -07:00
Thomas Kriechbaumer
64ac2c73fe
Merge pull request #1318 from mhils/tnetstring3-unicode-type
...
[tests actually pass] Add unicode to tnetstring3
2016-07-07 09:48:22 +02:00
Linmiao Xu
275cf7a6c2
Detect JSON API media type as a json content view
...
IANA assignment here:
https://www.iana.org/assignments/media-types/application/vnd.api+json
More about JSON API:
https://github.com/json-api/json-api
2016-07-06 21:10:35 -07:00
Maximilian Hils
64a867973d
sni is now str, not bytes
2016-07-06 21:03:17 -07:00
Maximilian Hils
2c37ebfc72
fix dump file cross compat between python versions
2016-07-06 19:55:48 -07:00
Maximilian Hils
d406bee988
tnetstring3: adapt to unicode support
2016-07-06 19:55:48 -07:00
Maximilian Hils
48ee3a553e
add tnetstring unicode type
2016-07-06 19:55:48 -07:00
Maximilian Hils
684b4b5130
tnetstring: keys are str on py3. migrate flow.io_compat
2016-07-06 19:55:48 -07:00
Maximilian Hils
e6e839d56d
add python3 tnetstring implementation
2016-07-06 19:55:25 -07:00
Maximilian Hils
9c873d63f4
py3++, multidict fixes
...
This commit improves Python 3 compatibility and fixes two multidict
issues:
1. Headers.items(multi=True) now decodes fields
2. MultiDict.clear(item) has been removed, as Python's
MutableMapping already defines .clear() with different
semantics. This is confusing for everyone who expects a
dict-like object. `.pop("attr", None)` is not fantastic,
but it's the Python way to do it.
2016-07-06 19:53:29 -07:00
Maximilian Hils
444f0a4c39
py3++
2016-07-06 17:31:08 -07:00
Maximilian Hils
38fd1d3ad7
fix issue introduced in 72f3b2b
2016-07-06 12:14:48 -07:00
Maximilian Hils
72f3b2bb17
minor code improvement
2016-07-05 19:32:25 -07:00
Maximilian Hils
e84f5fcc72
Merge pull request #1315 from mitmproxy/better-unicode-handling
...
remove clean_bin, clarify unicode handling
2016-07-05 16:02:37 -07:00
Maximilian Hils
00a35aa895
Merge pull request #1297 from dufferzafar/py3-flow-export
...
Python 3 - test_flow_export
2016-07-05 15:17:18 -07:00
Maximilian Hils
d51cf543bb
remove clean_bin, clarify unicode handling
2016-07-05 15:11:32 -07:00
Thomas Kriechbaumer
05de3b759f
http2: remove forbidden headers
...
E.g.: send_error_reponse sets a connection header
2016-07-05 22:15:57 +02:00
Thomas Kriechbaumer
50fdb01553
prevent early priority changes
2016-07-05 21:02:19 +02:00
Thomas Kriechbaumer
64880e7ebd
handle related events from h2
2016-07-05 20:14:28 +02:00
Thomas Kriechbaumer
47db346959
improve end_stream handling
...
To replicate requests as close as possible frame-by-frame.
This fixes an issue with broken HTTP/2 implemenation by Akamai and
Twitter, which raise an error if we send an empty DataFrame only to
indicate END_STREAM.
2016-07-05 20:14:28 +02:00
Thomas Kriechbaumer
aa1b203182
http2: implement direct handling of priority
2016-07-05 20:14:28 +02:00
Maximilian Hils
ca9de786fd
minor fix
2016-07-04 15:07:01 -07:00
Maximilian Hils
a6b3551934
raise ValueError if content-encoding is invalid
2016-07-04 13:58:09 -07:00
Shadab Zafar
d361177753
h2: move header parsing to netlib
2016-07-03 18:03:34 +05:30
Shadab Zafar
f623b3d99b
py3++: test_flow_export
2016-07-02 21:15:20 +05:30
Shadab Zafar
17b727321f
Replace map + lambda with list comprehensions
2016-07-02 21:15:20 +05:30
Shadab Zafar
393c1d74af
fix lint issues
2016-07-02 18:56:22 +05:30
Maximilian Hils
d9f797e7e6
make the linter happy
2016-07-02 02:11:00 -07:00
Maximilian Hils
6032c4f235
message.content -> .raw_content, implement .text
...
This PR improves our handling of HTTP message body encodings:
- The unaltered message body is now accessible as `.raw_content`
- The "content-encoding"-decoded content (i.e. gzip removed) content
is not `.content`, as this is what we want in 99% of the cases.
- `.text` now provides the "content-encoding"-decoded and then
"content-type charset"-decoded message body.
- The decoded values for `.content` and `.text` are cached,
so that repeated access and `x.text = x.text` is cheap.
- The `decoded()` decorator is now deprecated, as we can now just use
`.content`. Similarly `HTTPMessage.get_decoded_content()` is
deprecated.
2016-07-02 01:51:47 -07:00
Maximilian Hils
fa72462798
fix tcp message handling
2016-07-01 17:17:16 -07:00
Maximilian Hils
536c7acd13
py3++
2016-07-01 14:10:48 -07:00
Shadab Zafar
268e42e55e
py3++: test/mitmproxy/test_server
2016-07-01 10:23:04 -07:00
Jason
8f73dc79c0
[web] ui ducks for content view
2016-07-01 23:44:48 +08:00
Maximilian Hils
8366c87c57
update to latest typing
release
2016-06-29 03:03:23 -07:00
Maximilian Hils
025efc030a
Merge pull request #1301 from mitmproxy/simplify-tox
...
Simplify tox
2016-06-29 02:04:38 -07:00
Maximilian Hils
f7d4319c5a
minor fixes
2016-06-28 23:48:19 -07:00
Maximilian Hils
b7430c0775
Merge pull request #1296 from gzzhanghao/test
...
[web] add tests for ducks/utils
2016-06-28 23:16:18 -07:00
Maximilian Hils
a57ea27bd4
watchdog: always use PollingObserver
2016-06-28 22:09:12 -07:00
Maximilian Hils
3b53d3e393
fix mysterious tox issue
2016-06-28 19:26:08 -07:00
Jason
37c2b47c26
[web] add tests for utils
2016-06-27 18:42:20 +08:00
Maximilian Hils
3eb2d04aac
minor fixes
2016-06-26 01:45:45 -07:00
Jason
db415a26bc
[web] log only in dev
2016-06-25 10:50:15 +08:00
Jason
a782571244
[web] build with envify
2016-06-25 10:43:30 +08:00
Jason
59dc5e4687
[web] update build
2016-06-25 10:09:21 +08:00
Jason
e400e9f513
[web] ErrorView
2016-06-25 09:52:49 +08:00
Jason
2b7923b4f4
[web] fix actions
2016-06-25 02:18:52 +08:00
Jason
571c817f21
[web] add msgQueue
2016-06-25 00:36:39 +08:00
Jason
5a1677c387
Merge branch 'master' of github.com:mitmproxy/mitmproxy into list
...
Conflicts:
mitmproxy/web/static/app.js
web/src/js/app.jsx
web/src/js/connection.js
web/src/js/ducks/websocket.js
2016-06-24 21:04:39 +08:00
Maximilian Hils
21c3480429
Merge remote-tracking branch 'jason/websocket'
2016-06-23 23:38:19 -07:00
Jason
f392b8e34c
[web] bug fix
2016-06-24 01:20:42 +08:00
Jason
c40ff0277b
[web] fix bugs
2016-06-24 01:01:34 +08:00
Jason
397554b7c7
[web] update build
2016-06-23 01:30:34 +08:00
Shadab Zafar
d655d8f1f3
py3++: mitmproxy.platform.pf
2016-06-22 13:38:00 +05:30
Shadab Zafar
119021a9c3
py3++: mitmproxy.proxy
2016-06-22 13:37:16 +05:30
Jason
57af1d00dd
[web] set connected to false when DISCONNECTED
2016-06-22 11:29:21 +08:00
Jason
26aed8f56f
[web] updateSettings -> handleWsMsg
2016-06-22 11:24:22 +08:00
Shadab Zafar
0a53550955
mitmproxy.tnetstring -> mitmproxy.contrib.tnetstring
2016-06-21 23:53:59 +05:30
Shadab Zafar
b5d280cab1
Py3: tnetstring
...
Copied the initial code from
[tnetstring3](https://raw.githubusercontent.com/carlopires/tnetstring3/master/tnetstring/__init__.py )
Then made some changes, like using the isdigit function, removing
superfluous ord() etc. to make all our tests pass.
2016-06-21 23:37:28 +05:30
Jason
9a7415a58d
[web] store ws object in symbol property
2016-06-22 00:51:45 +08:00
Jason
0cab9ef1fa
Merge remote-tracking branch 'origin/master' into websocket
...
Conflicts:
mitmproxy/web/static/app.js
web/src/js/components/ProxyApp.jsx
2016-06-22 00:49:21 +08:00
Maximilian Hils
7ef0e37c74
Merge pull request #1273 from Kriechi/fix-default-arg
...
fix default arg
2016-06-20 14:52:16 -07:00
Shadab Zafar
5b95803be0
py3++
2016-06-20 21:57:18 +02:00
Shadab Zafar
efeade134a
py3++
2016-06-20 21:39:39 +02:00
Maximilian Hils
165deb08fd
Merge remote-tracking branch 'jason/settings'
2016-06-19 18:27:12 -07:00
Thomas Kriechbaumer
6ad0e3e66e
fix default arg
2016-06-19 12:05:10 +02:00
Thomas Kriechbaumer
7bde38dc4a
py3++
2016-06-19 12:00:37 +02:00
Jason
d01e49c6d5
[web] replace SetttingsActions.update with settings.updateSettings
2016-06-19 02:53:15 +08:00
Doug Freed
1f915b7f24
mitmproxy/models: missed comma in __all__
...
Spotted by Landscape (thanks @Kriechi for pointing out the site). Add a
comma to the last item too, to prevent this from happening in the future
and reduce messing up blame later.
2016-06-18 14:50:06 -04:00
Jason
9cb5b0af9d
Merge branch 'master' of github.com:mitmproxy/mitmproxy into websocket
...
Conflicts:
mitmproxy/web/static/app.js
web/src/js/components/ProxyApp.jsx
web/src/js/connection.js
2016-06-18 14:18:24 +08:00
Jason
6c0511b06f
[web] add app ducks
2016-06-18 14:11:47 +08:00
Maximilian Hils
ce53799c62
simplify settings reducer
2016-06-17 21:03:19 -07:00
Jason
965b27b529
[web] simplify settings
2016-06-17 22:12:32 +08:00
Jason
c82d27b2a2
Merge branch 'master' into settings
...
Conflicts:
mitmproxy/web/static/app.css
mitmproxy/web/static/app.js
web/src/js/components/ProxyApp.jsx
2016-06-17 21:58:24 +08:00
Jason
e4addd60f1
Merge branch 'master' into websocket
...
Conflicts:
mitmproxy/web/static/app.css
mitmproxy/web/static/app.js
web/src/js/components/ProxyApp.jsx
2016-06-17 21:54:31 +08:00
Jason
034287edcf
[web] clean up
2016-06-17 07:57:06 +08:00
Jason
16a28eca25
[web] websocket
2016-06-17 07:26:29 +08:00
Jason
7a78970d10
[web] common
2016-06-17 07:07:38 +08:00
Jason
6ad2f13341
[web] fix settings ducks
2016-06-17 06:01:29 +08:00
Jason
cedac98b70
[web] promot reduce
2016-06-17 05:08:05 +08:00
Jason
7fb0836bfe
[web] remove store
2016-06-17 05:08:05 +08:00
Jason
99b2b8633d
[web] settings store
2016-06-17 05:08:05 +08:00
Jason
f5c597a9e3
[web] Editor & Prompt
2016-06-17 04:38:35 +08:00
Jason
e5bf1e930a
[web] FlowView and ContentView
2016-06-17 04:37:57 +08:00
Maximilian Hils
c7a891b652
Merge branch 'add_flow_to_options'
2016-06-15 13:40:03 -07:00
Clemens
48e372bf98
rename view -> ui, make code more readable
2016-06-15 08:54:55 +02:00
Clemens
00b4abfe83
add previous state to dispatch function
2016-06-15 00:19:33 +02:00
Clemens
003096b4cc
code review
2016-06-14 22:17:34 +02:00
Clemens
bf75e14573
added flowMenu
2016-06-14 11:20:48 +02:00
Aldo Cortesi
c2b5a13e3f
Don't fail when start() is not defined
2016-06-14 14:39:07 +12:00
Maximilian Hils
804efe9d38
fix contextmanager, remove args argument to start()
2016-06-13 18:08:57 -07:00
Aldo Cortesi
e7b61995ad
A tiny wrapper to make script invocations nicer
2016-06-14 12:34:22 +12:00
Thomas Kriechbaumer
a5aa16e03b
fix #1240
2016-06-12 11:51:49 +02:00
Aldo Cortesi
728d5caa22
Fold mitmproxy.version and pathod.version into netlib.version
2016-06-12 10:29:12 +12:00
Aldo Cortesi
7b86560ded
debug: On SIGUSR2, we dump tracebacks for all threads to screen
2016-06-11 23:07:42 +12:00
Aldo Cortesi
09edbd9492
Improve debugging of thread and other leaks
...
- Add basethread.BaseThread that all threads outside of test suites should use
- Add a signal handler to mitmproxy, mitmdump and mitmweb that dumps resource
information to screen when SIGUSR1 is received.
- Improve thread naming throughout to make thread dumps understandable
2016-06-11 19:52:24 +12:00
Aldo Cortesi
e367b88195
Add a --sysinfo flag to all daemons
...
This dumps all the platform information and mitmproxy version data we'd
normally need to troubleshoot an issue.
2016-06-11 16:40:21 +12:00
Jason
c33df55919
[web] update build
2016-06-09 20:39:51 +08:00
Jason
81a0c45c89
[web] header.js -> Header.js
2016-06-09 20:35:03 +08:00
Jason
6c95635cb8
[web] eventlog.js -> EventLog.jsx
2016-06-09 18:40:59 +08:00
Jason
1baefcdc99
[web] footer.js -> Footer.jsx
2016-06-09 18:13:18 +08:00
Jason
e24bf8d73f
[web] fix shortcut for header fields
2016-06-09 18:03:40 +08:00
Jason
f306cfa8b6
[web] separate flowtable to multiple files
2016-06-09 17:52:30 +08:00
Jason
6407765285
[web] update build
2016-06-09 14:22:23 +08:00
Jason
8e538c7630
[web] fix updateLocation
2016-06-09 14:20:14 +08:00
Aldo Cortesi
c421c41307
Remove odict
...
- Adds default implementations for _kconv and _reduce_values to MultiDict.
Without these, operations fail in really, really non-obvious ways.
- Replace the remaining few instances of ODict
Fixes #1159
2016-06-09 13:28:43 +12:00
Maximilian Hils
90cb84b536
Merge pull request #1220 from mitmproxy/add_sorting_with_redux
...
Add sorting with redux
2016-06-08 13:37:09 -07:00
redfast00
16d32b2ce5
fix after cleanup of netlib.utils in mitmproxy.console.statusbar
2016-06-08 13:07:19 +02:00
Clemens
ad84d650de
sorting add pr review changes
2016-06-08 10:29:33 +02:00
Aldo Cortesi
a5cb241c7c
If a message has been acked, all other processors are skipped
...
This applies the constraint, but does to clumsily. When we've unified modules
and processors it will be much nicer. We also make some exceptions for the
master processors that we may want to re-evaluate down the track.
2016-06-08 12:58:58 +12:00
Aldo Cortesi
b3bf754e53
Simplify script concurrency helpers
...
We now have take() to prevent double-replies.
2016-06-08 11:21:38 +12:00
Aldo Cortesi
a388ddfd78
A new interface for reply
...
Reply is now explicit - it's no longer a callable itself. Instead, we have:
reply.kill() - kill the flow
reply.ack() - ack, but don't send anything
reply.send(message) - send a response
This is part of an incremental move to detach reply from our flow objects,
and unify the script and handler interfaces.
2016-06-08 10:44:20 +12:00
Aldo Cortesi
982077ec31
Add reply.ack and reply.kill
2016-06-08 10:14:34 +12:00
Clemens
dbbda03020
sorting done, ready to review
2016-06-07 11:22:52 +02:00
Clemens
fa3ad2382b
sorting done, ready to review
2016-06-07 11:07:25 +02:00
Clemens
1aac283e23
moved redux state injection closer to child
2016-06-07 11:07:25 +02:00
Clemens
ff2129773f
start with sort, continue tomorrow
2016-06-07 11:07:25 +02:00
Clemens
ac2d8549e5
moved sort state to redux, missing apply sort
2016-06-07 11:07:25 +02:00
Maximilian Hils
ba466dbb35
simplify pretty_json, improve test coverage
2016-06-06 23:08:58 -07:00
Maximilian Hils
71b6e369f8
change content views: escape in raw mode, show utf8 in json
2016-06-06 22:42:11 -07:00
Aldo Cortesi
1ffc273c94
Utils cleanups
...
- Move more stuff that belongs in netlib.human
- Move some stuff to near the only use
- Zap mitmproxy.utils.timestamp(). I see the rationale, but we used it
interchangeably with time.time() throughout the project. Since time.time()
dominates in the codebase and timestamp() is such low utility, away it goes.
2016-06-07 17:12:52 +12:00
Maximilian Hils
38d2e6432c
minor fixes
2016-06-06 19:10:19 -07:00
Aldo Cortesi
e9fb35b817
Fix lint
2016-06-06 15:02:16 +12:00
Maximilian Hils
d878122cf9
web: fix list update propagation
2016-06-05 18:43:17 -07:00
Maximilian Hils
b6ebde3b1d
Merge branch 'such-redux'
2016-06-05 18:23:46 -07:00
Maximilian Hils
e6ef149a03
web: modernize flow table columns
2016-06-05 18:23:06 -07:00
Aldo Cortesi
2b19a33738
Merge pull request #1212 from mitmproxy/such-redux
...
web: completely move flow state to redux
2016-06-06 08:58:50 +12:00
Maximilian Hils
d53a2de0ba
web: completely move flow state to redux
2016-06-04 18:53:41 -07:00
Thomas Kriechbaumer
1c4e1e049c
http2: remove custom PUSH_PROMISE header
2016-06-04 11:20:10 +02:00
Thomas Kriechbaumer
ac70eaed66
http2: improve GoAway handling
2016-06-04 11:20:10 +02:00
Thomas Kriechbaumer
7f4ac6f27b
http2: respect MAX_CONCURRENT_STREAMS by hold-off
2016-06-04 11:20:10 +02:00
Maximilian Hils
e880f532ad
web interleave old store and redux flow state
2016-06-04 00:58:13 -07:00
Maximilian Hils
c0d08be7a6
Merge branch 'master' of https://github.com/mitmproxy/mitmproxy
2016-06-04 00:41:35 -07:00
Maximilian Hils
b02d66491c
web: implement update and remove for list and view
2016-06-04 00:37:10 -07:00
Aldo Cortesi
d5532319c1
Basic ConsoleMaster tests, based on mastertester
2016-06-04 19:07:27 +12:00
Aldo Cortesi
af63a3e064
console/__init__.py -> console/master.py
2016-06-04 16:06:44 +12:00
Aldo Cortesi
f7f9cab5dc
Rebase on master
2016-06-04 14:37:07 +12:00
Maximilian Hils
1b1ea98f08
web: add flows to redux state
2016-06-03 18:53:30 -07:00
Maximilian Hils
1b327f34c3
web: add redux list views
2016-06-03 18:38:25 -07:00
Maximilian Hils
d6fcd7e06d
web: implement redux store fetching
2016-06-03 18:38:25 -07:00
Thomas Kriechbaumer
46d9cdd70a
fix style
2016-06-03 18:57:46 +02:00
Maximilian Hils
e31aa39fc2
Merge branch 'redux-ducks'
2016-06-02 23:45:36 -07:00
Maximilian Hils
65fde7f554
Merge pull request #1190 from mitmproxy/file_menu_save_open
...
File menu save open
2016-06-02 23:42:35 -07:00
Maximilian Hils
5321f15def
web: fix eventlog height registration
2016-06-02 23:41:32 -07:00
Maximilian Hils
7afac747a8
web: reduxify event log store
2016-06-02 23:40:30 -07:00
Maximilian Hils
7c63aa3708
web: reduxify WebSocket
2016-06-02 21:12:59 -07:00
Aldo Cortesi
1ab64da682
Merge pull request #1167 from xntrik/mark_filter
...
implement a toggle for viewing marked flows only in console
2016-06-03 15:05:18 +12:00
Aldo Cortesi
08e4cd2a40
Merge remote-tracking branch 'upstream/master'
2016-06-03 14:55:35 +12:00
Aldo Cortesi
25671b91bd
Fix flow handling for mitmdump
...
Fixes #1188
2016-06-03 14:53:51 +12:00
Maximilian Hils
698d38b28e
web: 🐣
2016-06-02 17:46:18 -07:00
Clemens
5e7fa349a9
final review done, nothing to change -> ready to merge
2016-06-02 21:01:22 +02:00
Maximilian Hils
9c6da08d00
fix dumpfile upload
2016-06-02 11:41:26 -07:00
Maximilian Hils
73e494770f
web: add fetchApi convenience method
2016-06-02 10:34:16 -07:00
Clemens
89fc438e32
change some pr issuses
2016-06-02 10:31:24 -07:00
Clemens
a219d33430
basic file up and download working
2016-06-02 10:30:53 -07:00
Clemens
dfc033ab5f
added basic file up_download functionality (not finish yet)
2016-06-02 10:30:43 -07:00
Maximilian Hils
d84610a41d
web: use object spread operator
...
While the spread operator is not part of ES6, React also uses it for JSX.
It makes sense for us to keep it in other parts of the codebase as well.
2016-06-02 10:24:33 -07:00
Maximilian Hils
7a388560d7
use object spread operator
...
While the spread operator is not part of ES6, React also uses it for JSX.
It makes sense for us to keep it in other parts of the codebase as well.
2016-06-02 09:51:39 -07:00
Maximilian Hils
9e3591e3c2
add basic redux architecture, convert eventlog to redux
2016-06-02 00:04:10 -07:00
Aldo Cortesi
09da1febbd
Shift a bunch more string-related functions to strutils
2016-06-02 13:04:19 +12:00
Aldo Cortesi
cccdc98426
Utils reorganisation: add netlib.strutils
...
Extract a number of string and format-related functions to netlib.strutils.
2016-06-02 12:31:41 +12:00
Aldo Cortesi
eaa3b308f7
Fix non-deterministic test failures in export
...
We had various places in the code where we relied on incidental order of dict
keys. Add a helper to multidict, and fix.
2016-06-02 11:37:18 +12:00
Aldo Cortesi
1a08048a8d
Un-break mitmproxy console
2016-06-01 16:51:17 +12:00
Aldo Cortesi
137ee28bd6
Fix test suite
2016-06-01 15:10:54 +12:00
Aldo Cortesi
d60fdebc47
Fix lint harder
2016-06-01 14:50:06 +12:00
Aldo Cortesi
efbdd8d266
Merge branch 'module-imports' of github.com:mitmproxy/mitmproxy into module-imports
2016-06-01 14:43:24 +12:00
Aldo Cortesi
afcfa783ea
Satisfy lint
2016-06-01 14:43:08 +12:00
Maximilian Hils
1ca45b1e64
fix imports
2016-05-31 19:35:10 -07:00
Maximilian Hils
3aa8d42b05
fix PIL import
2016-05-31 19:25:47 -07:00
Maximilian Hils
0a2e7a97cd
use module-level imports only
2016-05-31 19:06:57 -07:00
Maximilian Hils
30fff1fb32
be more strict about module namespaces
2016-05-31 14:05:57 -07:00
Aldo Cortesi
42e91fcfe1
http2.frame -> http2.framereader
2016-05-31 20:32:28 +12:00
Aldo Cortesi
b2f63458fc
Move human-friendly format functions to netlib.human, remove redundant implementations
2016-05-31 19:32:08 +12:00
Aldo Cortesi
ec34cae618
utils.multipartdecode -> http.multipart.decode
...
also
utils.parse_content_type -> http.headers.parse_content_type
2016-05-31 19:07:55 +12:00
Aldo Cortesi
6dda2b2ee5
Module is part of the name - url.decode, not url.urldecode
...
A pattern we need to use far more often in the codebase
2016-05-31 18:46:19 +12:00
Aldo Cortesi
4e6c9c4e93
Extract url functions from netlib.utils and move to netlib.http.url
2016-05-31 18:42:56 +12:00
Aldo Cortesi
08fbe6f111
Start cleaning up netlib.utils
...
- Remove http2 functions, move to http2.frame
- Remove Serializable, move to netlib.basetypes
2016-05-31 17:16:31 +12:00
Aldo Cortesi
4de4223b2d
Extend pseudo-header treatment to :status on responses
2016-05-31 15:12:20 +12:00
Aldo Cortesi
9ea68ebd28
Improve handling of pseudo-headers
...
- The canonical source for :method, :scheme and :path are the .method, .scheme
and .path attributes on the request object.
- These pseudo-headers are stripped after reading the request, and re-inserted
just before sending.
- The :authority header remains, and should be handled analagously to the Host
header in HTTP1 with respect to display and user interaction.
2016-05-31 14:36:17 +12:00
Maximilian Hils
e3d7224e5d
tell flake8 that type-annotation imports are okay
2016-05-30 02:53:58 -07:00
Maximilian Hils
89f07603ca
split mitmproxy.flow into mitmproxy.flow.*
2016-05-30 01:40:09 -07:00
Clemens Brunner
6652e3a369
start of developing server side for options ( #1155 )
...
* added UI for options menu
* update UI for options menu
* update UI for options v2
* update UI for options v2
* added new btn class
* little changes
* little changes
* merge
* deleted branch
* change menu button class
* added option route + added very incomplete handler class
* moved options to settings
* added toggleinputbutton
* changed options menu
* added option for stream large bodies, but no working
* added option for stream large bodies, but no working
2016-05-29 23:34:30 -07:00
Aldo Cortesi
e8290a0eb4
Satisfy flake8
2016-05-30 12:41:44 +12:00
Maximilian Hils
2e633af5aa
handle_* -> * leftovers
2016-05-29 13:01:45 -07:00
Thomas Kriechbaumer
748cbaa074
cleanup
2016-05-29 20:09:53 +02:00
Thomas Kriechbaumer
a0e4bba7aa
more style cleanup
2016-05-29 15:13:08 +02:00
Thomas Kriechbaumer
e2447406cc
more style cleanup
2016-05-29 13:43:20 +02:00
Thomas Kriechbaumer
8eeab37a07
more style cleanup
...
Use this to check:
flake8 --count mitmproxy netlib pathod examples test
2016-05-29 11:55:12 +02:00
Maximilian Hils
4544e0f337
fix docs typo
2016-05-29 02:00:30 -07:00
Aldo Cortesi
6c8ad6d894
controller.ControlError -> exceptions.ControlException
2016-05-29 20:22:30 +12:00
Aldo Cortesi
8638000cfa
Add some comments to controller wrapper.
2016-05-29 20:17:35 +12:00
Aldo Cortesi
0176f50e4f
Adapt examples
2016-05-29 12:54:52 +12:00
Aldo Cortesi
0a875421c5
handle_* -> *
...
Now that we have the controller.handler decorator, the _handler prefix
stutters.
2016-05-29 12:49:01 +12:00
Aldo Cortesi
8bb9285678
Explicitly list all events
2016-05-29 12:15:52 +12:00
Aldo Cortesi
e4f043f69c
Flatten ServerMaster into Master
2016-05-29 12:01:46 +12:00
Aldo Cortesi
ed415877d4
Merge branch 'master' into solidcore
2016-05-29 11:14:46 +12:00
Thomas Kriechbaumer
7971dce223
mitmproxy: fix most flake8 offenses
2016-05-28 22:45:15 +02:00
Thomas Kriechbaumer
caee1adeb6
cleanup imports with flake8
2016-05-28 14:43:32 +02:00
Aldo Cortesi
0042653498
Be stricter about the handler call signature
...
Uses this to catch an error in mitmweb
2016-05-28 13:21:07 +12:00
Aldo Cortesi
804e04ef43
Zap stray debugging call
2016-05-28 12:47:26 +12:00
Aldo Cortesi
f4813d5649
Make @controller.handler inheritance-friendly
...
Use this to adapt mitmweb and mitproxy console
2016-05-28 12:38:07 +12:00
Aldo Cortesi
f29f6210bb
Mandate that all handlers must be wrapped, make tests pass
...
mitmproxy, mitmdump and mitmweb masters still to be done
2016-05-28 11:00:00 +12:00
Aldo Cortesi
7c4843857b
Sketch out a more solid core
...
- Decorator for handler methods
- Stricter checking for double-acks and non-acks
2016-05-28 11:00:00 +12:00
Christian Frichot
dbc3e72723
implement a toggle for viewing marked flows only in console
2016-05-24 07:14:05 -07:00
Thomas Kriechbaumer
ebaad91484
Merge pull request #1127 from mitmproxy/tcp-flows
...
mitmdump: Add Basic Support for TCP Flows
2016-05-23 20:54:14 +02:00
Maximilian Hils
354b8f84df
minor fixes ( #1165 )
2016-05-23 11:47:16 -07:00
Maximilian Hils
c160a47e51
warn users if rfile == outfile, refs #1117
2016-05-21 15:25:57 -07:00
Thomas Kriechbaumer
e6c2e012a5
fix weight value serialization
2016-05-21 21:45:36 +02:00
Maximilian Hils
ed4c99b33a
Merge pull request #1164 from Kriechi/improve-http2
...
Improve http2
2016-05-21 11:49:53 -07:00
Thomas Kriechbaumer
85a3a92a8a
kill streams if connection gets terminated
2016-05-21 20:24:21 +02:00
Thomas Kriechbaumer
6965c93be6
implement transparent Priority updates
2016-05-21 20:17:59 +02:00
Thomas Kriechbaumer
f7ce8e219e
fix typo
2016-05-21 18:35:29 +02:00
Thomas Kriechbaumer
0cb2e656cd
immediately send push to client
2016-05-21 17:42:47 +02:00
Maximilian Hils
dcad3f72af
Merge branch 'issue-1099'
2016-05-20 20:02:56 -07:00
Aldo Cortesi
97f3077082
Merge branch 'mhils-multidict'
2016-05-21 15:01:19 +12:00
Aldo Cortesi
14fb2eeb1e
Merge pull request #1109 from mitmproxy/faster-tls
...
Speed up TLS handshake if SNI is present
2016-05-21 12:15:30 +12:00
Aldo Cortesi
123e3b130c
We don't need 3 slightly different implementations of Data
2016-05-21 11:53:14 +12:00
Aldo Cortesi
96d8ec1ee3
Merge branch 'multidict' of https://github.com/mhils/mitmproxy into mhils-multidict
2016-05-21 10:15:37 +12:00
Maximilian Hils
eb914924ab
fix #1099
2016-05-20 13:59:42 -07:00
Maximilian Hils
f96697646c
add FlowMaster.active_flows
2016-05-19 22:09:00 -07:00
Maximilian Hils
d3c30d9005
fix tests, don't double-add error'd flows
2016-05-19 22:07:56 -07:00
Maximilian Hils
acd51befbb
minor fixes, adjust tests
2016-05-19 22:07:56 -07:00
Maximilian Hils
43c5205424
mimtdump: add basic support for tcp flows
2016-05-19 22:07:56 -07:00
Maximilian Hils
395b11d288
minor improvements
2016-05-19 22:07:30 -07:00
Maximilian Hils
f4c3c01266
display response reason in ui
2016-05-18 22:51:13 -07:00
Maximilian Hils
6f8db2d7eb
improve MultiDict, add ImmutableMultiDict, adjust response.cookies
2016-05-18 22:50:19 -07:00
Maximilian Hils
44ac64aa72
add MultiDict
...
This commit introduces MultiDict, a multi-dictionary similar to
ODict, but with improved semantics (as in the Headers class).
MultiDict fixes a few issues that were present in the Request/Response
API. In particular, `request.cookies["foo"] = "bar"` has previously been a
no-op, as the cookies property returned a mutable _copy_ of the cookies.
2016-05-18 18:46:42 -07:00
Thomas Kriechbaumer
eeccb2faa0
http2: cleanup
2016-05-17 22:44:38 -07:00
Thomas Kriechbaumer
43ab9f7bd0
http2: properly handle connection errors
2016-05-17 21:26:06 -07:00
Yoginski
b155dfd771
Updated the docstring ( #1150 )
2016-05-17 11:15:18 -07:00
Kostya Esmukov
7fdc0a94db
Fixed HTTP2 headers being folded. ( #1143 ) ( #1144 )
2016-05-14 04:59:21 -07:00
Clemens Brunner
902cd255d4
added UI for options menu ( #1130 )
...
* added UI for options menu
* update UI for options menu
* update UI for options v2
* update UI for options v2
* added new btn class
* little changes
* little changes
* merge
* deleted branch
* change menu button class
2016-05-14 05:40:11 -06:00
Jonathan Jones
551fafd451
showing url for terminals that support clickable links when starting mitmweb ( #1141 )
2016-05-14 05:39:17 -06:00
Maximilian Hils
f1c922c652
Sanitize Print ( #1135 )
...
* sanitize strings with shell control characters
* netlib: add utilities to safe-print bytes
* escaped str: add TODO for multi-byte chars
2016-05-12 11:03:57 -06:00
Thomas Kriechbaumer
7a813936c6
disable http2 header encoding, use bytes everywhere
2016-05-11 16:47:58 -05:00
Thomas Kriechbaumer
bbf7b6f690
Merge pull request #1134 from mhils/fix-versions
...
Fix `version.NAME`
2016-05-11 13:27:58 -05:00
Maximilian Hils
acab4fea5a
fix version.NAME
2016-05-11 13:02:19 -06:00
Thomas Kriechbaumer
bef72c1b02
Merge pull request #1121 from Kriechi/fix-cookies
...
improve cookie parsing
2016-05-11 12:30:44 -05:00
Thomas Kriechbaumer
e2ee48a0ee
replace SimpleCookie with our own parser lib
2016-05-11 12:20:21 -05:00
Maximilian Hils
67a37e6d1f
improve script loading
2016-05-11 11:15:36 -06:00
Maximilian Hils
bb4f9611f5
Revert "fix tests"
...
This reverts commit f315dc1eb9
.
2016-05-10 12:18:05 -06:00
Maximilian Hils
f315dc1eb9
fix tests
2016-05-10 12:17:25 -06:00
Thomas Kriechbaumer
08002282e8
improve cookie parsing
...
allows '/' to be within a cookie name
removes deprecated cookie getter/setter
fixes #1118
2016-05-10 11:13:12 -05:00
Thomas Kriechbaumer
73a5d479bb
cleanup h2 layer
2016-05-10 10:57:25 -05:00
Maximilian Hils
01f52ee56a
fix mitmdump shutdown
2016-05-08 16:54:30 -06:00
Maximilian Hils
3c644274e9
mitmdump: make sure to always call done() in inline scripts
2016-05-08 16:49:36 -06:00
Maximilian Hils
9ac9df82c4
actually fix #1115
2016-05-06 12:48:44 -07:00
Maximilian Hils
99178c57db
issue-1115
2016-05-06 12:39:00 -07:00
Maximilian Hils
ff53e7a6eb
scripts: allow package imports
2016-05-03 19:54:16 -07:00
Maximilian Hils
7e633d8a8a
fix ClientHello.__repr__
2016-05-02 19:05:14 -07:00
Maximilian Hils
a91d8d9d26
improve server tls handshake behaviour
2016-05-02 18:53:08 -07:00
Maximilian Hils
67537ee614
simplify ClientHello handling
2016-05-02 18:18:20 -07:00
Maximilian Hils
626f7e1017
improve tls handling, separate set_server
and set_server_tls
2016-05-02 18:18:20 -07:00
Maximilian Hils
7f894c131b
speed up TLS handshake if SNI is present
2016-05-02 18:18:20 -07:00
Maximilian Hils
b5e5917f7f
web: update dependencies
2016-05-02 14:33:43 -07:00
Thomas Kriechbaumer
f456591db0
Merge pull request #1102 from mitmproxy/stateobject-list
...
Add support for stateobject lists
2016-04-30 12:05:57 +02:00
Steven Noble
96512dd848
Include correct documentation URL in error message
2016-04-30 00:45:07 -07:00
Maximilian Hils
74cfd7a4e2
stateobject: support lists
2016-04-29 20:59:26 -07:00
Maximilian Hils
cb1119f3ee
fix bugs introduced in 317b4be
2016-04-29 20:58:51 -07:00
Maximilian Hils
30bafea41a
tcp protocol: stop on server shutdown
2016-04-29 20:33:07 -07:00
Maximilian Hils
317b4becca
mitmdump: don't fail for other flowtypes
2016-04-29 20:18:32 -07:00
Maximilian Hils
60bbc250d4
mitmdump: fix shutdown after reading flow file
2016-04-29 20:17:18 -07:00
Maximilian Hils
4c331e2d01
fix bug introduced in 909d5ec
2016-04-29 12:36:07 -07:00
Maximilian Hils
54c4859a95
remove netlib version check
2016-04-29 12:00:38 -07:00
Maximilian Hils
909d5ec87e
FlowReadError -> FlowReadException
2016-04-29 11:17:49 -07:00
Maximilian Hils
c7a85d1b9e
fix #1089
2016-04-28 17:51:53 -07:00
Zohar Lorberbaum
acaca765e4
Generate better function names for root url. ( #1100 )
2016-04-28 15:09:42 -07:00
Steven Van Acker
66267ad276
support for setting/sending multiple cookies ( #1091 )
...
* support for setting/sending multiple cookies
* py.test for multiple cookie support
2016-04-22 11:16:05 -07:00
Maximilian Hils
9f92855c99
update reverse proxy documentation, fix #1092
2016-04-21 17:56:18 -07:00
Maximilian Hils
49d1bcc8a2
fix CONNECT display in upstream mode
2016-04-20 15:27:39 -07:00
Maximilian Hils
c17ccead6d
mitmdump: allow stdin as infile
2016-04-18 16:04:37 -07:00
Maximilian Hils
02ba76ea09
fix proxy authorization bug, refs #988
2016-04-17 15:44:37 -07:00
Maximilian Hils
423c076c61
cleanup mitmproxy.controller, raise Kill in Channel ( #1085 )
2016-04-14 12:03:29 -07:00
Maximilian Hils
bc60c26c7b
py3++
2016-04-13 22:34:28 -07:00
Maximilian Hils
1ab51a1d3d
fix #1082
2016-04-13 20:32:05 -07:00
Maximilian Hils
a3f8a7c72c
minor improvements
2016-04-13 20:30:34 -07:00
Maximilian Hils
70e35b7017
peer_address -> ip_address
2016-04-11 14:14:18 -07:00
Maximilian Hils
14e9b0a0ac
docs: better data structure docs
2016-04-11 14:13:48 -07:00
Maximilian Hils
c22b14fae7
bump version
2016-04-09 20:01:24 -07:00
Maximilian Hils
dcdee7dc46
server replay: keep --kill active
2016-04-09 16:47:05 -07:00
Maximilian Hils
4d16bb8cb6
Merge branch 'master' of https://github.com/mitmproxy/mitmproxy
2016-04-09 14:35:37 -07:00
Maximilian Hils
5c333ee3ba
fix client playback logic
2016-04-09 14:35:30 -07:00
Anthony Zhang
4306304827
Fix being unable to export binary data in requests ( #1069 )
2016-04-09 14:21:14 -07:00
Maximilian Hils
5c8e7a090e
fix server replay shutdown
2016-04-09 14:20:08 -07:00
Maximilian Hils
0259f47997
Merge branch 'better-replace'
2016-04-03 08:17:30 -07:00
Thomas Kriechbaumer
b39560aaae
Merge pull request #1076 from mitmproxy/issue-1061
...
Fix #1061
2016-04-03 10:19:44 +02:00
Thomas Kriechbaumer
f5fe93bf13
Merge pull request #1074 from mitmproxy/move-response-refresh
...
move HTTPResponse.refresh into netlib
2016-04-03 10:16:39 +02:00
Thomas Kriechbaumer
16fdbb4f2f
Merge pull request #1073 from mitmproxy/first-line-format
...
form_(in|out) -> first_line_format
2016-04-03 10:16:06 +02:00
Maximilian Hils
35a6d6e7f6
response.msg -> response.reason
2016-04-02 22:54:46 +02:00
Maximilian Hils
4e2acc4d9d
move HTTPResponse.refresh into netlib
2016-04-02 22:49:05 +02:00
Maximilian Hils
a267934d99
minor simplifications
2016-04-02 22:00:14 +02:00
Maximilian Hils
e6fa2688c9
form_(in|out) -> first_line_format
2016-04-02 21:57:35 +02:00
Maximilian Hils
050431fdd6
improve timing display
2016-04-02 21:33:51 +02:00
Maximilian Hils
610842cda5
fix FlowMaster.create_request, add test
2016-04-02 21:15:55 +02:00
Maximilian Hils
d6e58bd16c
fix #1052
2016-04-02 21:07:55 +02:00
Maximilian Hils
3a1486183c
fix #1061
2016-04-02 21:03:36 +02:00
Maximilian Hils
76b930ff70
Merge branch 'master' of https://github.com/mitmproxy/mitmproxy
2016-04-02 14:39:14 +02:00
Maximilian Hils
806aa0f41c
improve .replace() and move it into netlib
2016-04-02 14:38:33 +02:00
Maximilian Hils
4ee8808b44
add Serializeable.copy
2016-04-02 13:50:53 +02:00
Will Coster
55bffe1782
Fix XSS vulnerability in HTTP errors
...
The make_error_response method does not properly escape characters
that end up in the response body. Since the error code can contain
user supplied values this leads to a potential XSS vulnerability.
Example:
echo '<script>alert(1)</script>' | nc localhost 8888
2016-03-31 10:22:29 -07:00
Zohar Lorberbaum
6d16f44ab7
Merge with master
2016-03-28 10:03:26 -07:00
Zohar Lorberbaum
e56198ae7c
cleaner target url
2016-03-28 09:51:06 -07:00
Zohar Lorberbaum
ef3d24e8c8
locust_task re-use locust_code.
2016-03-27 21:42:52 -07:00
Zohar Lorberbaum
9f77c80a32
pep8
2016-03-25 17:29:42 -07:00
Zohar Lorberbaum
5b07e8b3af
Add UI shortcuts.
2016-03-24 20:29:53 -07:00
Zohar Lorberbaum
a44062effb
Flow export to locust.io load test tool.
2016-03-23 01:49:18 -07:00
Maximilian Hils
2d6eb28fd0
py3++
2016-03-20 23:39:57 +01:00
Maximilian Hils
e739517070
py3++
2016-03-20 23:14:22 +01:00
Maximilian Hils
726536689b
py3++
2016-03-20 22:58:35 +01:00
Maximilian Hils
2ce023a991
py3++
2016-03-20 22:50:03 +01:00
Maximilian Hils
6f902ffbb3
py3++: iteritems
2016-03-20 19:56:22 +01:00
Maximilian Hils
b0a16dee20
fix script exception display
2016-03-19 20:27:03 +01:00
Maximilian Hils
c52c59f858
port mitmproxy.scripts to py3
2016-03-19 19:53:27 +01:00
Maximilian Hils
7e49b8c186
add tests for mitmproxy.script.reloader
2016-03-19 03:04:55 +01:00
Maximilian Hils
898f5d10b9
improve mitmproxy.scripts semantics, clean up tests
2016-03-19 03:04:55 +01:00