Post Reply 
ProxHTTPSProxy, a Proxomitron SSL Helper Program
May. 19, 2010, 06:56 AM (This post was last modified: Dec. 28, 2014 09:11 AM by whenever.)
Post: #1
ProxHTTPSProxy, a Proxomitron SSL Helper Program
ProxHTTPSProxy is not being developed any more. It's replaced by ProxHTTPSProxyMII.

One of the purposes I decided to learn Python Programming Language is to write a proxy which can do https interception to solve Proxomitron's SSL issue, so here comes the ProxHTTPSProxy, a Proxomitron SSL Helper Program. Wink

How does it work?

- for every https request, it returns a "307 Moved Temporarily" response with a "Location" header pointing to the http version of the request. The purpose is to switch the browser from https mode to http mode.

- for every http request, it fetches the content through https protocol and feeds the decrypted content to the browser. The communication between ProxHTTPSProxy and the remote server is https while the communication between ProxHTTPSProxy and the browser is still http so Proxomitron gets a chance to filter the content.

How to install?

- install Python 2.x branch from http://www.python.org/download/
- install OpenSSL from http://www.slproweb.com/products/Win32OpenSSL.html
- copy Proxomitron's proxcert.pem into ProxHTTPSProxy.py directory or simply throw ProxHTTPSProxy.py into Proxomitron directory
- execute ProxHTTPSProxy.py

ProxHTTPSProxy is designed originally to work as a parent proxy for Proxomitron but now it can be used as a general purpose proxy server too. It supports http and socks5 parent proxy and is able to display outgoing and incoming headers. See config.py for available options.

How to work with Proxomitron?

For https pages you want to filter, simply tell Proxomitron to use ProxHTTPSProxy as the parent proxy. Remember to forward both http and https urls, so ProxHTTPSProxy can issue a 307 redirect for https and fetch https content for http.

This is how it look like in sidki's Exceptions-U.ptxt:

- If you want to filter all https, set your browser's https proxy to ProxHTTPSProxy
Code:
# ProxHTTPSProxy
[^/]++:443&$URL(http://*) $SET(0=i_proxy:3.) $SETPROXY(127.0.0.1:8081)

- If you want to filter specific https
Code:
# ProxHTTPSProxy
# Add specific URLs like below
ssl.scroogle.org:         $SET(0=i_proxy:3.) $SETPROXY(127.0.0.1:8081)

Since Proxomitron is not needed to do https interception any more, you can optionally uncheck the https setting in Proxomitron's config settings.

Exe build: http://proxfilter.net/ProxHTTPSProxy.zip

Any feedbacks is welcome. Cool

Warning: Currently ProxHTTPSProxy is not doing any kind of certificate check, use it as your own risk!


Attached File(s)
.zip  ProxHTTPSProxy 0.1b.zip (Size: 1.36 KB / Downloads: 2062)
.zip  ProxHTTPSProxy 0.4b.zip (Size: 11.02 KB / Downloads: 3022)
Add Thank You Quote this message in a reply
[-] The following 1 user says Thank You to whenever for this post:
Gravemind
Post Reply 


Messages In This Thread
ProxHTTPSProxy, a Proxomitron SSL Helper Program - whenever - May. 19, 2010 06:56 AM

Forum Jump: