You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Specify multiple remote servers for outcoming traffic: HTTP/Socks/Shadowsocks.
13
14
- Unix domain socket support for communicating locally.
@@ -26,6 +27,8 @@ Python 3.6
26
27
27
28
*Python 3.5* added new syntax **async def** and **await** to make asyncio programming easier. *Python 3.6* added new syntax **formatted string literals**. This tool is to demonstrate these new syntax, so the minimal Python requirement is **3.6**. With new syntax, it is easy to implement so many features in a short number of lines, and is also fully ready for production usage.
28
29
30
+
**pproxy** is still possible to run under *Python 3.6*. Remove the **formatted string literals** syntax if you want to run in *Python 3.5*. Remove the **async def** and **await** syntax if you want to run in *Python 3.4*. You can also use **tulip** instead of **asyncio** to make **pproxy** run in all *Python 2/3* environment.
31
+
29
32
Installation
30
33
-----------
31
34
@@ -34,15 +37,16 @@ Installation
34
37
Requirement
35
38
-----------
36
39
37
-
pycryptodome_ is the optional required library to enable cipher encryption support. Without installing this, you can still use pproxy with no encryption.
40
+
pycryptodome_ is an optional library to enable faster (C version) cipher encryption support. **pproxy** has many built-in pure python ciphers without need to install pycryptodome_. They are lightweight and stable, but a little slow. After speed up with PyPy_, the pure python ciphers can achieve similar performance as pycryptodome_ (C version). If you care about server performance and don't run in PyPy_, just install pycryptodome_ to enable faster ciphers.
- 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.
108
129
- To enable OTA encryption with shadowsocks, add '!' immediately after cipher name.
109
130
- netloc
110
131
- It can be "hostname:port" or "/unix_domaon_path". If the hostname is empty, server will listen on all interfaces.
0 commit comments