PHP 8.0.30
Preview: sockshandler.py Size: 2.84 KB
//proc/self/root/opt/alt/python37/lib/python3.7/site-packages/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())

Directory Contents

Dirs: 114 × Files: 13

Name Size Perms Modified Actions
aiosignal DIR
- drwxr-xr-x 2023-12-06 03:19:40
Edit Download
- drwxr-xr-x 2023-12-06 03:19:40
Edit Download
alembic DIR
- drwxr-xr-x 2023-12-06 03:19:41
Edit Download
- drwxr-xr-x 2023-12-06 03:19:41
Edit Download
- drwxr-xr-x 2021-10-11 07:55:40
Edit Download
- drwxr-xr-x 2021-10-11 07:55:40
Edit Download
- drwxr-xr-x 2023-12-06 03:19:39
Edit Download
- drwxr-xr-x 2023-12-06 03:19:39
Edit Download
attr DIR
- drwxr-xr-x 2023-12-06 03:19:22
Edit Download
- drwxr-xr-x 2023-12-06 03:19:22
Edit Download
babel DIR
- drwxr-xr-x 2023-12-06 03:19:32
Edit Download
- drwxr-xr-x 2023-12-06 03:19:31
Edit Download
beaker DIR
- drwxr-xr-x 2021-10-11 07:57:11
Edit Download
- drwxr-xr-x 2021-10-11 07:57:11
Edit Download
- drwxr-xr-x 2021-10-11 07:56:04
Edit Download
bs4 DIR
- drwxr-xr-x 2021-10-11 07:56:04
Edit Download
certifi DIR
- drwxr-xr-x 2023-12-06 03:19:22
Edit Download
- drwxr-xr-x 2023-12-06 03:19:22
Edit Download
chardet DIR
- drwxr-xr-x 2023-12-06 03:19:38
Edit Download
- drwxr-xr-x 2023-12-06 03:19:38
Edit Download
- drwxr-xr-x 2023-12-06 03:19:38
Edit Download
- drwxr-xr-x 2023-12-06 03:19:38
Edit Download
clcommon DIR
- drwxr-xr-x 2024-05-22 02:18:51
Edit Download
clconfig DIR
- drwxr-xr-x 2024-05-22 02:18:51
Edit Download
- drwxr-xr-x 2024-05-22 02:18:51
Edit Download
- drwxr-xr-x 2024-05-22 02:18:51
Edit Download
clevents DIR
- drwxr-xr-x 2024-05-22 02:18:51
Edit Download
- drwxr-xr-x 2024-05-22 02:18:51
Edit Download
- drwxr-xr-x 2024-05-22 02:18:51
Edit Download
clquota DIR
- drwxr-xr-x 2023-09-22 02:19:06
Edit Download
clselect DIR
- drwxr-xr-x 2023-09-22 02:19:06
Edit Download
- drwxr-xr-x 2023-09-22 02:19:06
Edit Download
clsentry DIR
- drwxr-xr-x 2024-05-22 02:18:51
Edit Download
clsummary DIR
- drwxr-xr-x 2024-05-22 02:18:51
Edit Download
- drwxr-xr-x 2024-05-22 02:18:51
Edit Download
clwizard DIR
- drwxr-xr-x 2024-05-22 02:18:51
Edit Download
- drwxr-xr-x 2024-05-22 02:18:51
Edit Download
cssselect DIR
- drwxr-xr-x 2021-10-11 07:55:44
Edit Download
- drwxr-xr-x 2021-10-11 07:55:44
Edit Download
distlib DIR
- drwxr-xr-x 2023-12-06 03:19:53
Edit Download
- drwxr-xr-x 2023-12-06 03:19:53
Edit Download
filelock DIR
- drwxr-xr-x 2023-12-06 03:19:53
Edit Download
- drwxr-xr-x 2023-12-06 03:19:53
Edit Download
future DIR
- drwxr-xr-x 2023-12-06 03:19:51
Edit Download
- drwxr-xr-x 2023-12-06 03:19:51
Edit Download
html5lib DIR
- drwxr-xr-x 2021-10-11 07:56:03
Edit Download
- drwxr-xr-x 2021-10-11 07:56:03
Edit Download
idna DIR
- drwxr-xr-x 2023-12-06 03:19:21
Edit Download
- drwxr-xr-x 2023-12-06 03:19:21
Edit Download
- drwxr-xr-x 2023-12-06 03:19:26
Edit Download
- drwxr-xr-x 2023-12-06 03:19:26
Edit Download
jinja2 DIR
- drwxr-xr-x 2023-12-06 03:19:44
Edit Download
- drwxr-xr-x 2023-12-06 03:19:44
Edit Download
- drwxr-xr-x 2023-12-06 03:19:45
Edit Download
- drwxr-xr-x 2023-12-06 03:19:45
Edit Download
jwt DIR
- drwxr-xr-x 2023-12-06 03:19:54
Edit Download
- drwxr-xr-x 2023-12-06 03:19:52
Edit Download
- drwxr-xr-x 2023-12-06 03:19:52
Edit Download
- drwxr-xr-x 2023-09-22 02:19:06
Edit Download
lvestats DIR
- drwxr-xr-x 2023-09-22 02:19:06
Edit Download
lve_utils DIR
- drwxr-xr-x 2024-05-22 02:18:51
Edit Download
mako DIR
- drwxr-xr-x 2023-12-06 03:19:35
Edit Download
- drwxr-xr-x 2023-12-06 03:19:35
Edit Download
nose DIR
- drwxr-xr-x 2023-12-06 03:19:46
Edit Download
- drwxr-xr-x 2023-12-06 03:19:46
Edit Download
OpenSSL DIR
- drwxr-xr-x 2021-10-11 07:57:10
Edit Download
packaging DIR
- drwxr-xr-x 2021-10-11 07:55:25
Edit Download
- drwxr-xr-x 2021-10-11 07:55:25
Edit Download
past DIR
- drwxr-xr-x 2023-12-06 03:19:52
Edit Download
paste DIR
- drwxr-xr-x 2021-10-11 07:57:11
Edit Download
- drwxr-xr-x 2021-10-11 07:57:11
Edit Download
pip DIR
- drwxr-xr-x 2023-12-06 03:19:50
Edit Download
- drwxr-xr-x 2023-12-06 03:19:50
Edit Download
- drwxr-xr-x 2023-12-06 03:19:18
Edit Download
- drwxr-xr-x 2023-12-06 03:19:49
Edit Download
- drwxr-xr-x 2023-12-06 03:19:49
Edit Download
ply DIR
- drwxr-xr-x 2021-10-11 07:55:48
Edit Download
- drwxr-xr-x 2021-10-11 07:55:48
Edit Download
- drwxr-xr-x 2023-12-06 03:19:49
Edit Download
pycparser DIR
- drwxr-xr-x 2021-10-11 07:55:49
Edit Download
- drwxr-xr-x 2021-10-11 07:55:49
Edit Download
- drwxr-xr-x 2023-12-06 03:19:49
Edit Download
- drwxr-xr-x 2021-10-11 07:57:10
Edit Download
pyparsing DIR
- drwxr-xr-x 2023-12-06 03:19:34
Edit Download
- drwxr-xr-x 2023-12-06 03:19:34
Edit Download
- drwxr-xr-x 2023-12-06 03:19:37
Edit Download
pytz DIR
- drwxr-xr-x 2023-12-06 03:19:30
Edit Download
- drwxr-xr-x 2023-12-06 03:19:30
Edit Download
raven DIR
- drwxr-xr-x 2023-12-06 03:19:48
Edit Download
- drwxr-xr-x 2023-12-06 03:19:48
Edit Download
requests DIR
- drwxr-xr-x 2023-12-06 03:19:40
Edit Download
- drwxr-xr-x 2023-12-06 03:19:40
Edit Download
- drwxr-xr-x 2023-12-06 03:19:47
Edit Download
- drwxr-xr-x 2023-12-06 03:19:43
Edit Download
- drwxr-xr-x 2023-12-06 03:19:43
Edit Download
- drwxr-xr-x 2023-12-06 03:19:18
Edit Download
- drwxr-xr-x 2023-12-06 03:19:18
Edit Download
- drwxr-xr-x 2023-12-06 03:19:19
Edit Download
ssa DIR
- drwxr-xr-x 2023-09-22 02:19:07
Edit Download
svgwrite DIR
- drwxr-xr-x 2023-12-06 03:19:42
Edit Download
- drwxr-xr-x 2023-12-06 03:19:42
Edit Download
tempita DIR
- drwxr-xr-x 2021-10-11 07:57:08
Edit Download
- drwxr-xr-x 2021-10-11 07:57:08
Edit Download
- drwxr-xr-x 2023-12-06 03:19:20
Edit Download
urllib3 DIR
- drwxr-xr-x 2023-12-06 03:19:34
Edit Download
- drwxr-xr-x 2023-12-06 03:19:34
Edit Download
- drwxr-xr-x 2024-05-22 02:18:51
Edit Download
- drwxr-xr-x 2022-06-03 02:18:37
Edit Download
- drwxr-xr-x 2022-06-03 02:18:37
Edit Download
- drwxr-xr-x 2021-10-11 07:56:02
Edit Download
- drwxr-xr-x 2021-10-11 07:56:02
Edit Download
- drwxr-xr-x 2023-12-06 03:19:25
Edit Download
- drwxr-xr-x 2023-12-06 03:19:18
Edit Download
- drwxr-xr-x 2024-04-17 17:35:58
Edit Download
1.13 KB lrw-r--r-- 2023-11-14 12:11:47
Edit Download
152 B lrw-r--r-- 2023-11-13 21:35:13
Edit Download
19.48 KB lrw-r--r-- 2014-06-16 11:14:32
Edit Download
2.50 KB lrwxr-xr-x 2019-12-10 17:53:59
Edit Download
534 B lrw-r--r-- 2019-12-10 18:23:38
Edit Download
52.93 KB lrw-r--r-- 2013-04-06 23:44:06
Edit Download
322 B lrw-r--r-- 2023-11-14 14:03:31
Edit Download
28.51 KB lrw-r--r-- 2019-09-09 17:39:33
Edit Download
33.36 KB lrw-r--r-- 2020-05-21 15:25:33
Edit Download
29.25 KB lrw-r--r-- 2016-05-21 21:54:42
Edit Download
2.84 KB lrw-r--r-- 2016-05-21 21:54:42
Edit Download
81.76 KB lrw-r--r-- 2020-07-07 22:29:25
Edit Download
8.23 KB lrw-r--r-- 2021-12-31 00:01:49
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).