{ "info": { "author": "Qian Wenjie", "author_email": "qianwenjie@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Build Tools" ], "description": "python-proxy\n============\n\n|made-with-python| |PyPI-version| |Hit-Count| |Downloads|\n\n.. |made-with-python| image:: https://img.shields.io/badge/Made%20with-Python-1f425f.svg\n :target: https://www.python.org/\n.. |PyPI-version| image:: https://badge.fury.io/py/pproxy.svg\n :target: https://pypi.python.org/pypi/pproxy/\n.. |Hit-Count| image:: http://hits.dwyl.io/qwj/python-proxy.svg\n :target: https://pypi.python.org/pypi/pproxy/\n.. |Downloads| image:: https://pepy.tech/badge/pproxy\n :target: https://pepy.tech/project/pproxy\n\nHTTP/Socks4/Socks5/Shadowsocks/ShadowsocksR/SSH/Redirect/Pf TCP/UDP asynchronous tunnel proxy implemented in Python3 asyncio.\n\nQuickStart\n----------\n\n.. code:: rst\n\n $ pip3 install pproxy\n Successfully installed pproxy-1.9.5\n $ pproxy\n Serving on :8080 by http,socks4,socks5\n ^C\n $ pproxy -l ss://chacha20:abc@:8080\n Serving on :8080 by ss (chacha20-py)\n\nOptional: (better performance with C ciphers)\n\n.. code:: rst\n\n $ pip3 install pproxy[accelerated]\n Successfully installed pycryptodome-3.6.4\n\nApply OS system-wide proxy: (MacOS, Windows)\n\n.. code:: rst\n\n $ pproxy -r ss://chacha20:abc@server_ip:8080 --sys -vv\n Serving on :8080 by http,socks4,socks5\n System proxy setting -> socks5 localhost:8080\n socks5 ::1:57345 -> ss server_ip:8080 -> slack.com:443\n socks5 ::1:57345 -> ss server_ip:8080 -> www.google.com:443\n ..... (all local traffic log) ......\n\nApply CLI proxy: (MacOS, Linux)\n\n.. code:: rst\n\n $ export http_proxy=http://localhost:8080\n $ export https_proxy=http://localhost:8080\n\nRun With Docker\n---------------\n\n`pproxy` Docker container has both python3 (with Cryptodome for performance optimizations) and `pypy` versions available.\n\nPython3:\n\n``docker run -it -p 8080:8080 mosajjal/pproxy:latest -l http://:8080 -vv``\n\nPypy3:\n\n``docker run -it -p 8080:8080 mosajjal/pproxy:latest-pypy -l http://:8080 -vv``\n\nFeatures\n--------\n\n- Lightweight single-thread asynchronous IO.\n- Pure python, no additional library required.\n- Proxy client/server for TCP/UDP.\n- Schedule (load balance) among remote servers.\n- Incoming traffic auto-detect.\n- Tunnel/relay/backward-relay support.\n- Unix domain socket support.\n- User/password authentication support.\n- Filter/block hostname by regex patterns.\n- SSL/TLS client/server support.\n- Shadowsocks OTA (One-Time-Auth_), SSR plugins.\n- Statistics by bandwidth and traffic.\n- PAC support for javascript configuration.\n- Iptables/Pf NAT redirect packet tunnel.\n- System proxy auto-setting support.\n- Client/Server API provided.\n\n.. _One-Time-Auth: https://shadowsocks.org/en/spec/one-time-auth.html\n\nProtocols\n---------\n\n+-------------------+------------+------------+------------+------------+--------------+\n| Name | TCP server | TCP client | UDP server | UDP client | scheme |\n+===================+============+============+============+============+==============+\n| http (connect) | \u2714 | \u2714 | | | http:// |\n+-------------------+ +------------+------------+------------+--------------+\n| http | | \u2714 | | | httponly:// |\n| (get,post,etc) | | | | | (as client) |\n+-------------------+------------+------------+------------+------------+--------------+\n| https | \u2714 | \u2714 | | | http+ssl:// |\n+-------------------+------------+------------+------------+------------+--------------+\n| socks4 | \u2714 | \u2714 | | | socks4:// |\n+-------------------+------------+------------+------------+------------+--------------+\n| socks5 | \u2714 | \u2714 | \u2714 udp-only | \u2714 udp-only | socks5:// |\n+-------------------+------------+------------+------------+------------+--------------+\n| socks5 over TLS | \u2714 | \u2714 | | | socks5+ssl://|\n+-------------------+------------+------------+------------+------------+--------------+\n| shadowsocks | \u2714 | \u2714 | \u2714 | \u2714 | ss:// |\n+-------------------+------------+------------+------------+------------+--------------+\n| shadowsocks aead | \u2714 | \u2714 | | | ss:// |\n+-------------------+------------+------------+------------+------------+--------------+\n| shadowsocksR | \u2714 | \u2714 | | | ssr:// |\n+-------------------+------------+------------+------------+------------+--------------+\n| ssh tunnel | | \u2714 | | | ssh:// |\n+-------------------+------------+------------+------------+------------+--------------+\n| iptables nat | \u2714 | | | | redir:// |\n+-------------------+------------+------------+------------+------------+--------------+\n| pfctl nat (macos) | \u2714 | | | | pf:// |\n+-------------------+------------+------------+------------+------------+--------------+\n| echo | \u2714 | | \u2714 | | echo:// |\n+-------------------+------------+------------+------------+------------+--------------+\n| tunnel | \u2714 | \u2714 | \u2714 | \u2714 | tunnel:// |\n| (raw socket) | | | | | tunnel{ip}://|\n+-------------------+------------+------------+------------+------------+--------------+\n| websocket | \u2714 | \u2714 | | | ws:// |\n| (simple tunnel) | | | | | ws{dst_ip}://|\n+-------------------+------------+------------+------------+------------+--------------+\n| xxx over TLS | \u2714 | \u2714 | | | xxx+ssl:// |\n+-------------------+------------+------------+------------+------------+--------------+\n| AUTO DETECT | \u2714 | | \u2714 | | a+b+c+d:// |\n+-------------------+------------+------------+------------+------------+--------------+\n\nScheduling Algorithms\n---------------------\n\n+-------------------+------------+------------+------------+------------+\n| Name | TCP | UDP | Parameter | Default |\n+===================+============+============+============+============+\n| first_available | \u2714 | \u2714 | -s fa | \u2714 |\n+-------------------+------------+------------+------------+------------+\n| round_robin | \u2714 | \u2714 | -s rr | |\n+-------------------+------------+------------+------------+------------+\n| random_choice | \u2714 | \u2714 | -s rc | |\n+-------------------+------------+------------+------------+------------+\n| least_connection | \u2714 | | -s lc | |\n+-------------------+------------+------------+------------+------------+\n\nRequirement\n-----------\n\npycryptodome_ is an optional library to enable faster (C version) cipher. **pproxy** has many built-in pure python ciphers. They are lightweight and stable, but slower than C ciphers. After speedup with PyPy_, pure python ciphers can get similar performance as C version. If the performance is important and don't have PyPy_, install pycryptodome_ instead.\n\nasyncssh_ is an optional library to enable ssh tunnel client support.\n\nThese are some performance benchmarks between Python and C ciphers (dataset: 8M):\n\n+---------------------+----------------+\n| chacha20-c | 0.64 secs |\n+---------------------+----------------+\n| chacha20-py (pypy3) | 1.32 secs |\n+---------------------+----------------+\n| chacha20-py | 48.86 secs |\n+---------------------+----------------+\n\nPyPy3 Quickstart:\n\n.. code:: rst\n\n $ pypy3 -m ensurepip\n $ pypy3 -m pip install asyncio pproxy\n\n.. _pycryptodome: https://pycryptodome.readthedocs.io/en/latest/src/introduction.html\n.. _asyncssh: https://asyncssh.readthedocs.io/en/latest/\n.. _PyPy: http://pypy.org\n\nUsage\n-----\n\n.. code:: rst\n\n $ pproxy -h\n usage: pproxy [-h] [-l LISTEN] [-r RSERVER] [-ul ULISTEN] [-ur URSERVER]\n [-b BLOCK] [-a ALIVED] [-v] [--ssl SSLFILE] [--pac PAC]\n [--get GETS] [--sys] [--test TESTURL] [--version]\n\n Proxy server that can tunnel among remote servers by regex rules. Supported\n protocols: http,socks4,socks5,shadowsocks,shadowsocksr,redirect,pf,tunnel\n\n optional arguments:\n -h, --help show this help message and exit\n -l LISTEN tcp server uri (default: http+socks4+socks5://:8080/)\n -r RSERVER tcp remote server uri (default: direct)\n -ul ULISTEN udp server setting uri (default: none)\n -ur URSERVER udp remote server uri (default: direct)\n -b BLOCK block regex rules\n -a ALIVED interval to check remote alive (default: no check)\n -s {fa,rr,rc,lc} scheduling algorithm (default: first_available)\n -v print verbose output\n --ssl SSLFILE certfile[,keyfile] if server listen in ssl mode\n --pac PAC http PAC path\n --get GETS http custom {path,file}\n --sys change system proxy setting (mac, windows)\n --test TEST test this url for all remote proxies and exit\n --version show program's version number and exit\n\n Online help: \n\nURI Syntax\n----------\n\n.. code:: rst\n\n {scheme}://[{cipher}@]{netloc}/[@{localbind}][,{plugins}][?{rules}][#{auth}]\n\n- scheme\n\n - Currently supported scheme: http, socks, ss, ssl, secure. You can use + to link multiple protocols together.\n\n +----------+-----------------------------+\n | http | http protocol (CONNECT) |\n +----------+-----------------------------+\n | httponly | http protocol (GET/POST) |\n +----------+-----------------------------+\n | socks4 | socks4 protocol |\n +----------+-----------------------------+\n | socks5 | socks5 protocol |\n +----------+-----------------------------+\n | ss | shadowsocks protocol |\n +----------+-----------------------------+\n | ssr | shadowsocksr (SSR) protocol |\n +----------+-----------------------------+\n | ssh | ssh client tunnel |\n +----------+-----------------------------+\n | redir | redirect (iptables nat) |\n +----------+-----------------------------+\n | pf | pfctl (macos pf nat) |\n +----------+-----------------------------+\n | ssl | unsecured ssl/tls (no cert) |\n +----------+-----------------------------+\n | secure | secured ssl/tls (cert) |\n +----------+-----------------------------+\n | tunnel | raw connection |\n +----------+-----------------------------+\n | ws | websocket connection |\n +----------+-----------------------------+\n | echo | echo-back service |\n +----------+-----------------------------+\n | direct | direct connection |\n +----------+-----------------------------+\n\n - \"http://\" accepts GET/POST/CONNECT as server, sends CONNECT as client. \"httponly://\" sends \"GET/POST\" as client, works only on http traffic.\n\n - Valid schemes: http://, http+socks4+socks5://, http+ssl://, ss+secure://, http+socks5+ss://\n\n - Invalid schemes: ssl://, secure://\n\n- cipher\n\n - Cipher's format: \"cipher_name:cipher_key\". Cipher can be base64-encoded. So cipher string with \"YWVzLTEyOC1nY206dGVzdA==\" is equal to \"aes-128-gcm:test\".\n\n - Full cipher support list:\n\n +-----------------+------------+-----------+-------------+\n | Cipher | Key Length | IV Length | Score (0-5) |\n +=================+============+===========+=============+\n | table-py | any | 0 | 0 (lowest) |\n +-----------------+------------+-----------+-------------+\n | rc4 | 16 | 0 | 0 (lowest) |\n +-----------------+------------+-----------+-------------+\n | rc4-md5 | 16 | 16 | 0.5 |\n +-----------------+------------+-----------+-------------+\n | chacha20 | 32 | 8 | 5 (highest) |\n +-----------------+------------+-----------+-------------+\n | chacha20-ietf | 32 | 12 | 5 |\n +-----------------+------------+-----------+-------------+\n | chacha20-ietf- | | | |\n | poly1305-py | 32 | 32 | AEAD |\n +-----------------+------------+-----------+-------------+\n | salsa20 | 32 | 8 | 4.5 |\n +-----------------+------------+-----------+-------------+\n | aes-128-cfb | 16 | 16 | 3 |\n | | | | |\n | aes-128-cfb8 | | | |\n | | | | |\n | aes-128-cfb1-py | | | slow |\n +-----------------+------------+-----------+-------------+\n | aes-192-cfb | 24 | 16 | 3.5 |\n | | | | |\n | aes-192-cfb8 | | | |\n | | | | |\n | aes-192-cfb1-py | | | slow |\n +-----------------+------------+-----------+-------------+\n | aes-256-cfb | 32 | 16 | 4.5 |\n | | | | |\n | aes-256-ctr | | | |\n | | | | |\n | aes-256-ofb | | | |\n | | | | |\n | aes-256-cfb8 | | | |\n | | | | |\n | aes-256-cfb1-py | | | slow |\n +-----------------+------------+-----------+-------------+\n | aes-256-gcm | 32 | 32 | AEAD |\n | | | | |\n | aes-192-gcm | 24 | 24 | AEAD |\n | | | | |\n | aes-128-gcm | 16 | 16 | AEAD |\n +-----------------+------------+-----------+-------------+\n | camellia-256-cfb| 32 | 16 | 4 |\n | | | | |\n | camellia-192-cfb| 24 | 16 | 4 |\n | | | | |\n | camellia-128-cfb| 16 | 16 | 4 |\n +-----------------+------------+-----------+-------------+\n | bf-cfb | 16 | 8 | 1 |\n +-----------------+------------+-----------+-------------+\n | cast5-cfb | 16 | 8 | 2.5 |\n +-----------------+------------+-----------+-------------+\n | des-cfb | 8 | 8 | 1.5 |\n +-----------------+------------+-----------+-------------+\n | rc2-cfb-py | 16 | 8 | 2 |\n +-----------------+------------+-----------+-------------+\n | idea-cfb-py | 16 | 8 | 2.5 |\n +-----------------+------------+-----------+-------------+\n | seed-cfb-py | 16 | 16 | 2 |\n +-----------------+------------+-----------+-------------+\n\n - *pproxy* ciphers have pure python implementations. Program will switch to C cipher if there is C implementation available within pycryptodome_. Otherwise, use pure python cipher.\n\n - AEAD ciphers use additional payload after each packet. The underlying protocol is different. Specifications: AEAD_.\n\n - Some pure python ciphers (aes-256-cfb1-py) is quite slow, and is not recommended to use without PyPy speedup. Try install pycryptodome_ and use C version cipher instead.\n\n - To enable OTA encryption with shadowsocks, add '!' immediately after cipher name.\n\n- netloc\n\n - It can be \"hostname:port\" or \"/unix_domain_socket\". If the hostname is empty, server will listen on all interfaces.\n\n - Valid netloc: localhost:8080, 0.0.0.0:8123, /tmp/domain_socket, :8123\n\n- localbind\n\n - It can be \"@in\" or @ipv4_address or @ipv6_address\n\n - Valid localbind: @in, @192.168.1.15, @::1\n\n- plugins\n\n - It can be multiple plugins joined by \",\". Supported plugins: plain, origin, http_simple, tls1.2_ticket_auth, verify_simple, verify_deflate\n\n - Valid plugins: /,tls1.2_ticket_auth,verify_simple\n\n- rules\n\n - The filename that contains regex rules\n\n- auth\n\n - The username, colon ':', and the password\n\nURIs can be joined by \"__\" to indicate tunneling by relay. For example, ss://1.2.3.4:1324__http://4.5.6.7:4321 make remote connection to the first shadowsocks proxy server, and then tunnel to the second http proxy server.\n\n.. _AEAD: http://shadowsocks.org/en/spec/AEAD-Ciphers.html\n\nClient API\n----------\n\n- TCP Client API\n\n .. code:: rst\n\n import asyncio, pproxy\n\n async def test_tcp(proxy_uri):\n conn = pproxy.Connection(proxy_uri)\n reader, writer = await conn.tcp_connect('google.com', 80)\n writer.write(b'GET / HTTP/1.1\\r\\n\\r\\n')\n data = await reader.read(1024*16)\n print(data.decode())\n\n asyncio.run(test_tcp('ss://aes-256-cfb:password@remote_host:remote_port'))\n\n- UDP Client API\n\n .. code:: rst\n\n import asyncio, pproxy\n\n async def test_udp(proxy_uri):\n conn = pproxy.Connection(proxy_uri)\n answer = asyncio.Future()\n await conn.udp_sendto('8.8.8.8', 53, b'hello the world', answer.set_result)\n await answer\n print(answer.result())\n\n asyncio.run(test_udp('ss://chacha20:password@remote_host:remote_port'))\n\nServer API\n----------\n\n- Server API example:\n\n .. code:: rst\n\n import asyncio\n import pproxy\n\n server = pproxy.Server('ss://0.0.0.0:1234')\n remote = pproxy.Connection('ss://1.2.3.4:5678')\n args = dict( rserver = [remote],\n verbose = print )\n\n loop = asyncio.get_event_loop()\n handler = loop.run_until_complete(server.start_server(args))\n try:\n loop.run_forever()\n except KeyboardInterrupt:\n print('exit!')\n\n handler.close()\n loop.run_until_complete(handler.wait_closed())\n loop.run_until_complete(loop.shutdown_asyncgens())\n loop.close()\n\n\nExamples\n--------\n\n- Regex rule\n\n Define regex file \"rules\" as follow:\n\n .. code:: rst\n\n #google domains\n (?:.+\\.)?google.*\\.com\n (?:.+\\.)?gstatic\\.com\n (?:.+\\.)?gmail\\.com\n (?:.+\\.)?ntp\\.org\n (?:.+\\.)?glpals\\.com\n (?:.+\\.)?akamai.*\\.net\n (?:.+\\.)?ggpht\\.com\n (?:.+\\.)?android\\.com\n (?:.+\\.)?gvt1\\.com\n (?:.+\\.)?youtube.*\\.com\n (?:.+\\.)?ytimg\\.com\n (?:.+\\.)?goo\\.gl\n (?:.+\\.)?youtu\\.be\n (?:.+\\.)?google\\..+\n\n Then start *pproxy*\n\n .. code:: rst\n\n $ pproxy -r http://aa.bb.cc.dd:8080?rules -vv\n Serving on :8080 by http,socks4,socks5\n http ::1:57768 -> http aa.bb.cc.dd:8080 -> www.googleapis.com:443\n http ::1:57772 -> www.yahoo.com:80\n socks4 ::1:57770 -> http aa.bb.cc.dd:8080 -> www.youtube.com:443\n\n *pproxy* will serve incoming traffic by http/socks4/socks5 auto-detect protocol, redirect all google traffic to http proxy aa.bb.cc.dd:8080, and visit all other traffic directly from local.\n\n- Use cipher\n\n Add cipher encryption to make sure data can't be intercepted. Run *pproxy* locally as:\n\n .. code:: rst\n\n $ pproxy -l ss://:8888 -r ss://chacha20:cipher_key@aa.bb.cc.dd:12345 -vv\n\n Next, run pproxy.py remotely on server \"aa.bb.cc.dd\". The base64 encoded string of \"chacha20:cipher_key\" is also supported:\n\n .. code:: rst\n\n $ pproxy -l ss://chacha20:cipher_key@:12345\n\n The same as:\n\n .. code:: rst\n\n $ pproxy -l ss://Y2hhY2hhMjA6Y2lwaGVyX2tleQ==@:12345\n\n The traffic between local and aa.bb.cc.dd is encrypted by stream cipher Chacha20 with secret key \"cipher_key\".\n\n- Unix domain socket\n\n A more complex example:\n\n .. code:: rst\n\n $ pproxy -l ss://salsa20!:complex_cipher_key@/tmp/pproxy_socket -r http+ssl://domain1.com:443#username:password\n\n *pproxy* listen on the unix domain socket \"/tmp/pproxy_socket\" with cipher \"salsa20\" and key \"complex_cipher_key\". OTA packet protocol is enabled by adding ! after cipher name. The traffic is tunneled to remote https proxy with simple http authentication.\n\n- SSL/TLS server\n\n If you want to listen in SSL/TLS, you must specify ssl certificate and private key files by parameter \"--ssl\":\n\n .. code:: rst\n\n $ pproxy -l http+ssl://0.0.0.0:443 -l http://0.0.0.0:80 --ssl server.crt,server.key --pac /autopac\n\n *pproxy* listen on both 80 HTTP and 443 HTTPS ports, use the specified SSL/TLS certificate and private key files. The \"--pac\" enable PAC feature, so you can put \"https://yourdomain.com/autopac\" path in your device's auto-configure url.\n\n Simple guide for generating self-signed ssl certificates:\n\n .. code:: rst\n\n $ openssl genrsa -des3 -out server.key 1024\n $ openssl req -new -key server.key -out server.csr\n $ cp server.key server.key.org\n $ openssl rsa -in server.key.org -out server.key\n $ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt\n\n- SSR plugins\n\n ShadowsocksR example with plugin \"tls1.2_ticket_auth\" to emulate common tls traffic:\n\n .. code:: rst\n\n $ pproxy -l ssr://chacha20:mypass@0.0.0.0:443/,tls1.2_ticket_auth,verify_simple\n\n- Local bind ip\n\n If you want to route the traffic by different local bind, use the @localbind URI syntax. For example, server has three ip interfaces: 192.168.1.15, 111.0.0.1, 112.0.0.1. You want to route traffic matched by \"rule1\" to 111.0.0.2 and traffic matched by \"rule2\" to 222.0.0.2, and the remaining traffic directly:\n\n .. code:: rst\n\n $ pproxy -l ss://:8000/@in -r ss://111.0.0.2:8000/@111.0.0.1?rule1 -r ss://222.0.0.2:8000/@222.0.0.1?rule2\n\n- Redirect/Pf protocol\n\n IPTable NAT redirect example (Ubuntu):\n\n .. code:: rst\n\n $ sudo iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 5555\n $ pproxy -l redir://:5555 -r http://remote_http_server:3128 -vv\n\n The above example illustrates how to redirect all local output tcp traffic with destination port 80 to localhost port 5555 listened by **pproxy**, and then tunnel the traffic to remote http proxy.\n\n PF redirect example (MacOS):\n\n .. code:: rst\n\n $ sudo pfctl -ef /dev/stdin\n rdr pass on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080\n pass out on en0 route-to lo0 inet proto tcp from any to any port 80 keep state\n ^D\n $ sudo pproxy -l pf://:8080 -r socks5://remote_socks5_server:1324 -vv\n\n Make sure **pproxy** runs in root mode (sudo), otherwise it cannot redirect pf packet.\n\n- Relay tunnel\n\n Relay tunnel example:\n\n .. code:: rst\n\n $ pproxy -r http://server1__ss://server2__socks://server3\n\n *pproxy* will connect to server1 first, tell server1 connect to server2, and tell server2 connect to server3, and make real traffic by server3.\n\n- Raw connection tunnel\n\n TCP raw connection tunnel example:\n\n .. code:: rst\n\n $ pproxy -l tunnel{google.com}://:80\n $ curl -H \"Host: google.com\" http://localhost\n\n UDP dns tunnel example:\n\n .. code:: rst\n\n $ pproxy -ul tunnel{8.8.8.8}://:53\n $ nslookup google.com localhost\n\n- UDP more complicated example\n\n Run the shadowsocks udp proxy on remote machine:\n\n .. code:: rst\n\n $ pproxy -ul ss://remote_server:13245\n\n Run the commands on local machine:\n\n .. code:: rst\n\n $ pproxy -ul tunnel{8.8.8.8}://:53 -ur ss://remote_server:13245 -vv\n UDP tunnel 127.0.0.1:60573 -> ss remote_server:13245 -> 8.8.8.8:53\n UDP tunnel 127.0.0.1:60574 -> ss remote_server:13245 -> 8.8.8.8:53\n ...\n $ nslookup google.com localhost\n\n- Load balance example\n\n Specify multiple -r server, and a scheduling algorithm (rr = round_robin, rc = random_choice, lc = least_connection):\n\n .. code:: rst\n\n $ pproxy -r http://server1 -r ss://server2 -r socks5://server3 -s rr -vv\n http ::1:42356 -> http server1 -> google.com:443\n http ::1:42357 -> ss server2 -> google.com:443\n http ::1:42358 -> socks5 server3 -> google.com:443\n http ::1:42359 -> http server1 -> google.com:443\n ...\n $ pproxy -ul tunnel://:53 -ur tunnel://8.8.8.8:53 -ur tunnel://8.8.4.4:53 -s rc -vv\n UDP tunnel ::1:35378 -> tunnel 8.8.8.8:53\n UDP tunnel ::1:35378 -> tunnel 8.8.4.4:53\n ...\n\n- WebSocket example\n\n WebSocket protocol is similar to Tunnel protocol. It is raw and doesn't support any proxy function. It can connect to other proxy like Tunnel protocol.\n\n First run pproxy on remote machine:\n\n .. code:: rst\n\n $ pproxy -l ws://:80 -r tunnel:///tmp/myproxy -v\n $ pproxy -l ss://chacha20:abc@/tmp/myproxy -v\n\n Run pproxy on local machine:\n\n .. code:: rst\n\n $ pproxy -l tunnel://:1234 -r ws://remote_ip:80 -vv\n\n Then port :1234 on local machine is connected to the /tmp/myproxy on remote machine by WebSocket tunnel. You can specify any proxy protocol details on /tmp/myproxy.\n\n It is a good practice to use some CDN in the middle of local/remote machines. CDN with WebSocket support can hide remote machine's real IP from public.\n\n- Backward proxy\n\n Sometimes, the proxy server hides behind an NAT router and doesn't have a public ip. The client side has a public ip \"client_ip\". Backward proxy feature enables the server to connect backward to client and wait for proxy requests.\n\n Run **pproxy** client as follows:\n\n .. code:: rst\n\n $ pproxy -l http://:8080 -r http+in://:8081 -v\n\n Run **pproxy** server as follows:\n\n .. code:: rst\n\n $ pproxy -l http+in://client_ip:8081\n\n Server connects to client_ip:8081 and waits for client proxy requests. The protocol http specified is just an example. It can be any protocol and cipher **pproxy** supports. The scheme \"**in**\" should exist in URI to inform **pproxy** that it is a backward proxy.\n\n- SSH client tunnel\n\n SSH client tunnel support is enabled by installing additional library asyncssh_. After \"pip3 install asyncssh\", you can specify \"**ssh**\" as scheme to proxy via ssh client tunnel.\n\n .. code:: rst\n\n $ pproxy -l http://:8080 -r ssh://remote_server.com/#login:password\n\n If a client private key is used to authenticate, put double colon \"::\" between login and private key path.\n\n .. code:: rst\n\n $ pproxy -l http://:8080 -r ssh://remote_server.com/#login::private_key_path\n\n SSH connection known_hosts feature is disabled by default.\n\n\nProjects\n--------\n\n+ `python-esp `_ - Pure python VPN (IPSec,IKE,IKEv2,L2TP)\n+ `shadowproxy `_ - Another awesome proxy implementation by guyingbo\n\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/qwj/python-proxy", "keywords": "proxy socks http shadowsocks shadowsocksr ssr redirect pf tunnel cipher ssl udp", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pproxy", "package_url": "https://pypi.org/project/pproxy/", "platform": "", "project_url": "https://pypi.org/project/pproxy/", "project_urls": { "Homepage": "https://github.com/qwj/python-proxy" }, "release_url": "https://pypi.org/project/pproxy/2.2.0/", "requires_dist": [ "pycryptodome (>=3.7.2); extra == 'accelerated'", "uvloop (>=0.13.0); extra == 'accelerated'", "python-daemon (>=2.2.3); extra == 'daemon'", "asyncssh (>=1.16.0); extra == 'sshtunnel'" ], "requires_python": ">=3.6", "summary": "Proxy server that can tunnel among remote servers by regex rules.", "version": "2.2.0" }, "last_serial": 5714999, "releases": { "0.9.3": [ { "comment_text": "", "digests": { "md5": "a6bbd8befb25c18031681e69622e7c72", "sha256": "414fa29204a892fad795a781e7ef405ace0a57e03085b5b7907b291ddfd8d525" }, "downloads": -1, "filename": "pproxy-0.9.3-py3-none-any.whl", "has_sig": false, "md5_digest": "a6bbd8befb25c18031681e69622e7c72", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15981, "upload_time": "2016-09-28T04:33:37", "url": "https://files.pythonhosted.org/packages/14/97/a2f617eaf2158161b0cc2842b3c4b832207908c997ed35ab2bb56e290822/pproxy-0.9.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "64117eb34377f447914bc2e2ceeb448d", "sha256": "1b79dca600be1c2c689b62e42be0fc534b9841428a9b6672ab8b0fbde5c96d24" }, "downloads": -1, "filename": "pproxy-0.9.3.tar.gz", "has_sig": false, "md5_digest": "64117eb34377f447914bc2e2ceeb448d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13909, "upload_time": "2016-09-28T04:33:40", "url": "https://files.pythonhosted.org/packages/56/26/5b1546f82f3c4f733bc10178cd0b3c330b674832d480685e007436115d79/pproxy-0.9.3.tar.gz" } ], "0.9.4": [ { "comment_text": "", "digests": { "md5": "f1196456349213a4aa3e9535600bd860", "sha256": "442510e232d7cf6030eb346b2e15a45c9fb3cf5a33282d79e36c4abad867dff9" }, "downloads": -1, "filename": "pproxy-0.9.4-py3-none-any.whl", "has_sig": false, "md5_digest": "f1196456349213a4aa3e9535600bd860", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16326, "upload_time": "2016-09-28T08:15:02", "url": "https://files.pythonhosted.org/packages/13/34/daa1b5381c9977e20fef31901fa60064751e282a6b783bff46611ddfbef9/pproxy-0.9.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4b83c5460d2cea5c806736c06e69b1e2", "sha256": "5420519299da1ce43c5c1a008b2a75d303cbe93479e25521ab1bb6a9db6fb546" }, "downloads": -1, "filename": "pproxy-0.9.4.tar.gz", "has_sig": false, "md5_digest": "4b83c5460d2cea5c806736c06e69b1e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14267, "upload_time": "2016-09-28T08:15:05", "url": "https://files.pythonhosted.org/packages/5a/83/91e4f6cc1c262991a20e49b95611b4ae9219fa54882cd8eb1b41202cd06f/pproxy-0.9.4.tar.gz" } ], "0.9.5": [ { "comment_text": "", "digests": { "md5": "cdd2f7cc4943cfecb1900780fb7a2e82", "sha256": "2f1375996d5a5783570e35ffd782bf9c45fd2fd5b51fe1d0c08754fd2e5b6d77" }, "downloads": -1, "filename": "pproxy-0.9.5-py3-none-any.whl", "has_sig": false, "md5_digest": "cdd2f7cc4943cfecb1900780fb7a2e82", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16387, "upload_time": "2016-10-12T07:13:56", "url": "https://files.pythonhosted.org/packages/12/54/54648ba3f825a2599cb2e220934eea3b7b8df30275bcb2537eed819d1eb1/pproxy-0.9.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "231c18533cd1a65f6bc8535f0c10444d", "sha256": "92f030ba52d7782db9b3542db9f54d16631ae97871167b804980e040fb551642" }, "downloads": -1, "filename": "pproxy-0.9.5.tar.gz", "has_sig": false, "md5_digest": "231c18533cd1a65f6bc8535f0c10444d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14342, "upload_time": "2016-10-12T07:13:58", "url": "https://files.pythonhosted.org/packages/7d/4c/7e736ae8a09117eb255df4af2d6a5dff9c953b7d3086578a7167011cdc0c/pproxy-0.9.5.tar.gz" } ], "0.9.6": [ { "comment_text": "", "digests": { "md5": "f151daf5600960a88db3dee16ea0b079", "sha256": "f10947f61cdb4ca635f58454f72d989eb5925fc30d8e4e8ff97a99968265fbc0" }, "downloads": -1, "filename": "pproxy-0.9.6-py3-none-any.whl", "has_sig": false, "md5_digest": "f151daf5600960a88db3dee16ea0b079", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16457, "upload_time": "2016-10-14T08:16:09", "url": "https://files.pythonhosted.org/packages/b7/62/81258e05187395f0642820d4da4490e42d31c60fa6bd0eb240e360d9b263/pproxy-0.9.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ee49aa33c9aa4db8740e5b66d163c4ac", "sha256": "107a8b13c25b48971d7c3d57fe55a34bb46cd7df30421691117e873f5b4c5dd9" }, "downloads": -1, "filename": "pproxy-0.9.6.tar.gz", "has_sig": false, "md5_digest": "ee49aa33c9aa4db8740e5b66d163c4ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14558, "upload_time": "2016-10-14T08:16:13", "url": "https://files.pythonhosted.org/packages/6d/fa/9ceb41caf8787b3df459cfbe3be5c509865309c79ea8b69ba5f6847a38b4/pproxy-0.9.6.tar.gz" } ], "0.9.7": [ { "comment_text": "", "digests": { "md5": "acb260ab1816d68539ae87cb33fbd21d", "sha256": "a44f2584114fa81320d6ec1c0a695657495d1240745a617531626e9a55e04fe2" }, "downloads": -1, "filename": "pproxy-0.9.7-py3-none-any.whl", "has_sig": false, "md5_digest": "acb260ab1816d68539ae87cb33fbd21d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27227, "upload_time": "2016-10-20T05:09:48", "url": "https://files.pythonhosted.org/packages/1a/b7/0e4edf644f597da666de3e2035d659311abc4e64b454a18074e38a540da7/pproxy-0.9.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e906477ce201487cbceccb7e3352027c", "sha256": "730b35620f10da0ea5cede6e2c18ca37bcac76c0ec987ac7b6a220b593e12039" }, "downloads": -1, "filename": "pproxy-0.9.7.tar.gz", "has_sig": false, "md5_digest": "e906477ce201487cbceccb7e3352027c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24204, "upload_time": "2016-10-20T05:09:52", "url": "https://files.pythonhosted.org/packages/96/b3/e7e03828edadbc6eb22ba3eecb54ad9fc51bb63dcf562d2d0359d3b86c2b/pproxy-0.9.7.tar.gz" } ], "0.9.8": [ { "comment_text": "", "digests": { "md5": "8188b3c3f4304d2e536bd39b260e3780", "sha256": "538a559abd1bb0edf0ad882201840fa2dccc7fae852714c861d0762d5138afbf" }, "downloads": -1, "filename": "pproxy-0.9.8-py3-none-any.whl", "has_sig": false, "md5_digest": "8188b3c3f4304d2e536bd39b260e3780", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27853, "upload_time": "2016-10-20T08:59:54", "url": "https://files.pythonhosted.org/packages/e3/db/09e7ea208b4be83d69812eed15cee2ed5fff25f67e95952899d410cace12/pproxy-0.9.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "698f5e3c33cc599ad5ef613cfc5c5842", "sha256": "bf106b60fb99f62d2ffa2d8dcfc971dd8edface5a2d28d0f3c21cf6405f1136b" }, "downloads": -1, "filename": "pproxy-0.9.8.tar.gz", "has_sig": false, "md5_digest": "698f5e3c33cc599ad5ef613cfc5c5842", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24713, "upload_time": "2016-10-20T09:01:40", "url": "https://files.pythonhosted.org/packages/d7/59/cba480f43579834dc21a2aa4a1ceaeb5af56947c24461a632b8dc386c1f1/pproxy-0.9.8.tar.gz" } ], "0.9.9": [ { "comment_text": "", "digests": { "md5": "364b0f324070c1dcf861ba82522ba29c", "sha256": "ec42c9976cc3caf04783d23d3b356da9d5cde4231df9c9cbc91474122c88c2bb" }, "downloads": -1, "filename": "pproxy-0.9.9-py3-none-any.whl", "has_sig": false, "md5_digest": "364b0f324070c1dcf861ba82522ba29c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27849, "upload_time": "2016-10-20T09:08:19", "url": "https://files.pythonhosted.org/packages/2b/c4/ae12d876ebfa21b29da69a1a4605375319b4212732f84bb73e080d5595f6/pproxy-0.9.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b76f205ac99b57c767af52c266ff8995", "sha256": "fb5b602b26c77d31ef0b7399528a0cdc3aceed3386fa3f8d9f47bbb131a9311b" }, "downloads": -1, "filename": "pproxy-0.9.9.tar.gz", "has_sig": false, "md5_digest": "b76f205ac99b57c767af52c266ff8995", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24720, "upload_time": "2016-10-20T09:08:27", "url": "https://files.pythonhosted.org/packages/6f/29/0165559ccfd9b219aa1cb0ec9205f95840eb87d0bacb5ee658c1e42cbfd6/pproxy-0.9.9.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "2d962a7e5a825e72d522162451d9eea6", "sha256": "4ce6001f70440d36c84b2830816e9b48a0e17f05b5e054af24508bdce2761847" }, "downloads": -1, "filename": "pproxy-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2d962a7e5a825e72d522162451d9eea6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 30243, "upload_time": "2016-11-03T08:24:33", "url": "https://files.pythonhosted.org/packages/97/bc/4095103bea842f396c62dbf84357fe9e11429a2815711f0ea0f690fb1c7f/pproxy-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bbdc74d9a59f715b5d82f951ea48be6a", "sha256": "490e1925ddc2741af3f48b2dd7084357a930340d9d20bca1f6d6bf7b7089f9cb" }, "downloads": -1, "filename": "pproxy-1.0.0.tar.gz", "has_sig": false, "md5_digest": "bbdc74d9a59f715b5d82f951ea48be6a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19944, "upload_time": "2016-11-03T08:24:36", "url": "https://files.pythonhosted.org/packages/b1/3f/dd05a53fb44d094ebb47174755d968640fef732a867df196ecf0dec9094b/pproxy-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "4454c9f98c83b3c01bbf494315150898", "sha256": "08ff8579a0eb988070a25cd0ae5b8d9641b38536e63015b6f3497c03e3c31c50" }, "downloads": -1, "filename": "pproxy-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4454c9f98c83b3c01bbf494315150898", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31976, "upload_time": "2016-11-15T03:35:17", "url": "https://files.pythonhosted.org/packages/e2/4b/d65a494071be6e338d4dba7ab59fc2a2b57c4ac07e28ebd20f6c48492ddf/pproxy-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "03ab7af0fc5b4a44906fcb3099a82c1e", "sha256": "8d0315740f9341161b86e8fa8daee8f76f1a4cedd5829632dab699743a85bf96" }, "downloads": -1, "filename": "pproxy-1.1.0.tar.gz", "has_sig": false, "md5_digest": "03ab7af0fc5b4a44906fcb3099a82c1e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21864, "upload_time": "2016-11-15T03:35:21", "url": "https://files.pythonhosted.org/packages/be/05/3f867039c7849a76f83adde56d36d0c470c43a22164f02bf38abeb52b454/pproxy-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "3810022bf2034c894ae6264d7b7386bb", "sha256": "23741cf63d13b268efc0d277650c978b4617c0e11f26e10484633e9419d9d704" }, "downloads": -1, "filename": "pproxy-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3810022bf2034c894ae6264d7b7386bb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32259, "upload_time": "2016-11-15T04:22:34", "url": "https://files.pythonhosted.org/packages/f0/26/ad2d9fbd902f5997bbe077d4aeae442c2baab4c6208c3c35f65395565d1d/pproxy-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "475b832bb0621dc7f52f6c4280c8629c", "sha256": "7089110f3b06ece0881c7f1f9ac794179c561016771f76116e20aa4838210329" }, "downloads": -1, "filename": "pproxy-1.1.1.tar.gz", "has_sig": false, "md5_digest": "475b832bb0621dc7f52f6c4280c8629c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22183, "upload_time": "2016-11-15T04:22:37", "url": "https://files.pythonhosted.org/packages/da/cc/3f283e913ac7e664709e60a226f931735a1ee111e91686fa389ddafb36ac/pproxy-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "202b9dbba6f35be1d5b269ee83810d2b", "sha256": "a410d7c68133fd10b364d5af76d6af694d7c740d9ed8d2522008ac66e6b702c6" }, "downloads": -1, "filename": "pproxy-1.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "202b9dbba6f35be1d5b269ee83810d2b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32585, "upload_time": "2016-11-15T04:56:13", "url": "https://files.pythonhosted.org/packages/d4/71/1bfbb60ec602515e3a7b6092da1f94791385991a5a3b7aabb2e40d8a8f1d/pproxy-1.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9f480c59df67c12fdbddacd2fa7ef950", "sha256": "c73ecc6cc6206949ad95a9559aa5d4827871b05ae207bd50a0b474e4bf570c2f" }, "downloads": -1, "filename": "pproxy-1.1.2.tar.gz", "has_sig": false, "md5_digest": "9f480c59df67c12fdbddacd2fa7ef950", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22454, "upload_time": "2016-11-15T04:56:16", "url": "https://files.pythonhosted.org/packages/cb/dc/b3abc7d9e8d898b24cc7fb478a5b66d8b737086697aafe86ded80c73fbc9/pproxy-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "e4abe495150868299f49ee4c1ae7c55c", "sha256": "0b14f052a41c5ebb51648d39478b714c4a2da42af6adc1c0be144aef26916771" }, "downloads": -1, "filename": "pproxy-1.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "e4abe495150868299f49ee4c1ae7c55c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32591, "upload_time": "2016-11-15T05:08:41", "url": "https://files.pythonhosted.org/packages/26/0c/b9f3ec00577e1a7dc56c4e369a187cba6aa7f6ca564933f85874060b33c0/pproxy-1.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "218a2a223867bf34dc4f52326b4f378a", "sha256": "07b298c317fe9bd5c508ac7dd7ae9f03696d7fffdddefbb8c2da565e0304131d" }, "downloads": -1, "filename": "pproxy-1.1.3.tar.gz", "has_sig": false, "md5_digest": "218a2a223867bf34dc4f52326b4f378a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22456, "upload_time": "2016-11-15T05:08:44", "url": "https://files.pythonhosted.org/packages/b2/28/cc5cea814c98c719940ec942352a097782e6bbe3da47b2a56ce17e51f97f/pproxy-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "02cae6f0017da05865366b5e0d7f60d5", "sha256": "0a94b092a49e57c8de97dee82f49009eb8d7ea95c9694d68bc6639f457970e9a" }, "downloads": -1, "filename": "pproxy-1.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "02cae6f0017da05865366b5e0d7f60d5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32594, "upload_time": "2016-11-15T05:15:09", "url": "https://files.pythonhosted.org/packages/82/8d/4167ad2b51ef149ec1dd16c5f207ffac81ee390f351a7ea577998773561f/pproxy-1.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "45d197aaf388bbc951edbe61054d6ecc", "sha256": "30a12c54a8abfac2bb6fb4c23a7908ecc58606f4c069047d77ed0a5d673a804d" }, "downloads": -1, "filename": "pproxy-1.1.4.tar.gz", "has_sig": false, "md5_digest": "45d197aaf388bbc951edbe61054d6ecc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22459, "upload_time": "2016-11-15T05:15:12", "url": "https://files.pythonhosted.org/packages/af/8f/bd6c434038bf44c91120379daed379b4cff684c1f84f777deff2041571cb/pproxy-1.1.4.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "853666c7287909ccd18fd7b6d84b298d", "sha256": "2ecc9bc5a99fd3ab9ed359f3232a8b3a414e9607cdaf267d510527fd94e749f7" }, "downloads": -1, "filename": "pproxy-1.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "853666c7287909ccd18fd7b6d84b298d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32593, "upload_time": "2016-11-15T05:23:01", "url": "https://files.pythonhosted.org/packages/1d/dd/d6fe6db44b6d2a5ad04b8690edb7d381f4cc2e82f52e1de752ae63632435/pproxy-1.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "67afd3c52e28a9888c57fc1bb9c88004", "sha256": "3e8d0dc921f778679f69c4c074fd356620fa64907b1551e7cd89afecfb07de2e" }, "downloads": -1, "filename": "pproxy-1.1.5.tar.gz", "has_sig": false, "md5_digest": "67afd3c52e28a9888c57fc1bb9c88004", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22461, "upload_time": "2016-11-15T05:23:06", "url": "https://files.pythonhosted.org/packages/5f/6d/b16235d6a20954d34e186d36b1f18ad1814e502679ef9c022413ee05298a/pproxy-1.1.5.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "182bb8d9cc4fa0d4a668bb30117fe404", "sha256": "b81e14f6968097eebf399ae4c12c4d1587a9e415b4617d026e08a95fa0843cc0" }, "downloads": -1, "filename": "pproxy-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "182bb8d9cc4fa0d4a668bb30117fe404", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32590, "upload_time": "2016-11-15T07:44:46", "url": "https://files.pythonhosted.org/packages/98/a0/57f7b011de539f96039fbdf59a8eb60f9cc0e5f65610206f39bb684d209b/pproxy-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1675029bd361575734a973807d65c691", "sha256": "c7439296b946f01e965bf642839dedd9f5fbe0934f3b5cba5895c75498d3b4db" }, "downloads": -1, "filename": "pproxy-1.2.0.tar.gz", "has_sig": false, "md5_digest": "1675029bd361575734a973807d65c691", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22467, "upload_time": "2016-11-15T07:44:51", "url": "https://files.pythonhosted.org/packages/aa/d5/1a7ae6fa5f6f6091812dfe806d3aa035249af2f1d53a624d87226bdc56cb/pproxy-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "744f5110d27e5940fd135c81f7babc77", "sha256": "ea0358c264f749b0807b0b800b9cfe12482cb9034b639de480e01c273eb94275" }, "downloads": -1, "filename": "pproxy-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "744f5110d27e5940fd135c81f7babc77", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 33328, "upload_time": "2016-11-21T07:35:29", "url": "https://files.pythonhosted.org/packages/fa/7d/dde18a599a8d40ef6721e8f95577011eac224ee6759e001ae930b0a82c51/pproxy-1.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ba30a946d87c6e5e85e032c7b8d79271", "sha256": "037566757a70649663443512a086ab0e2c0ac1d80a5ae4a3dfee6151b9cc0ee5" }, "downloads": -1, "filename": "pproxy-1.2.1.tar.gz", "has_sig": false, "md5_digest": "ba30a946d87c6e5e85e032c7b8d79271", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23393, "upload_time": "2016-11-21T07:35:32", "url": "https://files.pythonhosted.org/packages/dc/3a/f1cc9d6d975b0593594f4eea63ade47af67b759fe591a4bae09d7be5bc7d/pproxy-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "ac4c16969f30fcf38fdb5494b1d39c2c", "sha256": "b2c47ac4f6bbe9e205c6fd0fce7f5303c1c0e1496c24e44ba190bf136ad61b8c" }, "downloads": -1, "filename": "pproxy-1.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ac4c16969f30fcf38fdb5494b1d39c2c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 33570, "upload_time": "2017-04-11T05:27:43", "url": "https://files.pythonhosted.org/packages/79/f1/c79c83a83dfecfc93ceca9ded91dfc2c9adc5a4a88caa72655656addefbf/pproxy-1.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5562b6821a66e1de8a2bcb813ed9d9ab", "sha256": "d97c874fc66d5e7873e091e57c647174edff827de5b31f9d9f097fb6be7e28fc" }, "downloads": -1, "filename": "pproxy-1.2.2.tar.gz", "has_sig": false, "md5_digest": "5562b6821a66e1de8a2bcb813ed9d9ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23648, "upload_time": "2017-04-11T05:27:46", "url": "https://files.pythonhosted.org/packages/fa/4c/56090d944b27a735d8d903fc3c3090034e4418fb8f87d0e33bf31b59e63c/pproxy-1.2.2.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "61015a23d96570b73ecc8c2b55b962ee", "sha256": "5b5a2fc6611b884aee0a3e1e2be7cfaa5239581d3958781110899153902870bd" }, "downloads": -1, "filename": "pproxy-1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "61015a23d96570b73ecc8c2b55b962ee", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 20322, "upload_time": "2018-07-26T06:03:22", "url": "https://files.pythonhosted.org/packages/98/87/1cc059408ffd2e9474f9cf6860c6b93b5fe3f86c1461cdcccecdc7dc54df/pproxy-1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f0b8dd28a19423cb434ccbb72d0e011d", "sha256": "eb0ce2e7eb24ecdc4b8a13a25ecfc5820101c50adbc81a78246f25957552240b" }, "downloads": -1, "filename": "pproxy-1.3.tar.gz", "has_sig": false, "md5_digest": "f0b8dd28a19423cb434ccbb72d0e011d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 23301, "upload_time": "2018-07-26T06:03:23", "url": "https://files.pythonhosted.org/packages/f2/00/cbaf5b4a053512ebbe499da5c73edc1f0c2f734e46f6264406bcbdef464c/pproxy-1.3.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "f8d7af03a39886bf2d915835a2f4eff1", "sha256": "1b636cda29da445c6a884258830cd3b30fa121bfee0be154d89502effebb194a" }, "downloads": -1, "filename": "pproxy-1.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f8d7af03a39886bf2d915835a2f4eff1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 20407, "upload_time": "2018-07-26T07:02:57", "url": "https://files.pythonhosted.org/packages/40/73/9bbba86797fed01fe2613092a66d29182b1013fc888338549b66870e1966/pproxy-1.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7d803b7f6837d9b9cae6447a946b76d9", "sha256": "9030bd121ec430154689ef7fe8e2607a3478ea1927abf9d4066ec5035ad4260e" }, "downloads": -1, "filename": "pproxy-1.3.1.tar.gz", "has_sig": false, "md5_digest": "7d803b7f6837d9b9cae6447a946b76d9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 23413, "upload_time": "2018-07-26T07:02:59", "url": "https://files.pythonhosted.org/packages/f1/08/c89d379c2eed6121569be16f1f0061c2b0ab396dbb93120123c1d0cd541c/pproxy-1.3.1.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "15827348dc2719278e027ef17738dee9", "sha256": "063d423800ef1aa7e8fabd2d7cc60511c35f03d2d1e2221c081020eeda5fefee" }, "downloads": -1, "filename": "pproxy-1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "15827348dc2719278e027ef17738dee9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 22936, "upload_time": "2018-07-27T09:09:57", "url": "https://files.pythonhosted.org/packages/8c/26/d646e0c7984f15eae6db5233efcccfa0b030c94606e15b5282d0ee1ca1cb/pproxy-1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aad3fd5a081b7ed2e42da1844fdef9fb", "sha256": "884f657d08ae9f288b1bad44f931e2f2d3fb9227e38df550f0c67dc1f4eed28b" }, "downloads": -1, "filename": "pproxy-1.4.tar.gz", "has_sig": false, "md5_digest": "aad3fd5a081b7ed2e42da1844fdef9fb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 25592, "upload_time": "2018-07-27T09:09:59", "url": "https://files.pythonhosted.org/packages/3c/51/69bc8563438b615924d61772fe33aed56e87be1bfa3f137e207f002f5c2e/pproxy-1.4.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "6fa9e52aaac0bac7423b7bb333c41162", "sha256": "d5c18ff474181568c147c07207b4e4c2e982ed470d5a4490ba3f3b3bb222eb21" }, "downloads": -1, "filename": "pproxy-1.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6fa9e52aaac0bac7423b7bb333c41162", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 22962, "upload_time": "2018-07-27T09:11:41", "url": "https://files.pythonhosted.org/packages/2f/64/3e8a997c1b6de8ec84376aed7abcfa0b345b1ea141adf3888f81f4a4f128/pproxy-1.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b921d08fb7e691d02ad4c20c8a14453a", "sha256": "d778114648ac1765e0c31ba02e61401629784ce65856b76a7dc2d0e73e34a712" }, "downloads": -1, "filename": "pproxy-1.4.1.tar.gz", "has_sig": false, "md5_digest": "b921d08fb7e691d02ad4c20c8a14453a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 25596, "upload_time": "2018-07-27T09:11:43", "url": "https://files.pythonhosted.org/packages/47/d7/6f499d0d3b445c9ee250cac8f0ec514733c0bdf382c34aac8e743a081faf/pproxy-1.4.1.tar.gz" } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "826da31f8fe320945a53fa49f4ffd20e", "sha256": "5fbcd0d5a418fc68494d76a82de59b56aa346f8015904490781a820764b1092c" }, "downloads": -1, "filename": "pproxy-1.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "826da31f8fe320945a53fa49f4ffd20e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 23293, "upload_time": "2018-08-01T05:19:49", "url": "https://files.pythonhosted.org/packages/e2/62/fa4876397367123766de82dd79aaed2cae42d5da5348c6cb13999cd45def/pproxy-1.4.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "458a147568e1e6fd457eb0398acfe02d", "sha256": "7f24e8df6757d4562ece0559e49623f1a7c166d639804bbc465b3eb033e2cd3f" }, "downloads": -1, "filename": "pproxy-1.4.2.tar.gz", "has_sig": false, "md5_digest": "458a147568e1e6fd457eb0398acfe02d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 26173, "upload_time": "2018-08-01T05:19:51", "url": "https://files.pythonhosted.org/packages/93/91/c738d0afac084cd150fcd07aacba6e2fc916a41e92aed2f142e0c2282ba4/pproxy-1.4.2.tar.gz" } ], "1.4.3": [ { "comment_text": "", "digests": { "md5": "bda53038408f02418494f98b2f8f0002", "sha256": "e5d2b776d93d558309f555f519fe835e1dbadee834eff6f711fea3a3b6f62c92" }, "downloads": -1, "filename": "pproxy-1.4.3-py3-none-any.whl", "has_sig": false, "md5_digest": "bda53038408f02418494f98b2f8f0002", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 23708, "upload_time": "2018-08-02T06:23:50", "url": "https://files.pythonhosted.org/packages/e7/f3/9f80c518e5ad9ebbc457a18a01f6d743c03a67eee6684ccc52cd6ee1713a/pproxy-1.4.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "43de69574194990a93f02ca2df27aad6", "sha256": "c5512313550d76ab4ba2693a81826e7325c3f0cbf102a46175b486a682a3fe8c" }, "downloads": -1, "filename": "pproxy-1.4.3.tar.gz", "has_sig": false, "md5_digest": "43de69574194990a93f02ca2df27aad6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 27211, "upload_time": "2018-08-02T06:23:52", "url": "https://files.pythonhosted.org/packages/62/eb/cfa2fe3327bdf5e8894bfde9295310d357c0740407ea1e78b39fbf6d869c/pproxy-1.4.3.tar.gz" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "14ac2f6eb833934760bfb4093bb6d7d3", "sha256": "108c6933a2e4e7fdd386860ac96db26383166f0426885d8d1a3c21f0e9cd8630" }, "downloads": -1, "filename": "pproxy-1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "14ac2f6eb833934760bfb4093bb6d7d3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 25340, "upload_time": "2018-08-07T16:21:35", "url": "https://files.pythonhosted.org/packages/06/31/b1a7741d50e5dc1eb282a9e675c9d9b62a9f38639c47ef7d021bed952889/pproxy-1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7701eb5e17aa9f4d5dcf9b4e14cc27b5", "sha256": "02fc63197955807ef173fabd4d478de591814b261cc295d9ee4feff4a35141fb" }, "downloads": -1, "filename": "pproxy-1.5.tar.gz", "has_sig": false, "md5_digest": "7701eb5e17aa9f4d5dcf9b4e14cc27b5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 28760, "upload_time": "2018-08-07T16:21:38", "url": "https://files.pythonhosted.org/packages/a1/f3/14049f04a54969146a819bf636f61a0b1aadbd556169e60d3c98e315f6f9/pproxy-1.5.tar.gz" } ], "1.5.1": [ { "comment_text": "", "digests": { "md5": "86a626ae0793e3a9731ab91ec264fcea", "sha256": "1e9be7c9d4ebeacaba1bec7dbeb0de36ac45aace1ff9ff06992bed94834e79aa" }, "downloads": -1, "filename": "pproxy-1.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "86a626ae0793e3a9731ab91ec264fcea", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 25390, "upload_time": "2018-08-08T05:08:43", "url": "https://files.pythonhosted.org/packages/da/86/4bf56c905d8f03db78497324cd50a88556ca84dc0bff8a44df9a6c67ee2f/pproxy-1.5.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "13bf29aeeaf66859ad3f93ae752bb7e8", "sha256": "f2ab58f36ac33a94a4403102fd1c38c9ace28864d31fcc5ddebd7e1fc09c8120" }, "downloads": -1, "filename": "pproxy-1.5.1.tar.gz", "has_sig": false, "md5_digest": "13bf29aeeaf66859ad3f93ae752bb7e8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 28803, "upload_time": "2018-08-08T05:08:45", "url": "https://files.pythonhosted.org/packages/d6/d1/7f37d3313e50f3945a4a3e9fa32da12ebfc8f96e95a3cf93abea0acc18b4/pproxy-1.5.1.tar.gz" } ], "1.5.2": [ { "comment_text": "", "digests": { "md5": "05a9eebb0ef06650f2ed0508fb06f239", "sha256": "8d4c05904f2485d103b044e5fbb67dc6ec65698e74f75ef508b89bb7192e3563" }, "downloads": -1, "filename": "pproxy-1.5.2-py3-none-any.whl", "has_sig": false, "md5_digest": "05a9eebb0ef06650f2ed0508fb06f239", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 25392, "upload_time": "2018-08-08T08:49:40", "url": "https://files.pythonhosted.org/packages/5b/09/9c0b8022937c7b97f166cff129f1d312ac86099f055ce43cdee220347313/pproxy-1.5.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e1824515b59e89356d40c887b40cf411", "sha256": "37715e775ed0195cfa790517fe580d7e45363ce22fedf47b0c683a9fbef7ef21" }, "downloads": -1, "filename": "pproxy-1.5.2.tar.gz", "has_sig": false, "md5_digest": "e1824515b59e89356d40c887b40cf411", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 28817, "upload_time": "2018-08-08T08:49:42", "url": "https://files.pythonhosted.org/packages/d3/45/8994609736fec9f9afc6fbb741a35432dff25e742a10a9c9ab9cee55c5d1/pproxy-1.5.2.tar.gz" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "0f649c7cec13f12da98074a118dec0e4", "sha256": "35762bf3dd0478098092619bfcf9cf9765bfc972b9c7d868bd8fe1f1441094ce" }, "downloads": -1, "filename": "pproxy-1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "0f649c7cec13f12da98074a118dec0e4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 26248, "upload_time": "2018-08-08T19:28:06", "url": "https://files.pythonhosted.org/packages/26/92/327e0e484764e1d66143bb5f090dd1131e8df2a9e0c085ea782af66c76de/pproxy-1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "77e8ce8ac0b4a18952b0d89d64348d1a", "sha256": "0349875b188f4d7463e1675ca118b14a14468534a7b60cfb7196842de4d7bce5" }, "downloads": -1, "filename": "pproxy-1.6.tar.gz", "has_sig": false, "md5_digest": "77e8ce8ac0b4a18952b0d89d64348d1a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 29607, "upload_time": "2018-08-08T19:28:08", "url": "https://files.pythonhosted.org/packages/72/9f/db4513ccc91841d2346daf99efe5c7b1947df5d1849d940421aeef797669/pproxy-1.6.tar.gz" } ], "1.6.1": [ { "comment_text": "", "digests": { "md5": "3f74485711bb19d04157cfd9444d21f7", "sha256": "594c625e0424185dfaf205c0b0c3fb5a551ef1706861dfbfa3abca9792e4950f" }, "downloads": -1, "filename": "pproxy-1.6.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3f74485711bb19d04157cfd9444d21f7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 26268, "upload_time": "2018-08-09T02:21:13", "url": "https://files.pythonhosted.org/packages/14/d8/228ce186ac3de8cacd65c43b1669379c6ad5f9895c10a9ecca58caf92ce8/pproxy-1.6.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e198ce91292866cb53ce7fdc9d7839c5", "sha256": "7cc61dfb31ebc6c8b0c39eb89c7fb56e08014e32b0da47e6743ed94f57540c0e" }, "downloads": -1, "filename": "pproxy-1.6.1.tar.gz", "has_sig": false, "md5_digest": "e198ce91292866cb53ce7fdc9d7839c5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 29621, "upload_time": "2018-08-09T02:21:16", "url": "https://files.pythonhosted.org/packages/f1/a2/f3e83868cb480e6e0bc506f4030e205458cee0312154bd92a59ae745a078/pproxy-1.6.1.tar.gz" } ], "1.6.2": [ { "comment_text": "", "digests": { "md5": "a279532fb54caed2df19efb8733dc5a7", "sha256": "2c433de251b797d33b6f1d6f04bbb406b82f6b062865e6158dc89862d67c7344" }, "downloads": -1, "filename": "pproxy-1.6.2-py3-none-any.whl", "has_sig": false, "md5_digest": "a279532fb54caed2df19efb8733dc5a7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 26460, "upload_time": "2018-08-10T08:37:25", "url": "https://files.pythonhosted.org/packages/93/fe/4e4b76885549ba3eb5f20d716933421a97fd36a0f697d56a9b00ede6c237/pproxy-1.6.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cde9568696c930badfe315909e38c3c1", "sha256": "6c45fee0ad7d54c8e522d51bd8f1eefa15f1d7b44ff1d07f1812ed6049d386d2" }, "downloads": -1, "filename": "pproxy-1.6.2.tar.gz", "has_sig": false, "md5_digest": "cde9568696c930badfe315909e38c3c1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 29806, "upload_time": "2018-08-10T08:37:27", "url": "https://files.pythonhosted.org/packages/77/ab/adc64ba1d59cdb282fce20aff429f31ec32989527defcd294dd5b4957077/pproxy-1.6.2.tar.gz" } ], "1.6.3": [ { "comment_text": "", "digests": { "md5": "c7e4647ff8aeb6b3abc31afb6c868141", "sha256": "510b2113e0cf51db139101c9b622da0c83a39acdad714b9f9ef2a9b7b53f69da" }, "downloads": -1, "filename": "pproxy-1.6.3-py3-none-any.whl", "has_sig": false, "md5_digest": "c7e4647ff8aeb6b3abc31afb6c868141", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 27817, "upload_time": "2018-08-10T16:42:52", "url": "https://files.pythonhosted.org/packages/e3/06/515acbddde001f62de204c95c4cbbffc1bae6c1aa19ae1a206f5377908b3/pproxy-1.6.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7b43e5e0574458655595476b9916de14", "sha256": "b078aac46df3f10cf2b7adbc3eb5812e9356cffdc63758888a119aef5d833f62" }, "downloads": -1, "filename": "pproxy-1.6.3.tar.gz", "has_sig": false, "md5_digest": "7b43e5e0574458655595476b9916de14", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 30914, "upload_time": "2018-08-10T16:42:54", "url": "https://files.pythonhosted.org/packages/a4/2b/da233e4e5c4b744a575af48d7221781c9c0020ed728ee63bcd687f827037/pproxy-1.6.3.tar.gz" } ], "1.6.4": [ { "comment_text": "", "digests": { "md5": "209337445b9067052c62d4286641c568", "sha256": "62b90404f119356fbbba1fd8f9f2d854083386327aeda8d91024855545b136b2" }, "downloads": -1, "filename": "pproxy-1.6.4-py3-none-any.whl", "has_sig": false, "md5_digest": "209337445b9067052c62d4286641c568", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 27899, "upload_time": "2018-08-13T08:15:21", "url": "https://files.pythonhosted.org/packages/aa/b2/22885c2227c9b9ec61c19c9263af51b099520092193c61dbf307ebe934cb/pproxy-1.6.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a6fe8b3535204f3da23c28ca7d615c7b", "sha256": "fff72bcad42763df1002c4ea9f7a46908d54a15d2b9dd68dcccb058b7d6ebf09" }, "downloads": -1, "filename": "pproxy-1.6.4.tar.gz", "has_sig": false, "md5_digest": "a6fe8b3535204f3da23c28ca7d615c7b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 31070, "upload_time": "2018-08-13T08:15:23", "url": "https://files.pythonhosted.org/packages/39/2b/6fb0a1e6e8357c3b0c303264cc4f085acc18c9b0ec522f458849113187e9/pproxy-1.6.4.tar.gz" } ], "1.6.5": [ { "comment_text": "", "digests": { "md5": "0dfe788f8c85ab964abf73033bcf8a9a", "sha256": "d4fdb7347c3a15f14eea72a069ef93768ab6bf91b4fb2df4349be94402ea270b" }, "downloads": -1, "filename": "pproxy-1.6.5-py3-none-any.whl", "has_sig": false, "md5_digest": "0dfe788f8c85ab964abf73033bcf8a9a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 28251, "upload_time": "2018-08-27T09:09:32", "url": "https://files.pythonhosted.org/packages/c4/c1/f24767229fd11ec6995d0f3d6c93bc7c4edff0b8a0807f949d7a3ccf262e/pproxy-1.6.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "94b9658841c03b351fba669606d22096", "sha256": "8a66d77faf4fc7a4e2fed6e37a6073a5a297f49faed0dd960b9d9daa7bfaaab6" }, "downloads": -1, "filename": "pproxy-1.6.5.tar.gz", "has_sig": false, "md5_digest": "94b9658841c03b351fba669606d22096", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 31901, "upload_time": "2018-08-27T09:09:34", "url": "https://files.pythonhosted.org/packages/98/81/b3a4ecf768b7752bb45229b4479ec31a49e1e1540acc85c5780f5447627d/pproxy-1.6.5.tar.gz" } ], "1.6.6": [ { "comment_text": "", "digests": { "md5": "d653558a5195fe9bf239946e53923b3c", "sha256": "046823a11200bd82256d41e6a8230e9c658970de27efe6c097bb1cc39d63790f" }, "downloads": -1, "filename": "pproxy-1.6.6-py3-none-any.whl", "has_sig": false, "md5_digest": "d653558a5195fe9bf239946e53923b3c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 28991, "upload_time": "2018-09-12T17:33:32", "url": "https://files.pythonhosted.org/packages/6a/43/12dce287c545a7d4b5322934835294737499b68e5c21f47be80b52145290/pproxy-1.6.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "15f2f2df8b9197dc59a68f539b83c119", "sha256": "29e65bd809fd7d1fc221d8873ccd3463f248aada35f21d8f2e20c6983a7575b7" }, "downloads": -1, "filename": "pproxy-1.6.6.tar.gz", "has_sig": false, "md5_digest": "15f2f2df8b9197dc59a68f539b83c119", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 33167, "upload_time": "2018-09-12T17:33:34", "url": "https://files.pythonhosted.org/packages/2a/00/25275fa30a566035ba01691d72bc0fbab4f055a04b3295ee4db29a5e9d52/pproxy-1.6.6.tar.gz" } ], "1.7.0": [ { "comment_text": "", "digests": { "md5": "429dfe243ed42f26f2ad2d2f0523f8df", "sha256": "67c07e78187c01270d34efbd3322fdedb3e266080f897640e707b81f93bd54a3" }, "downloads": -1, "filename": "pproxy-1.7.0-py3-none-any.whl", "has_sig": false, "md5_digest": "429dfe243ed42f26f2ad2d2f0523f8df", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 31173, "upload_time": "2018-09-13T14:18:01", "url": "https://files.pythonhosted.org/packages/18/51/4a195bc127c6765326e446b47af5058d0e35d92f286bcdadb56c72b87ad2/pproxy-1.7.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b14ec20a27780156e46e8e267c9dd792", "sha256": "2fbed7c7befd5c618fe2c184e849c8dfeadd2965e7fb55ca22773e4bd6b447be" }, "downloads": -1, "filename": "pproxy-1.7.0.tar.gz", "has_sig": false, "md5_digest": "b14ec20a27780156e46e8e267c9dd792", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 35204, "upload_time": "2018-09-13T14:18:04", "url": "https://files.pythonhosted.org/packages/ec/8f/56ef145eb89e3579ebbb35118a5c7449aa88c1869916c506971f47ccc8ca/pproxy-1.7.0.tar.gz" } ], "1.7.1": [ { "comment_text": "", "digests": { "md5": "12b8153056ee1e446a3bace6cc3c801b", "sha256": "215b1e08db1aeb1168b69e11db392a15904d2d12b4a234aa532941330183c737" }, "downloads": -1, "filename": "pproxy-1.7.1-py3-none-any.whl", "has_sig": false, "md5_digest": "12b8153056ee1e446a3bace6cc3c801b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 31175, "upload_time": "2018-09-13T14:19:51", "url": "https://files.pythonhosted.org/packages/1b/07/347f23cf0b12f749c0c4d4ccaf4e0950c201e65f9101bd3e16bea14252b0/pproxy-1.7.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "91d8c915c8ad5c53792ea764b0a7886f", "sha256": "6d23f9997bc527ae22694b6cf86ab6ddb1bbda8a65a5c1ec316fd28d2a178c06" }, "downloads": -1, "filename": "pproxy-1.7.1.tar.gz", "has_sig": false, "md5_digest": "91d8c915c8ad5c53792ea764b0a7886f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 35209, "upload_time": "2018-09-13T14:19:53", "url": "https://files.pythonhosted.org/packages/3d/6b/ffa0b2faf7480f417d43de43a34c85c0f683da2e18ce695eb9adcb3f3d68/pproxy-1.7.1.tar.gz" } ], "1.7.2": [ { "comment_text": "", "digests": { "md5": "24e7b6f64d57249020cef90fd126ac19", "sha256": "e2fe421a65329692326261b263f6ed414f47a6860d696793e5615f2724f8673e" }, "downloads": -1, "filename": "pproxy-1.7.2-py3-none-any.whl", "has_sig": false, "md5_digest": "24e7b6f64d57249020cef90fd126ac19", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 31177, "upload_time": "2018-09-13T14:35:42", "url": "https://files.pythonhosted.org/packages/f6/5a/5ffdae8e05a351f4b7e3d0cf9ecec3565956fabf90f380b736ebe0a4597e/pproxy-1.7.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc1b53b812ae0bd16e84da596bd93a43", "sha256": "7e41695af649a3c8268ff9b848905b4bdc2d7b4940d49912ba1c4e61c95f1cc7" }, "downloads": -1, "filename": "pproxy-1.7.2.tar.gz", "has_sig": false, "md5_digest": "fc1b53b812ae0bd16e84da596bd93a43", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 35204, "upload_time": "2018-09-13T14:35:44", "url": "https://files.pythonhosted.org/packages/c9/d9/e3de3d9e038dc747d8244e3a0d3221657247ad42d6a2fae4b99a1bc7e618/pproxy-1.7.2.tar.gz" } ], "1.7.3": [ { "comment_text": "", "digests": { "md5": "aac4eadb92d66df638be24f01669b560", "sha256": "e08d083d118f781d956541809578f54ddb578d3c6a034d48a271ad213e54c133" }, "downloads": -1, "filename": "pproxy-1.7.3-py3-none-any.whl", "has_sig": false, "md5_digest": "aac4eadb92d66df638be24f01669b560", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 31514, "upload_time": "2018-09-20T06:28:37", "url": "https://files.pythonhosted.org/packages/e3/70/4c2629cbafe40001b107594971fc811c83266144d1b888d86a37b126bc50/pproxy-1.7.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fdb31af1e9281dfa4378acde4d7caf1b", "sha256": "7e10253cff5a1218a31ed26e53bdce3f76873e8bb0a8468c5c2d42b51f25ceeb" }, "downloads": -1, "filename": "pproxy-1.7.3.tar.gz", "has_sig": false, "md5_digest": "fdb31af1e9281dfa4378acde4d7caf1b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 35688, "upload_time": "2018-09-20T06:28:40", "url": "https://files.pythonhosted.org/packages/47/8e/a7068e70499719d921c0e6780c9249c093494d40417b1feda7d28ed51116/pproxy-1.7.3.tar.gz" } ], "1.7.4": [ { "comment_text": "", "digests": { "md5": "aab0c490f298d044dd36987d12f75ef5", "sha256": "1d6a7609a93526e967c8dcef4073da1a12725331f209c3791488dd0148850a98" }, "downloads": -1, "filename": "pproxy-1.7.4-py3-none-any.whl", "has_sig": false, "md5_digest": "aab0c490f298d044dd36987d12f75ef5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 32694, "upload_time": "2018-09-28T04:04:19", "url": "https://files.pythonhosted.org/packages/1a/e7/6ac625e7ded7e795accb8be1e00f678b9fc9ca0633fa257a398551db3e7c/pproxy-1.7.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c9f11484b65df19c5cfa46cde874926e", "sha256": "b7a99ee775395c3753dc678c4a3f4060d1e5c8b166e9286b3220117028918680" }, "downloads": -1, "filename": "pproxy-1.7.4.tar.gz", "has_sig": false, "md5_digest": "c9f11484b65df19c5cfa46cde874926e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 36795, "upload_time": "2018-09-28T04:04:21", "url": "https://files.pythonhosted.org/packages/93/01/c53162093ace61155534716fea70e446311661d9b441521dbddfeab6d941/pproxy-1.7.4.tar.gz" } ], "1.7.5": [ { "comment_text": "", "digests": { "md5": "2bbf8d1bd51e022809c27fef1955f1bb", "sha256": "ca20d17a9a5a1dba8721f52d85e15d3496a9ab28da05b34fb0814489e931fcf3" }, "downloads": -1, "filename": "pproxy-1.7.5-py3-none-any.whl", "has_sig": false, "md5_digest": "2bbf8d1bd51e022809c27fef1955f1bb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 32736, "upload_time": "2018-09-28T09:09:30", "url": "https://files.pythonhosted.org/packages/19/91/035e787e001ea4f74e9ab0e2483bbc83503948e79bf345ef7a7b7d879514/pproxy-1.7.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7bf3048eeb4002e0d4934571e65af6c2", "sha256": "9ac95536d8197b42a41204e36eda59a0b9af1296fe76cb6e815ca12e971e481a" }, "downloads": -1, "filename": "pproxy-1.7.5.tar.gz", "has_sig": false, "md5_digest": "7bf3048eeb4002e0d4934571e65af6c2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 36857, "upload_time": "2018-09-28T09:09:32", "url": "https://files.pythonhosted.org/packages/35/7b/e7b0e29ca9804b7a4667f000a85e1bac411a40b7059f314642d0bbd61dc3/pproxy-1.7.5.tar.gz" } ], "1.7.6": [ { "comment_text": "", "digests": { "md5": "dfef5e73a500a18cb584869f30504363", "sha256": "446d22edd17a8d2c3b1a400a50d186752330490ee4c906ab4cfe4f99bdf9ca0b" }, "downloads": -1, "filename": "pproxy-1.7.6-py3-none-any.whl", "has_sig": false, "md5_digest": "dfef5e73a500a18cb584869f30504363", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 32717, "upload_time": "2018-09-28T09:16:17", "url": "https://files.pythonhosted.org/packages/2c/72/971c9a1815601108df8f640a38a9f2d9991aae8de128240850a3f667c12b/pproxy-1.7.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "315c0911c4bc0ed1b84a15f4e354a643", "sha256": "02dd177101f62e74564cfd0dbeee3f2cd9485b12da6c7c6ce7956cb27f07f0cf" }, "downloads": -1, "filename": "pproxy-1.7.6.tar.gz", "has_sig": false, "md5_digest": "315c0911c4bc0ed1b84a15f4e354a643", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 36825, "upload_time": "2018-09-28T09:16:19", "url": "https://files.pythonhosted.org/packages/9f/d8/cb107e36db94b39ee4d4844cdd89f477101b08cb1ab364e6b604d70eaecb/pproxy-1.7.6.tar.gz" } ], "1.7.7": [ { "comment_text": "", "digests": { "md5": "a22f03af9390891f156d639f677aaa7e", "sha256": "add0f90b58a59b1ebf98b1d4e60242a79f4f0f8b697ad7739a093ddfd0b85a6b" }, "downloads": -1, "filename": "pproxy-1.7.7-py3-none-any.whl", "has_sig": false, "md5_digest": "a22f03af9390891f156d639f677aaa7e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 32760, "upload_time": "2018-09-28T09:46:50", "url": "https://files.pythonhosted.org/packages/91/4c/a658272d8568ab5cb8d718e32a915c251f67dc6dd92ce0ca3324d04e5f04/pproxy-1.7.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6855098aeafce51356c36b7585666f63", "sha256": "37a8df76afbfe9abca052b1d11d2f995ce925dc6c8b4f957ee947f547da11145" }, "downloads": -1, "filename": "pproxy-1.7.7.tar.gz", "has_sig": false, "md5_digest": "6855098aeafce51356c36b7585666f63", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 36878, "upload_time": "2018-09-28T09:46:51", "url": "https://files.pythonhosted.org/packages/14/f2/4dc9045ca5f15c95622339390e7b4f7ef08e692c5034864bba4b84171392/pproxy-1.7.7.tar.gz" } ], "1.7.8": [ { "comment_text": "", "digests": { "md5": "01aa3ff7c99d287aaebeb7631bbf6a3f", "sha256": "9faacd268a27ad82bac9623bdc59f3fc6dee1a9746361af399755e94e74607db" }, "downloads": -1, "filename": "pproxy-1.7.8-py3-none-any.whl", "has_sig": false, "md5_digest": "01aa3ff7c99d287aaebeb7631bbf6a3f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 32751, "upload_time": "2018-09-28T09:49:18", "url": "https://files.pythonhosted.org/packages/09/e1/8d1748e8f5c109fb0cc2c955ed4fb16a5232da45075c02f1db25502942ed/pproxy-1.7.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "931c47d8bbe0985c7fe4793fe289ba5b", "sha256": "da6d537f1f7312d2b0d1b4a439481cbb3914306a67872d97e22da615129c5483" }, "downloads": -1, "filename": "pproxy-1.7.8.tar.gz", "has_sig": false, "md5_digest": "931c47d8bbe0985c7fe4793fe289ba5b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 36857, "upload_time": "2018-09-28T09:49:19", "url": "https://files.pythonhosted.org/packages/0c/92/de32b235df4cd1b9f80a4f1048724436b1155c900c1bfbc85af80c35d640/pproxy-1.7.8.tar.gz" } ], "1.7.9": [ { "comment_text": "", "digests": { "md5": "209501b30c99227a32feb3c1f8375eb9", "sha256": "f3060d26cad4984e2fe31794ea5c62fb520cdc9ca3ab228873782d54073fcf2f" }, "downloads": -1, "filename": "pproxy-1.7.9-py3-none-any.whl", "has_sig": false, "md5_digest": "209501b30c99227a32feb3c1f8375eb9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 32776, "upload_time": "2018-09-28T10:03:15", "url": "https://files.pythonhosted.org/packages/63/21/65e519e624053fb196f18a75cedc586d105011e24df2c18b935be51d505f/pproxy-1.7.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f9041c25e569845d6b531140e29eb91e", "sha256": "65839299346711914a170ccb51d3bdd05891178531a0ace970c2b5c0fe012d58" }, "downloads": -1, "filename": "pproxy-1.7.9.tar.gz", "has_sig": false, "md5_digest": "f9041c25e569845d6b531140e29eb91e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 36880, "upload_time": "2018-09-28T10:03:17", "url": "https://files.pythonhosted.org/packages/0e/16/0115497629ddf536c64300336988135307c318511a6bcd0ef48dd2928005/pproxy-1.7.9.tar.gz" } ], "1.8.0": [ { "comment_text": "", "digests": { "md5": "1229f3db88ae574e9bb4815cf255802c", "sha256": "9fbd967e23b7687927ae49c551a0e79a55473b6ffc6e53877f05a7dacab671b6" }, "downloads": -1, "filename": "pproxy-1.8.0-py3-none-any.whl", "has_sig": false, "md5_digest": "1229f3db88ae574e9bb4815cf255802c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 32784, "upload_time": "2018-09-28T10:06:02", "url": "https://files.pythonhosted.org/packages/52/3c/459b0305cf76703e01452befdfbe1bf89f9e2672d633157285b28ab8a981/pproxy-1.8.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "616140121584a24f727f4aaff2a7fe49", "sha256": "c99af8cd3a96d7c33f97a51bc9e6f9253194a588c59e55d902b970a7029e3556" }, "downloads": -1, "filename": "pproxy-1.8.0.tar.gz", "has_sig": false, "md5_digest": "616140121584a24f727f4aaff2a7fe49", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 36890, "upload_time": "2018-09-28T10:06:04", "url": "https://files.pythonhosted.org/packages/b5/4d/846acb4e6e8161cb6ba21cf62a5d7bb3452c69fa8f8aed982b418f16d48e/pproxy-1.8.0.tar.gz" } ], "1.8.1": [ { "comment_text": "", "digests": { "md5": "6f629aadf0c6ff670798080fe101b39b", "sha256": "c45cf65289226cb880495ddaae1773ea2a37d50929b36c9134903cf15a215f8a" }, "downloads": -1, "filename": "pproxy-1.8.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6f629aadf0c6ff670798080fe101b39b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 32793, "upload_time": "2018-09-28T10:08:22", "url": "https://files.pythonhosted.org/packages/d8/a2/2cfae4fb56ce3569eb62e342627bebc426a741d8b8cfd24c38b2cc4538a8/pproxy-1.8.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e5ffcef4f1cd8ca4479f493abe92b16c", "sha256": "1a73375031dd211db8cd05025d4c73a4faef2bee5ac8bf4c0e63b38bc0a141ab" }, "downloads": -1, "filename": "pproxy-1.8.1.tar.gz", "has_sig": false, "md5_digest": "e5ffcef4f1cd8ca4479f493abe92b16c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 36901, "upload_time": "2018-09-28T10:08:24", "url": "https://files.pythonhosted.org/packages/aa/79/90106713d11df0805063a0528b13e3ef151262d4295091215be3f6cec577/pproxy-1.8.1.tar.gz" } ], "1.8.2": [ { "comment_text": "", "digests": { "md5": "b854d45fc2a8a21bd46b13d12cf47062", "sha256": "954a6fc7b03d8655508c338c827397874f43956b4652b8bdc7cbea91100b7306" }, "downloads": -1, "filename": "pproxy-1.8.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b854d45fc2a8a21bd46b13d12cf47062", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 32800, "upload_time": "2018-09-28T11:10:59", "url": "https://files.pythonhosted.org/packages/f9/6e/3cc15cad3def3ed12a7296cad3b99fd89b68b4947f5e850634f4efeaa586/pproxy-1.8.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7c5e5f1fc3e25d9ffcfe2c6d00d8a153", "sha256": "5fdf256e18089cdec67eec495080a26e11e49497869876fe23d537d1ee290320" }, "downloads": -1, "filename": "pproxy-1.8.2.tar.gz", "has_sig": false, "md5_digest": "7c5e5f1fc3e25d9ffcfe2c6d00d8a153", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 36910, "upload_time": "2018-09-28T11:11:01", "url": "https://files.pythonhosted.org/packages/55/42/bfe600ec608485efc3bd2bb48b209d58b0ff9dcceab7216ec4922a09630d/pproxy-1.8.2.tar.gz" } ], "1.8.3": [ { "comment_text": "", "digests": { "md5": "c665db587fd2c15235a15219a099f420", "sha256": "261908426945ae40de9a668e2a414ae36cc91619e09d1a00f8126f1f6c7749da" }, "downloads": -1, "filename": "pproxy-1.8.3-py3-none-any.whl", "has_sig": false, "md5_digest": "c665db587fd2c15235a15219a099f420", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 32822, "upload_time": "2018-09-28T11:35:34", "url": "https://files.pythonhosted.org/packages/bf/c9/29a5ce49d8d770e9f2e6d84aa1d63272a5c2ef1a958ed19a4196416c9a9e/pproxy-1.8.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ba212157759b65e89b7291815f5b1db1", "sha256": "a83206ac586e24ae258d648a7f5b9b5cb58e366dab5101c0317864c9717e43c0" }, "downloads": -1, "filename": "pproxy-1.8.3.tar.gz", "has_sig": false, "md5_digest": "ba212157759b65e89b7291815f5b1db1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 36918, "upload_time": "2018-09-28T11:35:35", "url": "https://files.pythonhosted.org/packages/69/cd/1d71a8fe5e62395fbd2ddba305fbc5acf991d128a0fb55235d6f00d29153/pproxy-1.8.3.tar.gz" } ], "1.8.4": [ { "comment_text": "", "digests": { "md5": "aad35a645e1e92af9342432c838ea879", "sha256": "006b1cf952bcaec4cade51346ae2578c22c0fdca320685c73e0f78b2fe2e21b7" }, "downloads": -1, "filename": "pproxy-1.8.4-py3-none-any.whl", "has_sig": false, "md5_digest": "aad35a645e1e92af9342432c838ea879", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 32859, "upload_time": "2018-09-29T04:58:40", "url": "https://files.pythonhosted.org/packages/b2/f7/28a57ef0bded17a0d473ed96aa4471e666131cc34d4cbb726f6fc4088ad2/pproxy-1.8.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6d2c38f2843863f2bc1019d76c1c691d", "sha256": "e16a17add62b88046e794e246b491267df562f25dc318528755d3f0df84bde38" }, "downloads": -1, "filename": "pproxy-1.8.4.tar.gz", "has_sig": false, "md5_digest": "6d2c38f2843863f2bc1019d76c1c691d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 36953, "upload_time": "2018-09-29T04:58:42", "url": "https://files.pythonhosted.org/packages/ec/d9/4965baecf2e718e77b1695777b52f97103a52beacb2d82c09c3364b33b0b/pproxy-1.8.4.tar.gz" } ], "1.8.5": [ { "comment_text": "", "digests": { "md5": "ee3730bcba57ecccae1dc36591e5482a", "sha256": "1d43f633c82249ba123efd8956b4cc6d4a6bf05489f1d15bfada74b2a3b42650" }, "downloads": -1, "filename": "pproxy-1.8.5-py3-none-any.whl", "has_sig": false, "md5_digest": "ee3730bcba57ecccae1dc36591e5482a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 32902, "upload_time": "2018-09-30T08:56:23", "url": "https://files.pythonhosted.org/packages/cf/d2/f82efc8607adb07d7d7a0421d789912ca650d21cc6ff8242b921b88db87e/pproxy-1.8.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "439560139d94a7a94c6acbd1bf567fb2", "sha256": "5739f116bf5c828039d9f1972a156979659a088e9af306e1aad739f220d19b04" }, "downloads": -1, "filename": "pproxy-1.8.5.tar.gz", "has_sig": false, "md5_digest": "439560139d94a7a94c6acbd1bf567fb2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 36965, "upload_time": "2018-09-30T08:56:24", "url": "https://files.pythonhosted.org/packages/2a/79/67d169c828fa4fb537473d57c28023e1bd56fde67891f85bda187cd9ccfd/pproxy-1.8.5.tar.gz" } ], "1.8.6": [ { "comment_text": "", "digests": { "md5": "ebc7c6ea47468e9b698881d420e84873", "sha256": "4fc2579f74dae8c0439c61734e25ba69eb73a0cb46f1101a6bd37dd3c1005f39" }, "downloads": -1, "filename": "pproxy-1.8.6-py3-none-any.whl", "has_sig": false, "md5_digest": "ebc7c6ea47468e9b698881d420e84873", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 32904, "upload_time": "2018-10-12T05:09:30", "url": "https://files.pythonhosted.org/packages/10/da/26a478387bd9c203b94a9d49928939c755dae72f228ba11a4c5d6cdaad2f/pproxy-1.8.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c64d66159180c800767406caba83ffba", "sha256": "c1cde2d6700a5b1c6a58580b13823d6e4e17d6dd224349e12ca3d160fce2e93e" }, "downloads": -1, "filename": "pproxy-1.8.6.tar.gz", "has_sig": false, "md5_digest": "c64d66159180c800767406caba83ffba", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 36969, "upload_time": "2018-10-12T05:09:33", "url": "https://files.pythonhosted.org/packages/fa/d2/c4cc437734f6c4a2560b71d6db4cbc34c512194dcc7b12ce2ec3049d9aca/pproxy-1.8.6.tar.gz" } ], "1.8.7": [ { "comment_text": "", "digests": { "md5": "33f4b14655e8a2051fc58007e3e47c3c", "sha256": "e5c23db2ff105ea24618688c42aa725d4891506d875049b2de4b2f19c8c39bbf" }, "downloads": -1, "filename": "pproxy-1.8.7-py3-none-any.whl", "has_sig": false, "md5_digest": "33f4b14655e8a2051fc58007e3e47c3c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 32904, "upload_time": "2018-10-12T05:13:56", "url": "https://files.pythonhosted.org/packages/f1/aa/7226eae1f7c216557cdc951257b802330706100010d76713ba2dc52fa17a/pproxy-1.8.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a64bffd49c73aa04f494951be8b61914", "sha256": "a20164aa45b1106306fb9e20465e4c4d5d0915dd521a8868637495adc062f09f" }, "downloads": -1, "filename": "pproxy-1.8.7.tar.gz", "has_sig": false, "md5_digest": "a64bffd49c73aa04f494951be8b61914", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 36983, "upload_time": "2018-10-12T05:13:58", "url": "https://files.pythonhosted.org/packages/df/84/1505cf71eda4df3df4995f41b27dfb6e23c7fe420b744864f3315890abc2/pproxy-1.8.7.tar.gz" } ], "1.8.8": [ { "comment_text": "", "digests": { "md5": "14fb276a6785d3ca369a5cbb034e49d1", "sha256": "94bd311bc955d8b61cbbe10e95c16b05c4cfcaef09fb46cfb6692a98000afd29" }, "downloads": -1, "filename": "pproxy-1.8.8-py3-none-any.whl", "has_sig": false, "md5_digest": "14fb276a6785d3ca369a5cbb034e49d1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 32955, "upload_time": "2018-10-12T05:27:46", "url": "https://files.pythonhosted.org/packages/1b/d1/25257fec9e9b0181e166a49e6635b03cf48a3c1e8ebe1af521cedca27f0d/pproxy-1.8.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b7712d07cd10af75bb1ca837e0b86230", "sha256": "b5fa980747d96617a35b314ef25524def9bb36f7b46a67d92f24063e5ef4693d" }, "downloads": -1, "filename": "pproxy-1.8.8.tar.gz", "has_sig": false, "md5_digest": "b7712d07cd10af75bb1ca837e0b86230", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 37032, "upload_time": "2018-10-12T05:27:48", "url": "https://files.pythonhosted.org/packages/87/e9/0f03beb99b386a4e9755348dfd86bca090ff1eb7df26a792fc9386c15cce/pproxy-1.8.8.tar.gz" } ], "1.8.9": [ { "comment_text": "", "digests": { "md5": "a59ce56fd1b0cb5ce634ae2a39081a7f", "sha256": "f0f815f32bb1262292af4dd4fa83a072531621af6088db810e1f5b63c4b7fd5d" }, "downloads": -1, "filename": "pproxy-1.8.9-py3-none-any.whl", "has_sig": false, "md5_digest": "a59ce56fd1b0cb5ce634ae2a39081a7f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 32955, "upload_time": "2018-10-12T05:48:19", "url": "https://files.pythonhosted.org/packages/9b/ca/6a0a7387e11ff7155b7f0ce032593502cf1dc5f9c7f1955591744cf4326c/pproxy-1.8.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bd2882678e9df91f8fc6a56b7496d80d", "sha256": "143b7e73316231f0de227abc377946f24f633a4bc1d6d4a4a8ba917f30b3f808" }, "downloads": -1, "filename": "pproxy-1.8.9.tar.gz", "has_sig": false, "md5_digest": "bd2882678e9df91f8fc6a56b7496d80d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 37037, "upload_time": "2018-10-12T05:48:21", "url": "https://files.pythonhosted.org/packages/b6/3e/cbdae80d3f045feac22e377f2aed43cb1c0045ea34fc7ab69204253adb63/pproxy-1.8.9.tar.gz" } ], "1.9.0": [ { "comment_text": "", "digests": { "md5": "b5a34a41b21e9a9814fe29e78bb934eb", "sha256": "35ea356297fd37cc8f6a5c3857555ccc3f4d94dde97a8e97a7caf93cd54ee11e" }, "downloads": -1, "filename": "pproxy-1.9.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b5a34a41b21e9a9814fe29e78bb934eb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 33495, "upload_time": "2018-11-09T12:35:28", "url": "https://files.pythonhosted.org/packages/c9/24/86d0356995c419bfaf02b466c0f4c126fdc1bb28018a47870d67c2742454/pproxy-1.9.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a5bcb9844af5868e4856727d4df56a91", "sha256": "3581b469f1dbbdd4d31e5bdba7430b0ec77c117ed5701ff23ef3551590762671" }, "downloads": -1, "filename": "pproxy-1.9.0.tar.gz", "has_sig": false, "md5_digest": "a5bcb9844af5868e4856727d4df56a91", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 37521, "upload_time": "2018-11-09T12:35:31", "url": "https://files.pythonhosted.org/packages/3f/b0/2362bbc33f13784dc28a2460d816238295e78b081fd109d358f0f9eab552/pproxy-1.9.0.tar.gz" } ], "1.9.1": [ { "comment_text": "", "digests": { "md5": "ccfc48f585eb147f675265ea3e7d5d90", "sha256": "8122b7e36dac88cdab212dab33f030521164d70d81f47c0a2e1d600aa3f41ffb" }, "downloads": -1, "filename": "pproxy-1.9.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ccfc48f585eb147f675265ea3e7d5d90", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 33877, "upload_time": "2018-11-09T13:53:35", "url": "https://files.pythonhosted.org/packages/4e/7a/4fedc5edbb658ade5c35079b9f90ab763d9f447f46a7b9ec952ada5f51f2/pproxy-1.9.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d7ff4f03a6693a27a99a974009b0e594", "sha256": "138b3bf59537d018929a2caeb6643cb97a9cc8ee7a7ced9e6e08e3d42739ba53" }, "downloads": -1, "filename": "pproxy-1.9.1.tar.gz", "has_sig": false, "md5_digest": "d7ff4f03a6693a27a99a974009b0e594", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 38293, "upload_time": "2018-11-09T13:53:36", "url": "https://files.pythonhosted.org/packages/28/b5/0726f166eb4732ce331b746804afb46b45899616399c23723269c4ebf80c/pproxy-1.9.1.tar.gz" } ], "1.9.2": [ { "comment_text": "", "digests": { "md5": "f6e3582c7feb874da8d10cc8c8d730cb", "sha256": "9b230a2ea372371329e80576c519a850791ffefbda77e5430d99db085db262b6" }, "downloads": -1, "filename": "pproxy-1.9.2-py3-none-any.whl", "has_sig": false, "md5_digest": "f6e3582c7feb874da8d10cc8c8d730cb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 33910, "upload_time": "2018-11-23T07:08:09", "url": "https://files.pythonhosted.org/packages/ce/88/da5b3169663a58f173a5c7a185172f7d6dbcdd19727b1af8884542e19229/pproxy-1.9.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "189fea84f803e52ee03c1a67b5c2fa9b", "sha256": "b1b23ae2bcaf76c43bb6bb0ed9420c0ea45b66f522cc730306e995cbdf0abcc0" }, "downloads": -1, "filename": "pproxy-1.9.2.tar.gz", "has_sig": false, "md5_digest": "189fea84f803e52ee03c1a67b5c2fa9b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 38325, "upload_time": "2018-11-23T07:08:11", "url": "https://files.pythonhosted.org/packages/7d/c0/acaae11dc7d2dc0874c13394b8d4b3c8a6e258dc042dbf6c4f2c009604e1/pproxy-1.9.2.tar.gz" } ], "1.9.3": [ { "comment_text": "", "digests": { "md5": "3a6929bfcef23eebfa38c294ffc04797", "sha256": "aa3d1c97e554861750a5044200f68b506395b34a7357fad0c5993c5cb5daf2b5" }, "downloads": -1, "filename": "pproxy-1.9.3-py3-none-any.whl", "has_sig": false, "md5_digest": "3a6929bfcef23eebfa38c294ffc04797", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 33947, "upload_time": "2018-11-23T07:20:43", "url": "https://files.pythonhosted.org/packages/13/2d/09c9ebcf12e9c32c158dac4372b84920e532609020837fa1e16d8aa2bf86/pproxy-1.9.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2125d9d66d7878f82c61bbd740d4397f", "sha256": "0cd4cb8ba4990b5a6b1e0ff850fbfe50f04d471c295b3a73844a19fe649cd493" }, "downloads": -1, "filename": "pproxy-1.9.3.tar.gz", "has_sig": false, "md5_digest": "2125d9d66d7878f82c61bbd740d4397f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 38366, "upload_time": "2018-11-23T07:20:45", "url": "https://files.pythonhosted.org/packages/31/fb/ab3c2434aeb790e446febe87b7e4f4d4de8327445e1cb02781ea73c5b2d5/pproxy-1.9.3.tar.gz" } ], "1.9.4": [ { "comment_text": "", "digests": { "md5": "672b0643b4b81910f4b231a1d55991c5", "sha256": "9ce5388f8fdbbbf1525c9a5a72be4ecc9eb5aa1044aee7c467f0ba0ba6ad252c" }, "downloads": -1, "filename": "pproxy-1.9.4-py3-none-any.whl", "has_sig": false, "md5_digest": "672b0643b4b81910f4b231a1d55991c5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 33970, "upload_time": "2018-11-23T07:57:17", "url": "https://files.pythonhosted.org/packages/f5/f5/30b25716e5f0f35d183ccb064d1103be556479941e1b7667fadb85148d2e/pproxy-1.9.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1eb94ccb3a5461662bc6d26df576820a", "sha256": "a091cc1bdf9513b0a92ef477a3638c3a7e76cfa251a5b54a63025a415759b4c7" }, "downloads": -1, "filename": "pproxy-1.9.4.tar.gz", "has_sig": false, "md5_digest": "1eb94ccb3a5461662bc6d26df576820a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 38394, "upload_time": "2018-11-23T07:57:19", "url": "https://files.pythonhosted.org/packages/ed/a5/9bcbb589f3ef0ca7ab110eb03e008eeb931679db75824380cbe9707d5dfe/pproxy-1.9.4.tar.gz" } ], "1.9.5": [ { "comment_text": "", "digests": { "md5": "79ac420ee243c6a51d71f56bd62781d3", "sha256": "02aece50f6a912b3da52e8a1862dce2a1ba3dcfab5c30b30cbad5fa7179a1871" }, "downloads": -1, "filename": "pproxy-1.9.5-py3-none-any.whl", "has_sig": false, "md5_digest": "79ac420ee243c6a51d71f56bd62781d3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 34452, "upload_time": "2018-12-09T08:20:09", "url": "https://files.pythonhosted.org/packages/0c/ed/21f9112dacd774df773e6c4333edacbaecd948e06cb117138fef5c3f80d5/pproxy-1.9.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "05eee54b8f53772f38d32c43ed2854e5", "sha256": "8fa54bdf7d396a5beb36ce6bd1fb29b24d0beee96238646c5ee24fe56334e4b1" }, "downloads": -1, "filename": "pproxy-1.9.5.tar.gz", "has_sig": false, "md5_digest": "05eee54b8f53772f38d32c43ed2854e5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 39187, "upload_time": "2018-12-09T08:20:11", "url": "https://files.pythonhosted.org/packages/f7/32/4e43a1833208b805f7aa218930ccb51348d2042f900935651bd6c2cf2363/pproxy-1.9.5.tar.gz" } ], "1.9.6": [ { "comment_text": "", "digests": { "md5": "7929759897a669748209514d7bdf460d", "sha256": "00dad4a864879832b32a1f9711ffc141c61dc158da718f7d1976a9f9c26eb490" }, "downloads": -1, "filename": "pproxy-1.9.6-py3-none-any.whl", "has_sig": false, "md5_digest": "7929759897a669748209514d7bdf460d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 34556, "upload_time": "2018-12-12T09:01:30", "url": "https://files.pythonhosted.org/packages/6f/75/c02e9012bbc0093aa956a10a085cc3e1ee354e1a36f8ffa8544890aeac62/pproxy-1.9.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "561f768938573d2acc115de4be6bfc15", "sha256": "160ee0d42b1519d62da6cf808f5b22484428946ddc637ebe5c54ab41343a675c" }, "downloads": -1, "filename": "pproxy-1.9.6.tar.gz", "has_sig": false, "md5_digest": "561f768938573d2acc115de4be6bfc15", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 39359, "upload_time": "2018-12-12T09:01:33", "url": "https://files.pythonhosted.org/packages/43/d8/ff1dd2a1f6e11b2b1c17eeda0fb4ebcc74eafa300b36f22dcffae541916a/pproxy-1.9.6.tar.gz" } ], "1.9.7": [ { "comment_text": "", "digests": { "md5": "a69b525aa77429b9f9e871ecffbb3931", "sha256": "89fec68569b50520e5bfa6ee1c27dddfaaf16b6a3b0c90bff9ef2b9ffffa649d" }, "downloads": -1, "filename": "pproxy-1.9.7-py3-none-any.whl", "has_sig": false, "md5_digest": "a69b525aa77429b9f9e871ecffbb3931", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 34647, "upload_time": "2018-12-23T15:38:12", "url": "https://files.pythonhosted.org/packages/f3/86/5e3e68df759cccdb4aa833fdd6c4d248759b40ec26080375f01ccc38ab7e/pproxy-1.9.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2c094d2e20ffb5fe353a74d7b80f9483", "sha256": "8b13841c099b00b3f2967adbfdf226d183f75d04cc87e2766f58e58d3c751700" }, "downloads": -1, "filename": "pproxy-1.9.7.tar.gz", "has_sig": false, "md5_digest": "2c094d2e20ffb5fe353a74d7b80f9483", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 39461, "upload_time": "2018-12-23T15:38:15", "url": "https://files.pythonhosted.org/packages/9b/e8/6d1f727ccc862261654ee612d28b843a1baae4649c471a6afdb247bfd11d/pproxy-1.9.7.tar.gz" } ], "1.9.8": [ { "comment_text": "", "digests": { "md5": "8e7810291c66bcb66f9ffcc79d2b273e", "sha256": "ca78dee1965a691d86be4dbb5e56dbaa7018134ac74f96ab9dd6b10e88cc8cef" }, "downloads": -1, "filename": "pproxy-1.9.8-py3-none-any.whl", "has_sig": false, "md5_digest": "8e7810291c66bcb66f9ffcc79d2b273e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 34647, "upload_time": "2018-12-23T15:53:41", "url": "https://files.pythonhosted.org/packages/95/0a/462975681f49f9b30fb63fab4771387f0d0867791707b0ef3be7f0ac52d6/pproxy-1.9.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "95abda51eb007c6cbc7e49ff377d8edd", "sha256": "46199676d175dfb59cdd47f825b772422a36fb2f6d30aaedeec92457cfa7e2ab" }, "downloads": -1, "filename": "pproxy-1.9.8.tar.gz", "has_sig": false, "md5_digest": "95abda51eb007c6cbc7e49ff377d8edd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 39455, "upload_time": "2018-12-23T15:53:42", "url": "https://files.pythonhosted.org/packages/96/42/674703371f2b0f78300dae9b6f576d0b8401675d6dfab7c9ae52856534d2/pproxy-1.9.8.tar.gz" } ], "1.9.9": [ { "comment_text": "", "digests": { "md5": "03893a5dd15c378ec482aaafb56f839f", "sha256": "f2f1c8ac7ee3eebcd87794f964287913051b2e484c367f48bbd43f22f6b05e1d" }, "downloads": -1, "filename": "pproxy-1.9.9-py3-none-any.whl", "has_sig": false, "md5_digest": "03893a5dd15c378ec482aaafb56f839f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 34646, "upload_time": "2018-12-23T16:45:38", "url": "https://files.pythonhosted.org/packages/ff/3c/c7938a8e1e6de71d3e62ab759349283b17afdf284dec5d1d3eb0c3907601/pproxy-1.9.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "024f8b3c73f14fd05f3faa20a509ccf6", "sha256": "070b4a13ea2c3b88cdea3fb87bb032416649b095a003ba848accb2417393976d" }, "downloads": -1, "filename": "pproxy-1.9.9.tar.gz", "has_sig": false, "md5_digest": "024f8b3c73f14fd05f3faa20a509ccf6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 39461, "upload_time": "2018-12-23T16:45:40", "url": "https://files.pythonhosted.org/packages/55/ca/ccecfc2f780313135801fe409192238270897426ffa251840cb87fe8e14f/pproxy-1.9.9.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "798fdb8c80a0355095569cca3b0950db", "sha256": "20b91228186bd07e1fe68a59433b8eec2eaf94d2205d4174a4469ce9292ee3f9" }, "downloads": -1, "filename": "pproxy-2.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "798fdb8c80a0355095569cca3b0950db", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 34653, "upload_time": "2018-12-25T11:16:07", "url": "https://files.pythonhosted.org/packages/af/b3/60f2fca593f13cec8c77dde21c90165400eb56c59797836ece8ad6a45d00/pproxy-2.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "284c34a857bf5337196e9219531193f7", "sha256": "0d8a530b0d5ab772bf654b1b3669f8abdd5fafe51c23af1c6a34baefac774245" }, "downloads": -1, "filename": "pproxy-2.0.0.tar.gz", "has_sig": false, "md5_digest": "284c34a857bf5337196e9219531193f7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 39480, "upload_time": "2018-12-25T11:16:09", "url": "https://files.pythonhosted.org/packages/31/7d/7b7c9ee7c3030ba77ea54dab9592bc22767a37f251f663b2c4aaa3832128/pproxy-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "16b44da95e564824758a233147c290b4", "sha256": "63d2580fdb4fa88b2d2cd805579503e0efe9a6785c95ba6a27ee289a799205f8" }, "downloads": -1, "filename": "pproxy-2.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "16b44da95e564824758a233147c290b4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 34691, "upload_time": "2019-01-14T10:26:14", "url": "https://files.pythonhosted.org/packages/5e/27/9d50d50365739ea77fb7e2e2946b27a2a5e5648b1a97b4339ddee2bf890b/pproxy-2.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "94c2c12777db899a4e0cc4aa8b2902a9", "sha256": "e22c60218f4b6b7631b9621f85cf1e8442cf171fe9997ec85063d8f68ee2ab1f" }, "downloads": -1, "filename": "pproxy-2.0.1.tar.gz", "has_sig": false, "md5_digest": "94c2c12777db899a4e0cc4aa8b2902a9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 39462, "upload_time": "2019-01-14T10:26:16", "url": "https://files.pythonhosted.org/packages/52/fe/e23d562613fd3d8708eb0b121e948903c05f25002b4217c8ece060b1e4a0/pproxy-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "5b3063d272128c73f739ffbb8575ebd8", "sha256": "1820fb333b0699e72f7ee80d9ed966385b2bd2ab9b11c48663a68bedf0c1cc4c" }, "downloads": -1, "filename": "pproxy-2.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "5b3063d272128c73f739ffbb8575ebd8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 34869, "upload_time": "2019-01-14T12:04:11", "url": "https://files.pythonhosted.org/packages/d0/17/16a2cfd270a77e3011adf5484c3aaf252b3cf281a0dfb4f6dfca2a724b66/pproxy-2.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc881fccf1bd543d1b028d04cea5c2ff", "sha256": "42f1990e0d0218c199ccd2db1691d1603e0f89a8196d71d455734dab204a9112" }, "downloads": -1, "filename": "pproxy-2.0.2.tar.gz", "has_sig": false, "md5_digest": "fc881fccf1bd543d1b028d04cea5c2ff", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 39584, "upload_time": "2019-01-14T12:04:13", "url": "https://files.pythonhosted.org/packages/bb/43/b6b0a796d523fd3ece8af812885377ba178efd3ab599dfd29bb22e1f36ba/pproxy-2.0.2.tar.gz" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "18145ac5b5c508fc4e1f86c9405532fa", "sha256": "d25a022232d437d9f7e6dec2cdaff93508268be244eab39d1347ca8b353f2064" }, "downloads": -1, "filename": "pproxy-2.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "18145ac5b5c508fc4e1f86c9405532fa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 35197, "upload_time": "2019-01-14T15:47:59", "url": "https://files.pythonhosted.org/packages/08/0d/1c5c2de608b85009b1a9d3183883d8b1e6a4097cd5a6100434c6aef1d128/pproxy-2.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3b7149b8f3deca7b3242c8d5f94ef3ad", "sha256": "7f00c615867e56c9db937fc1b3d74d950548b27d01d8de7243c6b6ba8879eb54" }, "downloads": -1, "filename": "pproxy-2.0.3.tar.gz", "has_sig": false, "md5_digest": "3b7149b8f3deca7b3242c8d5f94ef3ad", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 40274, "upload_time": "2019-01-14T15:48:01", "url": "https://files.pythonhosted.org/packages/45/e8/b6e80a1b01cc9db3bbc935ee6ffc5a5078b245ac969320844168a796afa9/pproxy-2.0.3.tar.gz" } ], "2.0.4": [ { "comment_text": "", "digests": { "md5": "56e940f1ab1aca7d01393f1ce151e017", "sha256": "d5083d1fac98e18a5d1a8a4abf809be8f71bd98d0f848fcd95ba32de76e41e87" }, "downloads": -1, "filename": "pproxy-2.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "56e940f1ab1aca7d01393f1ce151e017", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 35674, "upload_time": "2019-01-17T08:52:01", "url": "https://files.pythonhosted.org/packages/ab/56/9fcb8dd11d71f5bd48096721c8678ad335c1bd9298959daa98eb25136aa6/pproxy-2.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7790bd8bc3d32bc97c748b33624c934f", "sha256": "d64531d74fb8a2a7ecc18135e5ff309ee2a3d8728108f9af7bcdd776232a65d4" }, "downloads": -1, "filename": "pproxy-2.0.4.tar.gz", "has_sig": false, "md5_digest": "7790bd8bc3d32bc97c748b33624c934f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 40738, "upload_time": "2019-01-17T08:52:03", "url": "https://files.pythonhosted.org/packages/f4/48/695ed8fa450ae52355e1807ca661ed6ea93cfdb62957b4779ae0873d7da6/pproxy-2.0.4.tar.gz" } ], "2.0.5": [ { "comment_text": "", "digests": { "md5": "de45a0ff8e3304bcad4c26c586648804", "sha256": "5a0e640f44af278809bf74b056c704cef30a7679ddf28040b2438893a3aa870b" }, "downloads": -1, "filename": "pproxy-2.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "de45a0ff8e3304bcad4c26c586648804", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 35721, "upload_time": "2019-01-17T10:09:28", "url": "https://files.pythonhosted.org/packages/ea/2f/f55c1ffedb4a38fec76be1d6f948c7c32d8aa0d8e25abfa494b21e8bfb4f/pproxy-2.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8eae1b01de1bd9c0784f899b735d19c2", "sha256": "8d3e35945c52a23610dc988801911d961d7f2ebb9abe0a9a1f257e5eac0c0916" }, "downloads": -1, "filename": "pproxy-2.0.5.tar.gz", "has_sig": false, "md5_digest": "8eae1b01de1bd9c0784f899b735d19c2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 40929, "upload_time": "2019-01-17T10:09:30", "url": "https://files.pythonhosted.org/packages/6b/04/338adb0ab39664dc49927c633cd6306cbcc00ea5b37645682b45165160f2/pproxy-2.0.5.tar.gz" } ], "2.0.6": [ { "comment_text": "", "digests": { "md5": "5f8313a88c1315ff5c794c206c42efef", "sha256": "9abfc1dd4eb38095720becdf57a816c6d94d8daa713c64962cefe2c7f1798d20" }, "downloads": -1, "filename": "pproxy-2.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "5f8313a88c1315ff5c794c206c42efef", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 35713, "upload_time": "2019-01-21T02:15:30", "url": "https://files.pythonhosted.org/packages/e5/95/d6dd0e2e93adc717bd27083b24bcc86036d4c7aea3dad5bed85f9670ea9e/pproxy-2.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8b71c3b3ce05d9c45b7e3848e2829b4f", "sha256": "bd6d8868862cdccdea227d792453286caf070dfd15d0029db91475a541caca13" }, "downloads": -1, "filename": "pproxy-2.0.6.tar.gz", "has_sig": false, "md5_digest": "8b71c3b3ce05d9c45b7e3848e2829b4f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 40922, "upload_time": "2019-01-21T02:15:33", "url": "https://files.pythonhosted.org/packages/c3/b9/cda8da741b9f23ace98b24db89381d2fde640ed02efd68d5471c2089568f/pproxy-2.0.6.tar.gz" } ], "2.0.7": [ { "comment_text": "", "digests": { "md5": "1fd3a87aed8d9e11b9bbf5464390b52c", "sha256": "798584c25535d5b110e9890b0e0eaaec2f357879bc62ec89f73c3edfb8ad783e" }, "downloads": -1, "filename": "pproxy-2.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "1fd3a87aed8d9e11b9bbf5464390b52c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 35766, "upload_time": "2019-01-22T13:07:10", "url": "https://files.pythonhosted.org/packages/f2/ce/7462d50ac14779d164165cb7b8debf6d467aa37fcdee7175a5bef4e7580c/pproxy-2.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2dba237248b91f6bca943149a468bc76", "sha256": "4f4d93c541e3a974a202e67a94ca95d374d3c218c00a2cc85df24de3923dcfdf" }, "downloads": -1, "filename": "pproxy-2.0.7.tar.gz", "has_sig": false, "md5_digest": "2dba237248b91f6bca943149a468bc76", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 40980, "upload_time": "2019-01-22T13:07:13", "url": "https://files.pythonhosted.org/packages/c3/d0/c25e81407977ad7be8daef117984605bd83571c8724423c0a407a95c7e4c/pproxy-2.0.7.tar.gz" } ], "2.0.8": [ { "comment_text": "", "digests": { "md5": "6182068e5072d6ce810e3af4b9cfed81", "sha256": "01229df33075a7d7fb6d1eecbf363e2925cc67f1077ecb6662dac007c91679b7" }, "downloads": -1, "filename": "pproxy-2.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "6182068e5072d6ce810e3af4b9cfed81", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 35806, "upload_time": "2019-02-08T15:26:07", "url": "https://files.pythonhosted.org/packages/95/da/2db1d971d6434b2110557c7faa78bbe9de1735aa33c08640b7e06a77bbf1/pproxy-2.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9e9fe174c1c176336f49e888e1c63800", "sha256": "2deb42a170802aaae49d70d52f110a90b3a71b82838046b1e19ffa99ec1f8dc2" }, "downloads": -1, "filename": "pproxy-2.0.8.tar.gz", "has_sig": false, "md5_digest": "9e9fe174c1c176336f49e888e1c63800", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 41013, "upload_time": "2019-02-08T15:26:10", "url": "https://files.pythonhosted.org/packages/4a/2c/c93ee69ece547fbae74e87348387d0e488c968ee149c36b24e4189b8fd42/pproxy-2.0.8.tar.gz" } ], "2.0.9": [ { "comment_text": "", "digests": { "md5": "30fe9d1c24b46ab8c1baea52f86175b0", "sha256": "1bda314ed2c5a4361a2ab53fc725b6617b541d25967e183c9da4d326f8830f86" }, "downloads": -1, "filename": "pproxy-2.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "30fe9d1c24b46ab8c1baea52f86175b0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 35801, "upload_time": "2019-02-27T02:25:56", "url": "https://files.pythonhosted.org/packages/13/3b/e74027c07b2cbb13467c2e48fa8da8e33e492c98311db5f1aec39f88ad38/pproxy-2.0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4decff25a6fb34a6440d92fdf2b7a959", "sha256": "081ca08526784770a28d29bdfc2938a82e9810ce1c4d303cf7a1a71a09509202" }, "downloads": -1, "filename": "pproxy-2.0.9.tar.gz", "has_sig": false, "md5_digest": "4decff25a6fb34a6440d92fdf2b7a959", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 40977, "upload_time": "2019-02-27T02:25:59", "url": "https://files.pythonhosted.org/packages/4d/99/859a33d0b7468a4f47056481631d42c35105641bc0c9e5131b7246b9f113/pproxy-2.0.9.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "7c8d89a22316132d88a8fccd441e714c", "sha256": "f5ea3cb38abdb0d794c17350a13364284d769dd15a7f44137a312fd47aba7fa8" }, "downloads": -1, "filename": "pproxy-2.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7c8d89a22316132d88a8fccd441e714c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 36483, "upload_time": "2019-03-27T05:58:53", "url": "https://files.pythonhosted.org/packages/a2/6d/7a6583e5a3cfd4251496a289049fde56687527e3f1cf8f6538ff7ca6ee6e/pproxy-2.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3c245c2ccb81ef500df44e6a51b49c46", "sha256": "ab7f9f5963d974f9b38fee28ae6c7827f287eb91a11faa20b49ba8c06ffb191f" }, "downloads": -1, "filename": "pproxy-2.1.0.tar.gz", "has_sig": false, "md5_digest": "3c245c2ccb81ef500df44e6a51b49c46", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 43559, "upload_time": "2019-03-27T05:58:55", "url": "https://files.pythonhosted.org/packages/bc/85/995de29cf8e15480ee4e6d131456ab00e5fb95f8bd58597c246b611bd43a/pproxy-2.1.0.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "f4b4d3d8634544694db80de32ee339f0", "sha256": "b8479cbcd9f9d6c87d7d8236d58e0fbd8c01fe3d42bd47b62496e05e209c0466" }, "downloads": -1, "filename": "pproxy-2.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f4b4d3d8634544694db80de32ee339f0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 36486, "upload_time": "2019-03-27T06:07:02", "url": "https://files.pythonhosted.org/packages/d7/f8/52fc0b5a982ee5f9d9ea7fcc5042d3e77307e5e6a448ee9e76ae8683b41f/pproxy-2.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "491f4424ea0d3cb303c8db457dca3353", "sha256": "f306795d5c8c38caffbad19420bbb4517186143dedea168521a43fb6c362c5da" }, "downloads": -1, "filename": "pproxy-2.1.1.tar.gz", "has_sig": false, "md5_digest": "491f4424ea0d3cb303c8db457dca3353", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 43562, "upload_time": "2019-03-27T06:07:05", "url": "https://files.pythonhosted.org/packages/21/d5/b92f0c8ad47916214817852e642ea7fa12faa2da1a48353ada5cd5e3f906/pproxy-2.1.1.tar.gz" } ], "2.1.2": [ { "comment_text": "", "digests": { "md5": "c0a48a1ace88f057ff7112bec5122176", "sha256": "fe0f8d0447958c245bb43b22cd181a358313b90be9c42c68a03a7eba53da0fad" }, "downloads": -1, "filename": "pproxy-2.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c0a48a1ace88f057ff7112bec5122176", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 36520, "upload_time": "2019-03-27T08:21:19", "url": "https://files.pythonhosted.org/packages/2e/ba/44847c77ccef9b354498d89bd1fc8aa616eac7580a7a9308c2e92b2c7172/pproxy-2.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc9d98d2101785519569d10fb1ab4ad7", "sha256": "739b0cf0c8c5755601fb47f9db6326562c8be6237e72d3e455f4694a7b440d44" }, "downloads": -1, "filename": "pproxy-2.1.2.tar.gz", "has_sig": false, "md5_digest": "fc9d98d2101785519569d10fb1ab4ad7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 43632, "upload_time": "2019-03-27T08:21:21", "url": "https://files.pythonhosted.org/packages/d0/b2/399179ad5e28ae63454e3055c514ca31251e6cdd81c51468f23f7e71b0e9/pproxy-2.1.2.tar.gz" } ], "2.1.3": [ { "comment_text": "", "digests": { "md5": "bc498995420c2f6f2f0e3653b01e3192", "sha256": "c69fa9bce12d6658091890f7f56c61ccf98e4f67e798d82329e8fbb8ffe11b15" }, "downloads": -1, "filename": "pproxy-2.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "bc498995420c2f6f2f0e3653b01e3192", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 36523, "upload_time": "2019-04-03T08:14:00", "url": "https://files.pythonhosted.org/packages/62/61/3dc26490c06a4bdfc1e59e002ef394739102d9d5946baa1f00618e0cc91a/pproxy-2.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bd1ca53a87537f950f2b1bec9646502a", "sha256": "61228941812540d7047903eb79ffafede23d1204c004eceeacb20b7df07dae9e" }, "downloads": -1, "filename": "pproxy-2.1.3.tar.gz", "has_sig": false, "md5_digest": "bd1ca53a87537f950f2b1bec9646502a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 43644, "upload_time": "2019-04-03T08:14:02", "url": "https://files.pythonhosted.org/packages/51/e9/ce677e33becfa4599a74d6769031bb162f506ad0bf8e5279ce0b89833c59/pproxy-2.1.3.tar.gz" } ], "2.1.4": [ { "comment_text": "", "digests": { "md5": "3c1922263277fb70e09d962f5eae8a22", "sha256": "5fd2f5e4773294877a51856d3de0477294ef208110721235c3367273f8ac10ed" }, "downloads": -1, "filename": "pproxy-2.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "3c1922263277fb70e09d962f5eae8a22", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 36537, "upload_time": "2019-04-03T09:29:14", "url": "https://files.pythonhosted.org/packages/08/c9/e81593af9ed12f60801402957a22fa1f494b6bdfa21b5ffb8cf45edf04ec/pproxy-2.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ea9ec6289e38660a41741048aed34436", "sha256": "c4da7d9f5c8a8535e122b81dea71dfd829b305502e2af3b69b739b9fd4706a3c" }, "downloads": -1, "filename": "pproxy-2.1.4.tar.gz", "has_sig": false, "md5_digest": "ea9ec6289e38660a41741048aed34436", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 43646, "upload_time": "2019-04-03T09:29:17", "url": "https://files.pythonhosted.org/packages/e7/f7/34577b3bd1c14b9cd6d62bf86c82d44d7328077f00ed4616b7d4831f0b9b/pproxy-2.1.4.tar.gz" } ], "2.1.5": [ { "comment_text": "", "digests": { "md5": "07bdb5e866ad9a408581f7a7ac2293b6", "sha256": "1665ad32e2b64f8e4ab63675384cd8c97e115ce347e47a689cd5fa68ebacb06f" }, "downloads": -1, "filename": "pproxy-2.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "07bdb5e866ad9a408581f7a7ac2293b6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 36565, "upload_time": "2019-05-06T06:25:45", "url": "https://files.pythonhosted.org/packages/0d/d1/95533a45d269af6efe1ea5a995d2189a99cb55ef9b9052387b543d76abff/pproxy-2.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "585e856f96540af12d83c6f93e5e3ed9", "sha256": "97b974f0e82f79d0e6e47179876bdd767c31673f19f171c9fcab94c97a3197c1" }, "downloads": -1, "filename": "pproxy-2.1.5.tar.gz", "has_sig": false, "md5_digest": "585e856f96540af12d83c6f93e5e3ed9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 43715, "upload_time": "2019-05-06T06:25:48", "url": "https://files.pythonhosted.org/packages/45/ba/c53f36b4cb931682cce31f4f3582f9710adb47b33a953039127317b35316/pproxy-2.1.5.tar.gz" } ], "2.1.6": [ { "comment_text": "", "digests": { "md5": "8ed91bf3e385890bf24a7ede809cdd12", "sha256": "fc83000ca53f5431c5d7f5a565843a6fa61e2206943212277708738ed6f96670" }, "downloads": -1, "filename": "pproxy-2.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "8ed91bf3e385890bf24a7ede809cdd12", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 36700, "upload_time": "2019-05-09T05:00:27", "url": "https://files.pythonhosted.org/packages/ff/3c/207c54376b0541e3de3bfad79b64d1b4f4a8ff00fbd4b29e0346edf60003/pproxy-2.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "111da2c5551f489eebfe371bc857a82f", "sha256": "480e29ea35ec736e9a7143064bb0ebeda267109c754c2d18bd0ad4883319c574" }, "downloads": -1, "filename": "pproxy-2.1.6.tar.gz", "has_sig": false, "md5_digest": "111da2c5551f489eebfe371bc857a82f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 43862, "upload_time": "2019-05-09T05:00:30", "url": "https://files.pythonhosted.org/packages/a3/cf/25fde87880f7c0c7f026ef4a17cd0650e65c710e4b4314d98fd4c45bfcb5/pproxy-2.1.6.tar.gz" } ], "2.1.7": [ { "comment_text": "", "digests": { "md5": "fd400225d8fbdd38a468cd938d170cd6", "sha256": "70612fc4f60ad6442d22dcc79b54ea5a050c352c6b688d7228d62fdd41a20f4b" }, "downloads": -1, "filename": "pproxy-2.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "fd400225d8fbdd38a468cd938d170cd6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 36687, "upload_time": "2019-05-14T06:12:36", "url": "https://files.pythonhosted.org/packages/30/ff/720d1c29cea95adec13246ca24f089916a18afd18171bdf1f0e0b6c30465/pproxy-2.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "139f9e04c0cc14667cb6e70edf23e6ba", "sha256": "e03d98ea11e19469ab8c567c64ff396ccf0899d55a2f6f9f555d5c4d68feb5ea" }, "downloads": -1, "filename": "pproxy-2.1.7.tar.gz", "has_sig": false, "md5_digest": "139f9e04c0cc14667cb6e70edf23e6ba", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 43816, "upload_time": "2019-05-14T06:12:40", "url": "https://files.pythonhosted.org/packages/55/09/8ffcadaf27adcecfea192057ed16d3b3c188e20f497c4607ddce8677de0f/pproxy-2.1.7.tar.gz" } ], "2.1.8": [ { "comment_text": "", "digests": { "md5": "cf391f2756ea8af0fdc9bca3dd73178a", "sha256": "6c5a03cebd5ecf5c6ecb3393b0a06d7203ec7fe55fe09aee2b389e85acd194ea" }, "downloads": -1, "filename": "pproxy-2.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "cf391f2756ea8af0fdc9bca3dd73178a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 36688, "upload_time": "2019-05-14T06:38:53", "url": "https://files.pythonhosted.org/packages/02/70/c6ae8cb8cd3e70b28a306a0fbd188315706cc0f87736f4d6b69eef6532af/pproxy-2.1.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aed6e70c0156c10a512528c17c7be9fc", "sha256": "735942cfcd627529989acdc14559a4cf3782020e06ea04b840873b9ab819205e" }, "downloads": -1, "filename": "pproxy-2.1.8.tar.gz", "has_sig": false, "md5_digest": "aed6e70c0156c10a512528c17c7be9fc", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 43821, "upload_time": "2019-05-14T06:38:56", "url": "https://files.pythonhosted.org/packages/31/ad/c19f65afd222abf2fe98bb5f1f50e1f5d777a30216aad03ce6bdf7ff8c4e/pproxy-2.1.8.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "ee582ce562835e351565d586daf06f08", "sha256": "6cddbe0a8f5ce91cda3981ec4e8d5325e2f0fe2ef26837a882f01815cefd1403" }, "downloads": -1, "filename": "pproxy-2.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ee582ce562835e351565d586daf06f08", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 36950, "upload_time": "2019-08-22T12:47:24", "url": "https://files.pythonhosted.org/packages/48/9d/abd7976dc9fbb1cd24135b0f2a38b5806f0640c7a6ce77a281024585eca4/pproxy-2.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2c02c43a7a4fc3ef1c528444e94f0540", "sha256": "fd3bbe2edd30b0786ce052748ce22ae7207392e72d43534d5d0279acec74ca4b" }, "downloads": -1, "filename": "pproxy-2.2.0.tar.gz", "has_sig": false, "md5_digest": "2c02c43a7a4fc3ef1c528444e94f0540", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 44162, "upload_time": "2019-08-22T12:47:26", "url": "https://files.pythonhosted.org/packages/d9/25/13e5c1185429476bb57dbd4e319f3a994684601897546e1c34094ec702c7/pproxy-2.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ee582ce562835e351565d586daf06f08", "sha256": "6cddbe0a8f5ce91cda3981ec4e8d5325e2f0fe2ef26837a882f01815cefd1403" }, "downloads": -1, "filename": "pproxy-2.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ee582ce562835e351565d586daf06f08", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 36950, "upload_time": "2019-08-22T12:47:24", "url": "https://files.pythonhosted.org/packages/48/9d/abd7976dc9fbb1cd24135b0f2a38b5806f0640c7a6ce77a281024585eca4/pproxy-2.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2c02c43a7a4fc3ef1c528444e94f0540", "sha256": "fd3bbe2edd30b0786ce052748ce22ae7207392e72d43534d5d0279acec74ca4b" }, "downloads": -1, "filename": "pproxy-2.2.0.tar.gz", "has_sig": false, "md5_digest": "2c02c43a7a4fc3ef1c528444e94f0540", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 44162, "upload_time": "2019-08-22T12:47:26", "url": "https://files.pythonhosted.org/packages/d9/25/13e5c1185429476bb57dbd4e319f3a994684601897546e1c34094ec702c7/pproxy-2.2.0.tar.gz" } ] }