python proxy
Project description
Zonda Python Proxy
Install
pip install zoxy
Quick start for cli
Default server path: 127.0.0.1:8080
$ ./zoxy
Customize url and port
Example: 0.0.0.0:9999
$ ./zoxy -u 0.0.0.0 -p 9999
Allowed access
Example:
- 127.0.0.1, mask: 255.255.255.255, port 8080
- 127.0.0.0, mask: 255.255.255.0, port: all
$ ./zoxy --allowed_access 127.0.1.1 8080 --allowed_access 127.0.0.0/24 *
Blocked access
Example:
- 127.0.0.1, mask: 255.255.255.255, port: 8080
- 127.0.0.0, mask: 255.255.255.0, port: all
$ ./zoxy --blocked_access 127.0.1.1 8080 --blocked_access 127.0.0.0/24 *
Note: Blocked access setting has higher priority than allowed access.
Forwarding
Example:
- 192.168.1.0, mask: 255.255.255.0, port: 1234 to 127.0.0.1, port: 8000
- 0.0.0.0, mask: 0.0.0.0, port: all to 127.0.0.2, port: all
$ ./zoxy --forwarding 192.168.1.0/24 1234 127.0.0.1 8000 --forwarding 0.0.0.0/0 * 127.0.0.2 *
Quick start for program
import zoxy.server
config = {
"url": "0.0.0.0",
"port": 9999,
"allowed_accesses": [
["127.0.1.1", "8080"],
["127.0.2.0/24", "1234"],
["127.0.0.0/24", "*"],
],
"blocked_accesses": [
["192.0.1.1", "8080"],
["192.0.2.0/24", "1234"],
["192.0.0.0/24", "*"],
],
"forwarding": [
["196.168.2.1", "1234", "127.0.2.1", "8000"],
["196.168.1.0/24", "1234", "127.0.0.1", "8000"],
["0.0.0.0/0", "*", "127.0.0.2", "*"],
],
"load_balancing": {
"frontend": ["127.0.0.1/32", "8080"],
"backend": [
["127.0.0.1", "9090", "80"],
["127.0.0.1", "*", "20"],
],
},
}
zoxy.server.ProxyServer(**config).listen()
Get/Set accesses
Allowed accesses
# Get
proxy_server.allowed_accesses
'''
[
["127.0.1.1/32", "8080"],
["127.0.2.0/24", "1234"],
["127.0.0.0/24", "*"],
]
'''
# Set
proxy_server.allowed_accesses = [
["111.0.1.1", "8080"],
["111.0.2.0/24", "1234"],
["111.0.0.0/24", "*"],
]
Blocked accesses
# Get
proxy_server.blocked_accesses
'''
[
["192.0.1.1/32", "8080"],
["192.0.2.0/24", "1234"],
["192.0.0.0/24", "*"],
]
'''
# Set
proxy_server.blocked_accesses = [
["111.0.1.1", "8080"],
["111.0.2.0/24", "1234"],
["111.0.0.0/24", "*"],
]
Get/Set forwarding
# Get
proxy_server.forwarding
'''
[
["196.168.2.1/32", "1234", "127.0.2.1", "8000"],
["196.168.1.0/24", "1234", "127.0.0.1", "8000"],
["0.0.0.0/0", "*", "127.0.0.2", "*"]
]
'''
# Set
proxy_server.forwarding = [
["176.168.2.1", "1234", "127.0.2.1", "8000"],
["176.168.1.0/24", "1234", "127.0.0.1", "8000"],
["176.0.0.0/8", "*", "127.0.0.2", "*"]
]
Get/Set Load balancing
# Get
proxy_server.load_balancing
'''
{
"frontend": ["127.0.0.1/32", "8080"],
"backend": [
["127.0.0.1", "9090", "80"],
["127.0.0.1", "*", "20"],
],
}
'''
# Set
proxy_server.load_balancing = {
"frontend": ["168.0.0.1/32", "8080"],
"backend": [
["111.0.0.1", "9090", "80"],
["111.0.0.1", "*", "20"],
],
}
Developer
Test
python -m unittest
Type checking
mypy zoxy
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zoxy-0.0.5.tar.gz.
File metadata
- Download URL: zoxy-0.0.5.tar.gz
- Upload date:
- Size: 8.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d0ddb85a694eb539bb6942f31e7837efaa81efdeef14ab7c14dc0d40a5bea3b
|
|
| MD5 |
a9dac9bfaf8e415bbb034b4249c95903
|
|
| BLAKE2b-256 |
849a9efd72ba70dba25875b8c17830a2793370f6a1da6b3abd0ac9a1f25a1b75
|
File details
Details for the file zoxy-0.0.5-py3-none-any.whl.
File metadata
- Download URL: zoxy-0.0.5-py3-none-any.whl
- Upload date:
- Size: 9.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a346be67d796d6b2760a5a2fb53f46d4b06fb42c08faa8c86c15f04191fc2797
|
|
| MD5 |
a8b2b02416fe1d2faadda18415eb4563
|
|
| BLAKE2b-256 |
92304e1fa04aafc08e02629c29dd469339c8b3d4aaf72de6401f5f5937c45c8f
|