Python library for building and accessing UDP-relayed TCP proxies
Project description
Python library for building and accessing UDP-relayed TCP proxies
Features
Classes:
Tuning - Relay-Proxy settings
Interface - basic HTTPS proxy server
Relay - HTTPS proxy interface, which communicates with Proxy via encrypted UDP
Link - Relay link within Proxy
Proxy - UDP server, which gets requests from Relay and sends back responses from target TCP servers
Tuning:
fernet - Fernet instance with provided secret key - use Fernet.generate_key()
token - your secret token - UUID4 or anything else
serving_timeout - total timeout per worker, seconds
tcp_buffer - TCP buffer size, bytes
tcp_timeout - TCP awaiting timeout, seconds
udp_payload - UDP payload size, bytes
udp_timeout - UDP awaiting timeout, seconds
udp_retries - UDP max retry count per interaction
udp_capacity - UDP send/receive buffer capacity - max packet count
Requirements
Python 3.11+
pbjson 1.18.0+
cryptography 41.0.2+
Setup
python -m venv .env
source .env/bin/activate
pip install ouija
Usage
- examples:
ouija-relay - simple HTTPS proxy server interface
ouija-proxy - UDP-relayed TCP proxy server
Tests
TBD
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.