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

Objects:

  • Interface - basic HTTPS proxy server

  • Tuning - Relay-Proxy settings

  • Relay - HTTPS proxy interface, which communicates with Proxy via encrypted UDP

  • 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 per worker

  • timeout - TCP stream/UDP awaiting timeout

  • payload - UDP payload size

  • retries - UDP max retry count per interaction

  • capacity - UDP read/write buffer capacity

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.1.0.tar.gz (8.1 kB view hashes)

Uploaded Source

Built Distribution

ouija-0.1.0-py3-none-any.whl (11.1 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