Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ouija-0.2.0.tar.gz (8.9 kB view hashes)

Uploaded Source

Built Distribution

ouija-0.2.0-py3-none-any.whl (11.6 kB view hashes)

Uploaded Python 3

Supported by

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