High Performance

Dynamic TCP/UDP Proxy

Blazingly fast subdomain-based routing with multiple load balancing strategies, and zero-downtime dynamic configuration updates. Full TLS and DTLS support

wormhole-proxy
$ python3 wormhole.py
Loaded 3 server groups
Configured 5 routes
TCP proxy listening on :80
UDP proxy listening on :53
Wormhole proxy ready
$ _
10K+
Connections/sec
<1ms
Latency Overhead
0s
Downtime Updates
4
Load Strategies

Powerful Features

Everything you need for intelligent traffic routing

🔀

Dynamic Routing

Add, modify, or remove routes without restarting the proxy. Changes take effect immediately with zero downtime.

🌐

Subdomain Support

Route traffic based on subdomains. Perfect for multi-tenant applications and microservices architectures.

⚖️

Load Balancing

Multiple strategies: round-robin, random, least connections, and least load. Choose what fits your needs.

🔌

TCP & UDP

Full support for both TCP and UDP protocols. Handle web traffic, game servers, DNS, and more.

💚

Health Checks

Automatic backend health monitoring. Unhealthy servers are removed from rotation automatically.

📊

Real-Time Stats

Monitor connections, traffic, and backend performance with detailed real-time statistics.

🔧

REST API

Manage your proxy programmatically with a comprehensive REST API for automation and integration.

High Performance

Optimized for speed with minimal latency overhead. Handle thousands of concurrent connections.

🎯

Server Groups

Organize backends into logical groups with independent load balancing strategies and health checks.

Intelligent Routing

Route traffic based on subdomains and protocols

Configuration Example

server_groups:
  web_servers:
    strategy: round_robin
    backends:
      - host: 192.168.1.10
        port: 8080
        weight: 1
      - host: 192.168.1.11
        port: 8080
        weight: 2

  api_servers:
    strategy: least_connections
    backends:
      - host: 192.168.1.20
        port: 3000

routes:
  - subdomain: www.example.com
    server_group: web_servers
    protocol: tcp
    listen_port: 80

  - subdomain: api.example.com
    server_group: api_servers
    protocol: tcp
    listen_port: 80
01

Server Groups

Define pools of backend servers with custom load balancing strategies and health check configurations.

02

Subdomain Routing

Route traffic to different backend groups based on the subdomain in the request.

03

Weighted Backends

Control traffic distribution with backend weights. Higher weights receive more traffic.

04

Protocol Support

Configure separate routes for TCP and UDP traffic on the same or different ports.

Load Balancing Strategies

Choose the right strategy for your workload

🔄

Round Robin

Distribute requests evenly across all backends in rotation. Simple and effective for most use cases.

Default
🎲

Random

Select backends randomly. Good for stateless applications with uniform backend capacity.

📉

Least Connections

Route to the backend with the fewest active connections. Ideal for long-lived connections.

Recommended

Least Load

Route to the backend with the lowest current load. Best for CPU-intensive workloads.

Built for Performance

Optimized for speed and reliability

Low Latency

Minimal overhead with sub-millisecond latency added to your traffic. Optimized connection handling ensures fast response times.

🚀

High Throughput

Handle thousands of concurrent connections with ease. Efficient async I/O ensures maximum throughput.

🔄

Zero Downtime

Update configurations, add routes, and modify backends without restarting. Changes apply instantly.

💪

Resource Efficient

Lightweight and efficient. Minimal CPU and memory footprint even under heavy load.

Use Cases

Perfect for various scenarios

🌐 Web Applications

Load balance HTTP/HTTPS traffic across multiple web servers with subdomain-based routing for multi-tenant applications.

🎮 Game Servers

Distribute game traffic across multiple server instances with UDP support and health monitoring.

🔌 Microservices

Route API requests to different microservices based on subdomains or paths with intelligent load balancing.

📡 DNS Services

Load balance DNS queries across multiple DNS servers with UDP protocol support and health checks.

Documentation

Get started quickly with comprehensive guides

📚

Quick Start Guide

Get up and running in minutes with our step-by-step installation and configuration guide.

Read Guide →
⚙️

Configuration Reference

Complete reference for all configuration options, server groups, routes, and load balancing strategies.

View Reference →
🔌

API Documentation

REST API reference for programmatic management of routes, backends, and monitoring statistics.

API Docs →
💡

Examples

Real-world configuration examples for common use cases including web apps, game servers, and microservices.

View Examples →

Get Started

Deploy Wormhole proxy today

📦

Installation

pip install -r requirements.txt

🐙

GitHub

github.com/bowshock/wormhole

🏢

Company

A Bowshock Software Product