+------------+ +--------------+
| local app | <=======> | proxy client | <#######
+------------+ +--------------+ #
#
#
# encrypted data(ssl)
#
#
+-------------+ +--------------+ #
| target host | <=======> | proxy server | <#####
+-------------+ +--------------+
-
proxy clientis running at your local computer.It receive your app (like a browser) request, encrypt the data, send to
proxy server -
proxy serverreceive the request fromproxy client, decrypt it, and sent to the target host. -
proxy servergot the response from target host, then encrypt response, send back toproxy client. -
proxy clientdecrypt response received fromproxy server, and send to local app. -
the circle done.
-
cp config.ini.example config.ini,openssl genrsa -out privkey.pem 2048openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095- server. Server ip
- server_port. Default 7070
- local. Client ip, default 127.0.0.1
- local_port. Defalut 1080
- certfile. Default cacert.pem
- keyfile. Defalut privkey.pem
-
python server.py
-
use same of server config file
-
python client.py -
Done
Now, you can set your apps (e.g. Browser) Using socks5 proxy.
IP = 127.0.0.1
PORT = 1080 (if not changed in the config.cfg)
- Use SSL encrypt the data