From 8a701c450ee10357a285b9c8283d21ba17a33802 Mon Sep 17 00:00:00 2001 From: Jose Manuel Delicado Date: Mon, 16 Jan 2017 11:13:51 +0100 Subject: [PATCH] Added support for socks4 and socks5 proxies. New Python packages must be installed, see readme for more information --- README.md | 4 +++- src/fixes/fix_requests.py | 12 ++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 119fdc8b..90862ee3 100644 --- a/README.md +++ b/README.md @@ -68,10 +68,12 @@ setuptools installs a script, called easy_install. You can find it in the python * markdown * winpaths * microsofttranslator +* PySocks +* win_inet_pton easy_install will automatically get the additional libraries that these packages need to work properly. Run the following command to quickly install and upgrade all packages and their dependencies: -easy_install -Z --upgrade six configobj goslate markdown future suds requests oauthlib requests-oauthlib requests-toolbelt pypubsub==3.3.0 pygeocoder arrow==0.6 python-dateutil futures microsofttranslator winpaths +easy_install -Z --upgrade six configobj goslate markdown future suds requests oauthlib requests-oauthlib requests-toolbelt pypubsub==3.3.0 pygeocoder arrow==0.6 python-dateutil futures microsofttranslator winpaths PySocks win_inet_pton #### Other dependencies diff --git a/src/fixes/fix_requests.py b/src/fixes/fix_requests.py index 45f102e7..0defb66a 100644 --- a/src/fixes/fix_requests.py +++ b/src/fixes/fix_requests.py @@ -17,7 +17,15 @@ def patched_session_init(self): orig_session_init(self) if config.app["proxy"]["server"] != "" and config.app["proxy"]["port"] != "": self.proxies={"http":"http://{0}:{1}/".format(config.app["proxy"]["server"], config.app["proxy"]["port"]), - "https": "https://{0}:{1}/".format(config.app["proxy"]["server"], config.app["proxy"]["port"])} + "https": "https://{0}:{1}/".format(config.app["proxy"]["server"], config.app["proxy"]["port"]), + "http": "socks5://{0}:{1}/".format(config.app["proxy"]["server"], config.app["proxy"]["port"]), + "https": "socks5://{0}:{1}/".format(config.app["proxy"]["server"], config.app["proxy"]["port"]) + "http": "socks4://{0}:{1}/".format(config.app["proxy"]["server"], config.app["proxy"]["port"]), + "https": "socks4://{0}:{1}/".format(config.app["proxy"]["server"], config.app["proxy"]["port"])} if config.app["proxy"]["user"] != "" and config.app["proxy"]["password"] != "": self.proxies={"http": "http://{0}:{1}@{2}:{3}/".format(config.app["proxy"]["user"], config.app["proxy"]["password"], config.app["proxy"]["server"], config.app["proxy"]["port"]), - "https": "https://{0}:{1}@{2}:{3}/".format(config.app["proxy"]["user"], config.app["proxy"]["password"], config.app["proxy"]["server"], config.app["proxy"]["port"])} + "https": "https://{0}:{1}@{2}:{3}/".format(config.app["proxy"]["user"], config.app["proxy"]["password"], config.app["proxy"]["server"], config.app["proxy"]["port"]) + "http": "socks5://{0}:{1}@{2}:{3}/".format(config.app["proxy"]["user"], config.app["proxy"]["password"], config.app["proxy"]["server"], config.app["proxy"]["port"]), + "https": "socks5://{0}:{1}@{2}:{3}/".format(config.app["proxy"]["user"], config.app["proxy"]["password"], config.app["proxy"]["server"], config.app["proxy"]["port"]), + "http": "socks4://{0}:{1}@{2}:{3}/".format(config.app["proxy"]["user"], config.app["proxy"]["password"], config.app["proxy"]["server"], config.app["proxy"]["port"]), + "https": "socks4://{0}:{1}@{2}:{3}/".format(config.app["proxy"]["user"], config.app["proxy"]["password"], config.app["proxy"]["server"], config.app["proxy"]["port"])}