State
In active development. It's in experiment state now
Python AutoProxy
pyautoproxy helps to configure your proxy for developemnt purpose.
When you work with some proxy and have to validate traffic quite often it really annoying to reconfigure a device to use proxy when needed and when not to.
To make life a bit easier we can use Proxy Auto-Config. But problem with it is that most of http clients expect it to be on some server and response from that server should have proper headers, hence we can't use just a file on local machine. Also Different devices require different proxy config time by time.
This app can solve the issue above. It's simple http server which now start serve on specified port and return correct Auto-Config based on query parameters.
Usge
Install
pip install pyautoproxy
Run the server:
pyautoproxy --port 8081
For exanple, request to http://localhost:8081?host=localhost&port=8080 will return
function FindProxyForURL(url, host)
{
return "PROXY localhost:8080; DIRECT";
}
Which means that when proxy on localhost:8080 is available a client will try use it, but when you turn it off it will bypass proxy and use direct connections.
iOS simulator
iOS simulator requires configure your Mac OS to use the proxy, which really annoying. But when you start pyautoproxy as
pyautoproxy -s
It will filter all requests except requests from iOS, hence all you machine traffic won't go through the proxy.
Configure for Android Emulator
From emulator you can always refer to host machine with ip 10.0.2.2. Usual link for Auto-Proxy config on Android will looks like http://10.0.2.2:8081/?host=10.0.2.2&port=8080
Configure proxy type
By default, proxy corresponding to the protocol of the original request, be it http, https, or ftp, is used.
If you want to change it, just add proxy parameter to the Auto-Config URL e.g.:
http://localhost:8081/?host=localhost&port=8080&proxy=SOCKS5
// Will return
function FindProxyForURL(url, host)
{
return "SOCKS5 localhost:8080; DIRECT";
}
Release files for pyautoproxy 0.0.15
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyautoproxy-0.0.15.tar.gz | 3.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyautoproxy-0.0.15-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.1 kB
Release files / pyautoproxy-0.0.15.tar.gz
| Download URL | pyautoproxy-0.0.15.tar.gz |
|---|---|
| Size | 3.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
080fe96ce52706691e2b701485fc007999cc958210746e874615c8905f690b79
|
|
BLAKE2b-256 checksum How to use checksums |
857896a2ee51cabcf3696564afe99bbfb4cf4dda44ed62332b4b8ff95363477d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.7.0 requests/2.25.1 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.6.12
|
Release files / pyautoproxy-0.0.15-py3-none-any.whl
| Download URL | pyautoproxy-0.0.15-py3-none-any.whl |
|---|---|
| Size | 4.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
49222e59019e9b9515717da253c11022ed22e6eac3ed1bbda15f09bcf19f0dd2
|
|
BLAKE2b-256 checksum How to use checksums |
0bfa078709a3bfa603941895fae2bee773f5ffc2b8a5f5d68e7417079e0b7a2e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.7.0 requests/2.25.1 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.6.12
|