Skip to main content

This package implements a simple HTTP(S) proxy.

Project description

SimpleHttpProxy logo

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

Firefox proxy configuration

Default: Proxy Printer

Custom: Proxy Restriction

Links

Licence

Licensed under the GPL, version 3.

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

simplehttpproxy-0.0.3.tar.gz (18.9 kB view details)

Uploaded Source

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

Hashes for simplehttpproxy-0.0.3.tar.gz
Algorithm Hash digest
SHA256 d0c02e50bce7816e1aa7b3942a89ce5d2820ae29d698d13371f0686ee016b09d
MD5 99b469254f050314145f0151aee25722
BLAKE2b-256 c20905a4517007e9c4332fbe28b2105fa79b2522a75a887ef81444570b9ab32c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page