| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Tackling the pretty-printing performance problem head-on, at the cost of a
major dependency.
|
|
|
|
| |
Use this to fix the hex display option.
|
| |
|
|
|
|
|
| |
- Remove unused code during previous commit.
- Code coverage fixes.
|
|
|
|
|
|
| |
Commits 533f61f67aab38f5bce882ad0dc03b7b5f292956 and
8b841bc9e370370716b473f26e001c65e2eee2af left some imports unused while
swithing to PyOpenSSL and PyASN1 -- this commit removes these imports.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This initiates a connection to the server to obtain certificate information to
generate interception certificates. At the moment, the information used is the
Common Name, and the list of Subject Alternative Names.
|
| |
|
| |
|
|
|
|
|
|
| |
- Extract proxy spec parsing and unparsing functions.
- Add a status indicator in mitmproxy.
- Add the "R" keybinding for changing the reverse proxy from within mitmproxy.
|
|
|
|
|
|
|
| |
- Retain the specification from the Host header as a Request's description.
- Expand upstream proxy specifications to include the scheme. We now say https://hostname:port
- Move the "R" revert keybinding to "v" to make room for a reverse proxy
binding that matches the command-line flag.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
That's Request, Response, ClientConnect, ClientDisconnect, Error, and Headers.
|
| |
|
|
|
|
|
| |
Cut out unused variables and code, generally shut up pychecker as much as is
reasonable.
|
|
|
|
|
|
|
|
|
|
| |
This is a common task in pentesting scenarios. This commit adds the following
functions:
utils.Headers.replace
proxy.Request.replace
proxy.Response.replace
flow.Flow.replace
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Also rename the display modes ("pretty" instead of "indent"), and expand the
built-in documentation.
|
|
|
|
|
|
|
|
|
|
| |
Two different strategies here:
- Use a simple heuristic to detect if we're looking at XML data when indent
mode is used. On non-XML data we can hang even on small documents.
- Only view partial data for large bodies. At the moment the cutoff is
100k. I might finetune this later.
|
|
|
|
|
|
|
|
|
|
|
|
| |
- The OpenSSL x509 has no way to explicitly set the notBefore value on
certificates.
- If two systems have the same configured time, it's possible to return a
certificate before the validity start time has arrived.
- We "solve" this by waiting for one second when a certificate is first
generated before returning the cert. The alternative is to rewrite pretty much
all of our certificate generation, a thought too horrible to contemplate.
|
|
|
|
|
|
|
|
|
|
|
| |
We now create three different files in the .mitmproxy directory when a dummy CA
is made:
mitmproxy-ca.pem - the CA, including private key
mitmproxy-ca-cert.p12 - A pkcs12 version of the certificate, for distribution to Windows.
mitmproxy-ca-cert.pem - A PEM version of the certificate, for distribution to everyone else.
|
|
|
|
|
|
|
|
| |
- Computing the view of a large body is expensive, so we introduce an LRU cache
to hold the latest 20 results.
- Use ListView more correctly, passing it individual urwid.Text snippets,
rather than a single large one. This hugely improves render time.
|
|
|
|
|
|
| |
Format is:
(tm_year,tm_mon,tm_mday,tm_hour,tm_min, tm_sec,tm_wday,tm_yday,tm_isdst)
|
|
|
|
| |
95% test coverage.
|
|
|
|
|
|
|
|
| |
- Move option parsing utiliities to proxy.py
- Don't have a global config object. Pass it as an argument to ProxyServer.
- Simplify certificate generation logic.
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Use templates for config files. We can re-introduce customization of the
certificate attributes when we need them.
- Split CA and cert generation into separate functions.
- Generation methods provide an error return when generation fails.
- When the user explicitly specifies a certificate, we don't generate it, but
fail if it doesn't exist.
|
| |
|
| |
|
|
|
|
|
| |
For now, these are only displayed on the connection view screen, with second
granularity.
|
|
|
|
|
| |
- Make flow view state persistent (request/response, body view mode).
- Don't exit flow view mode when viewing help.
|
| |
|
|
|
|
|
|
| |
Also, since BeautifulSoup is so damn slow, print a statusbar message saying
that we're calculating a pretty version of the response. Maybe I should add
hangman or something, becuase on a 200k document this can take ages.
|
| |
|
| |
|
|
|