/opt/alt/python27/lib/python2.7/site-packages
NameSizeModeActions
alembic/-0755rm
alembic-0.8.3-py2.7.egg-info/-0755rm
argparse-1.2.1-py2.7.egg-info/-0755rm
babel/-0755rm
Babel-1.3-py2.7.egg-info/-0755rm
beaker/-0755rm
Beaker-1.5.4-py2.7.egg-info/-0755rm
chardet/-0755rm
chardet-2.3.0-py2.7.egg-info/-0755rm
contextlib2-0.5.4-py2.7.egg-info/-0755rm
dateutil/-0755rm
docopt-0.6.2-py2.7.egg-info/-0755rm
jinja2/-0755rm
Jinja2-2.7.2-py2.7.egg-info/-0755rm
lvestats/-0755rm
mako/-0755rm
Mako-0.7.3-py2.7.egg-info/-0755rm
nose/-0755rm
nose-1.3.4-py2.7.egg-info/-0755rm
paste/-0755rm
Paste-1.7.5.1-py2.7.egg-info/-0755rm
pip/-0755rm
pip-20.2.4.dist-info/-0755rm
pkg_resources/-0755rm
python_dateutil-1.4.1-py2.7.egg-info/-0755rm
python_editor-0.4-py2.7.egg-info/-0755rm
pytz/-0755rm
raven/-0755rm
raven-6.3.0-py2.7.egg-info/-0755rm
requests/-0755rm
requests-2.10.0-py2.7.egg-info/-0755rm
schema-0.3.1-py2.7.egg-info/-0755rm
setuptools/-0755rm
setuptools-36.3.0.post20231113.dist-info/-0755rm
svgwrite/-0755rm
svgwrite-1.1.5-py2.7.egg-info/-0755rm
tempita/-0755rm
Tempita-0.5.1-py2.7.egg-info/-0755rm
urllib3/-0755rm
urllib3-1.15.1-py2.7.egg-info/-0755rm
argparse.py877910644editdlrm
argparse.pyc686760644editdlrm
argparse.pyo685060644editdlrm
contextlib2.py148280644editdlrm
contextlib2.pyc160090644editdlrm
contextlib2.pyo160090644editdlrm
docopt.py199460644editdlrm
docopt.pyc246660644editdlrm
docopt.pyo250330644editdlrm
easy_install.py1260644editdlrm
easy_install.pyc3280644editdlrm
easy_install.pyo3280644editdlrm
editor.py25500755editdlrm
editor.pyc36850644editdlrm
editor.pyo36850644editdlrm
lprettytable.py238490644editdlrm
lprettytable.pyc196970644editdlrm
lprettytable.pyo197970644editdlrm
Paste-1.7.5.1-py2.7-nspkg.pth3040644editdlrm
pyparsing-1.5.6-py2.7.egg-info6700644editdlrm
pyparsing.py1554290644editdlrm
pyparsing.pyc1551950644editdlrm
pyparsing.pyo1551950644editdlrm
PySocks-1.5.7-py2.7.egg-info3220644editdlrm
pytz-2012d-py2.7.egg-info233090644editdlrm
schema.py62060644editdlrm
schema.pyc85320644editdlrm
schema.pyo86080644editdlrm
six-1.9.0-py2.7.egg-info14190644editdlrm
six.py296640644editdlrm
six.pyc307220644editdlrm
six.pyo307220644editdlrm
socks.py299520644editdlrm
socks.pyc256880644editdlrm
socks.pyo256880644editdlrm
sockshandler.py29130644editdlrm
sockshandler.pyc47370644editdlrm
sockshandler.pyo47370644editdlrm
typing-3.5.3.0-py2.7.egg-info14840644editdlrm
typing.py648950644editdlrm
typing.pyc790680644editdlrm
typing.pyo784070644editdlrm
Edit: /opt/alt/python27/lib/python2.7/site-packages/sockshandler.py (2913B)
#!/usr/bin/env python """ SocksiPy + urllib2 handler version: 0.3 author: e This module provides a Handler which you can use with urllib2 to allow it to tunnel your connection through a socks.sockssocket socket, with out monkey patching the original socket... """ import ssl try: import urllib2 import httplib except ImportError: # Python 3 import urllib.request as urllib2 import http.client as httplib import socks # $ pip install PySocks def merge_dict(a, b): d = a.copy() d.update(b) return d class SocksiPyConnection(httplib.HTTPConnection): def __init__(self, proxytype, proxyaddr, proxyport=None, rdns=True, username=None, password=None, *args, **kwargs): self.proxyargs = (proxytype, proxyaddr, proxyport, rdns, username, password) httplib.HTTPConnection.__init__(self, *args, **kwargs) def connect(self): self.sock = socks.socksocket() self.sock.setproxy(*self.proxyargs) if type(self.timeout) in (int, float): self.sock.settimeout(self.timeout) self.sock.connect((self.host, self.port)) class SocksiPyConnectionS(httplib.HTTPSConnection): def __init__(self, proxytype, proxyaddr, proxyport=None, rdns=True, username=None, password=None, *args, **kwargs): self.proxyargs = (proxytype, proxyaddr, proxyport, rdns, username, password) httplib.HTTPSConnection.__init__(self, *args, **kwargs) def connect(self): sock = socks.socksocket() sock.setproxy(*self.proxyargs) if type(self.timeout) in (int, float): sock.settimeout(self.timeout) sock.connect((self.host, self.port)) self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file) class SocksiPyHandler(urllib2.HTTPHandler, urllib2.HTTPSHandler): def __init__(self, *args, **kwargs): self.args = args self.kw = kwargs urllib2.HTTPHandler.__init__(self) def http_open(self, req): def build(host, port=None, timeout=0, **kwargs): kw = merge_dict(self.kw, kwargs) conn = SocksiPyConnection(*self.args, host=host, port=port, timeout=timeout, **kw) return conn return self.do_open(build, req) def https_open(self, req): def build(host, port=None, timeout=0, **kwargs): kw = merge_dict(self.kw, kwargs) conn = SocksiPyConnectionS(*self.args, host=host, port=port, timeout=timeout, **kw) return conn return self.do_open(build, req) if __name__ == "__main__": import sys try: port = int(sys.argv[1]) except (ValueError, IndexError): port = 9050 opener = urllib2.build_opener(SocksiPyHandler(socks.PROXY_TYPE_SOCKS5, "localhost", port)) print("HTTP: " + opener.open("http://httpbin.org/ip").read().decode()) print("HTTPS: " + opener.open("https://httpbin.org/ip").read().decode())