Submit
Path:
~
/
/
proc
/
thread-self
/
root
/
lib
/
python3.6
/
site-packages
/
File Content:
sockshandler.py
#!/usr/bin/env python """ SocksiPy + urllib2 handler version: 0.3 author: e<e@tr0ll.in> 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())
Submit
FILE
FOLDER
Name
Size
Permission
Action
OpenSSL
---
0755
PySocks-1.6.8-py3.6.egg-info
---
0755
__pycache__
---
0755
chardet
---
0755
chardet-3.0.4-py3.6.egg-info
---
0755
dateutil
---
0755
decorator-4.2.1-py3.6.egg-info
---
0755
dnf
---
0755
dnf-plugins
---
0755
dnfpluginscore
---
0755
dns
---
0755
dnspython-1.15.0-py3.6.egg-info
---
0755
firewall
---
0755
html2text
---
0755
html2text-2019.9.26-py3.6.egg-info
---
0755
idna
---
0755
idna-2.5-py3.6.egg-info
---
0755
iotop
---
0755
isc
---
0755
nftables
---
0755
pip
---
0755
pip-9.0.3.dist-info
---
0755
pkg_resources
---
0755
ply
---
0755
ply-3.9-py3.6.egg-info
---
0755
procfs
---
0755
pyOpenSSL-19.0.0-py3.6.egg-info
---
0755
pycparser
---
0755
pycparser-2.14-py3.6.egg-info
---
0755
pyparsing-2.1.10.dist-info
---
0755
python_dateutil-2.6.1-py3.6.egg-info
---
0755
python_linux_procfs-0.7.3-py3.6.egg-info
---
0755
pyudev
---
0755
pyudev-0.21.0-py3.6.egg-info
---
0755
requests
---
0755
requests-2.20.0-py3.6.egg-info
---
0755
rhn
---
0755
setuptools
---
0755
setuptools-39.2.0.dist-info
---
0755
six-1.11.0.dist-info
---
0755
slip
---
0755
syspurpose
---
0755
syspurpose-1.28.44-py3.6.egg-info
---
0755
tuned
---
0755
up2date_client
---
0755
urllib3
---
0755
urllib3-1.24.2-py3.6.egg-info
---
0755
decorator.py
16568 bytes
0644
easy_install.py
126 bytes
0644
hwdata.py
8142 bytes
0644
iotop-0.6-py3.6.egg-info
348 bytes
0644
isc-2.0-py3.6.egg-info
267 bytes
0644
nftables-0.1-py3.6.egg-info
623 bytes
0644
pciutils-2.3.6-py3.6.egg-info
242 bytes
0644
pyparsing.py
229867 bytes
0644
rhnlib-2.8.6-py3.6.egg-info
343 bytes
0644
six.py
30888 bytes
0644
slip-0.6.4-py3.6.egg-info
196 bytes
0644
slip.dbus-0.6.4-py3.6.egg-info
269 bytes
0644
socks.py
32281 bytes
0644
sockshandler.py
2913 bytes
0644
N4ST4R_ID | Naxtarrr