mirror of
https://github.com/internetarchive/warcprox.git
synced 2025-01-18 13:22:09 +01:00
Update README.md
This commit is contained in:
parent
a0e7b11954
commit
14443805f1
26
README.md
26
README.md
@ -1,11 +1,9 @@
|
|||||||
pymiproxy - Python Micro Interceptor Proxy
|
#pymiproxy - Python Micro Interceptor Proxy
|
||||||
==========================================
|
|
||||||
|
|
||||||
A small and sweet man-in-the-middle proxy capable of doing HTTP and HTTP over SSL.
|
A small and sweet man-in-the-middle proxy capable of doing HTTP and HTTP over SSL.
|
||||||
|
|
||||||
|
|
||||||
Introduction
|
##Introduction
|
||||||
------------
|
|
||||||
|
|
||||||
pymiproxy is a small, lightweight, man-in-the-middle proxy capable of performing HTTP and HTTPS (or SSL) inspection. The
|
pymiproxy is a small, lightweight, man-in-the-middle proxy capable of performing HTTP and HTTPS (or SSL) inspection. The
|
||||||
proxy provides a built-in certificate authority that is capable of generating certificates for SSL-based destinations.
|
proxy provides a built-in certificate authority that is capable of generating certificates for SSL-based destinations.
|
||||||
@ -13,7 +11,7 @@ Pymiproxy is also extensible and provides two methods for extending the proxy: m
|
|||||||
interface. It is ideal for situations where you're in dire need of a cool proxy to tamper with out- and/or in-bound HTTP
|
interface. It is ideal for situations where you're in dire need of a cool proxy to tamper with out- and/or in-bound HTTP
|
||||||
data.
|
data.
|
||||||
|
|
||||||
Installation Requirements
|
##Installation Requirements
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
The following modules are required:
|
The following modules are required:
|
||||||
@ -21,8 +19,7 @@ The following modules are required:
|
|||||||
- pyOpenSSL
|
- pyOpenSSL
|
||||||
|
|
||||||
|
|
||||||
Installation
|
##Installation
|
||||||
------------
|
|
||||||
|
|
||||||
Just run the following command at the command prompt:
|
Just run the following command at the command prompt:
|
||||||
|
|
||||||
@ -30,8 +27,7 @@ Just run the following command at the command prompt:
|
|||||||
$ sudo python setup.py install
|
$ sudo python setup.py install
|
||||||
```
|
```
|
||||||
|
|
||||||
Usage
|
##Usage
|
||||||
-----
|
|
||||||
|
|
||||||
The module offers a few examples in the code. In brief, pymiproxy can be run right-away by issuing the following command
|
The module offers a few examples in the code. In brief, pymiproxy can be run right-away by issuing the following command
|
||||||
at the the command-prompt:
|
at the the command-prompt:
|
||||||
@ -44,8 +40,7 @@ This will invoke pymiproxy with the ```DebugInterceptor``` plugin which simply o
|
|||||||
and response. The proxy runs on port 8080 and listens on all addresses. Go ahead and give it a try.
|
and response. The proxy runs on port 8080 and listens on all addresses. Go ahead and give it a try.
|
||||||
|
|
||||||
|
|
||||||
Extending or Implementing pymiproxy
|
##Extending or Implementing pymiproxy
|
||||||
-----------------------------------
|
|
||||||
|
|
||||||
There are two ways of extending the proxy:
|
There are two ways of extending the proxy:
|
||||||
|
|
||||||
@ -57,8 +52,7 @@ There are two ways of extending the proxy:
|
|||||||
The decision on which method you choose to use is entirely dependant on whether or not you wish to push the data being
|
The decision on which method you choose to use is entirely dependant on whether or not you wish to push the data being
|
||||||
intercepted through a set of interceptors or not.
|
intercepted through a set of interceptors or not.
|
||||||
|
|
||||||
Interceptor Plugins
|
###Interceptor Plugins
|
||||||
-------------------
|
|
||||||
|
|
||||||
There are currently two types of interceptor plugins:
|
There are currently two types of interceptor plugins:
|
||||||
|
|
||||||
@ -108,8 +102,7 @@ if __name__ == '__main__':
|
|||||||
proxy.server_close()
|
proxy.server_close()
|
||||||
```
|
```
|
||||||
|
|
||||||
Method Overloading
|
###Method Overloading
|
||||||
------------------
|
|
||||||
|
|
||||||
The alternate approach to extending the proxy functionality is to subclass the ProxyHandler class and overload the
|
The alternate approach to extending the proxy functionality is to subclass the ProxyHandler class and overload the
|
||||||
```mitm_request``` and ```mitm_response``` methods. The following is a quick example:
|
```mitm_request``` and ```mitm_response``` methods. The following is a quick example:
|
||||||
@ -143,8 +136,7 @@ if __name__ == '__main__':
|
|||||||
Note: In both cases, the methods that process the data need to return the data back to the proxy handler. Otherwise,
|
Note: In both cases, the methods that process the data need to return the data back to the proxy handler. Otherwise,
|
||||||
you'll get an exception.
|
you'll get an exception.
|
||||||
|
|
||||||
Kudos
|
##Kudos
|
||||||
-----
|
|
||||||
|
|
||||||
Thanks to the great documentation at python.org, GnuCitizen's PDP for the ideas, the pyOpenSSL group for making a great
|
Thanks to the great documentation at python.org, GnuCitizen's PDP for the ideas, the pyOpenSSL group for making a great
|
||||||
OpenSSL API.
|
OpenSSL API.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user