/opt/alt/python37/lib/python3.7/site-packages
NameSizeModeActions
aiosignal/-0755rm
aiosignal-1.2.0a0-py3.7.egg-info/-0755rm
alembic/-0755rm
alembic-0.8.3-py3.7.egg-info/-0755rm
asn1crypto/-0755rm
asn1crypto-0.22.0-py3.7.egg-info/-0755rm
async_timeout/-0755rm
async_timeout-4.0.2-py3.7.egg-info/-0755rm
attr/-0755rm
attrs-21.2.0-py3.7.egg-info/-0755rm
babel/-0755rm
Babel-2.9.1-py3.7.egg-info/-0755rm
beaker/-0755rm
Beaker-1.11.0-py3.7.egg-info/-0755rm
beautifulsoup4-4.5.1-py3.7.egg-info/-0755rm
bs4/-0755rm
certifi/-0755rm
certifi-2018.4.16-py3.7.egg-info/-0755rm
chardet/-0755rm
chardet-3.0.4-py3.7.egg-info/-0755rm
charset_normalizer/-0755rm
charset_normalizer-2.0.12-py3.7.egg-info/-0755rm
clcommon/-0755rm
clconfig/-0755rm
clconfigure/-0755rm
cldashboard/-0755rm
clevents/-0755rm
cllimitslib_v2/-0755rm
cllimits_validator/-0755rm
clquota/-0755rm
clselect/-0755rm
clselector/-0755rm
clsentry/-0755rm
clsummary/-0755rm
clveconfig/-0755rm
clwizard/-0755rm
cl_dom_collector/-0755rm
cssselect/-0755rm
cssselect-0.9.2-py3.7.egg-info/-0755rm
distlib/-0755rm
docopt-0.6.2-py3.7.egg-info/-0755rm
filelock/-0755rm
filelock-0.0.0-py3.7.egg-info/-0755rm
future/-0755rm
future-0.17.0-py3.7.egg-info/-0755rm
html5lib/-0755rm
html5lib-1.0.1-py3.7.egg-info/-0755rm
idna/-0755rm
idna-2.5-py3.7.egg-info/-0755rm
importlib_metadata/-0755rm
importlib_metadata-0.0.0-py3.7.egg-info/-0755rm
jinja2/-0755rm
Jinja2-3.0.3-py3.7.egg-info/-0755rm
jsonschema/-0755rm
jsonschema-3.2.0-py3.7.egg-info/-0755rm
jwt/-0755rm
libfuturize/-0755rm
libpasteurize/-0755rm
lvemanager/-0755rm
lvestats/-0755rm
lve_utils/-0755rm
mako/-0755rm
Mako-1.1.0-py3.7.egg-info/-0755rm
nose/-0755rm
nose-1.3.7-py3.7.egg-info/-0755rm
OpenSSL/-0755rm
packaging/-0755rm
packaging-16.8-py3.7.egg-info/-0755rm
past/-0755rm
paste/-0755rm
Paste-1.7.5.1-py3.7.egg-info/-0755rm
pip/-0755rm
pip-20.2.4.dist-info/-0755rm
pkg_resources/-0755rm
platformdirs/-0755rm
platformdirs-0.0.0-py3.7.egg-info/-0755rm
ply/-0755rm
ply-3.8-py3.7.egg-info/-0755rm
prettytable-0.7.2-py3.7.egg-info/-0755rm
pycparser/-0755rm
pycparser-2.14-py3.7.egg-info/-0755rm
PyJWT-1.7.1-py3.7.egg-info/-0755rm
pyOpenSSL-17.3.0-py3.7.egg-info/-0755rm
pyparsing/-0755rm
pyparsing-3.0.9.dist-info/-0755rm
python_editor-0.4-py3.7.egg-info/-0755rm
pytz/-0755rm
pytz-2017.2-py3.7.egg-info/-0755rm
raven/-0755rm
raven-6.3.0-py3.7.egg-info/-0755rm
requests/-0755rm
requests-2.26.0-py3.7.egg-info/-0755rm
schema-0.7.1-py3.7.egg-info/-0755rm
sentry_sdk/-0755rm
sentry_sdk-0.19.4-py3.7.egg-info/-0755rm
setuptools/-0755rm
setuptools-58.3.0.dist-info/-0755rm
six-1.15.0-py3.7.egg-info/-0755rm
ssa/-0755rm
svgwrite/-0755rm
svgwrite-1.3.0-py3.7.egg-info/-0755rm
tempita/-0755rm
Tempita-0.5.1-py3.7.egg-info/-0755rm
typing_extensions-3.7.4.3-py3.7.egg-info/-0755rm
urllib3/-0755rm
urllib3-1.26.6-py3.7.egg-info/-0755rm
vendors_api/-0755rm
virtualenv/-0755rm
virtualenv-20.13.0-py3.7.egg-info/-0755rm
webencodings/-0755rm
webencodings-0.5.1-py3.7.egg-info/-0755rm
zipp-0.0.0-py3.7.egg-info/-0755rm
_distutils_hack/-0755rm
__pycache__/-0755rm
distlib-0.3.4-py3.7.egg-info11620644editdlrm
distutils-precedence.pth1520644editdlrm
docopt.py199460644editdlrm
editor.py25500755editdlrm
editor.pyc36850644editdlrm
editor.pyo36850644editdlrm
Paste-1.7.5.1-py3.7-nspkg.pth5340644editdlrm
prettytable.py542040644editdlrm
PySocks-1.5.7-py3.7.egg-info3220644editdlrm
schema.py291980644editdlrm
six.py341590644editdlrm
socks.py299520644editdlrm
sockshandler.py29130644editdlrm
typing_extensions.py837270644editdlrm
zipp.py84250644editdlrm
Edit: /opt/alt/python37/lib/python3.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())