This package implements a simple HTTP(S) proxy.
Project description
SimpleHttpProxy
Description
This package implements a simple and partially asynchronous HTTP(S) proxy.
Requirements
This package require:
- python3
- python3 Standard Library
Installation
Pip
python3 -m pip install SimpleHttpProxy
Git
git clone "https://github.com/mauricelambert/SimpleHttpProxy.git"
cd "SimpleHttpProxy"
python3 -m pip install .
Wget
wget https://github.com/mauricelambert/SimpleHttpProxy/archive/refs/heads/main.zip
unzip main.zip
cd SimpleHttpProxy-main
python3 -m pip install .
cURL
curl -O https://github.com/mauricelambert/SimpleHttpProxy/archive/refs/heads/main.zip
unzip main.zip
cd SimpleHttpProxy-main
python3 -m pip install .
Usages
Default proxy printer using command line
python3 SimpleHttpProxy.py -h
python3 ProxyPrinter.pyz --help
ProxyPrinter --interface 0.0.0.0 --port 8012 --unsecure
ProxyPrinter -i 0.0.0.0 -p 8012 -s
Custom proxy using Python
Proxy Server:
from SimpleHttpProxy import AbcHttpProxy
class ProxyRestrict(AbcHttpProxy):
def handle_request(self, data: bytes) -> bytes:
if b'://www.ruby-lang.org' in data.split(b"\r\n", 1)[0]:
return data.replace(b'www.ruby-lang.org', b'www.python.org', 2)
return data
def handle_response(self, data: bytes) -> bytes:
return data.replace(b'www.ruby-lang.org', b'www.python.org')
proxy = ProxyRestrict()
proxy.start()
Python Client:
from urllib.request import Request, urlopen
r = Request("http://ruby-lang.org/")
r.set_proxy('127.0.0.1:8012', 'http')
print(urlopen(r).read()[3150:4000].decode())
Screenshots
Links
Licence
Licensed under the GPL, version 3.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
simplehttpproxy-0.0.3.tar.gz
(18.9 kB
view details)
File details
Details for the file simplehttpproxy-0.0.3.tar.gz.
File metadata
- Download URL: simplehttpproxy-0.0.3.tar.gz
- Upload date:
- Size: 18.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0c02e50bce7816e1aa7b3942a89ce5d2820ae29d698d13371f0686ee016b09d
|
|
| MD5 |
99b469254f050314145f0151aee25722
|
|
| BLAKE2b-256 |
c20905a4517007e9c4332fbe28b2105fa79b2522a75a887ef81444570b9ab32c
|