Skip to content

idumhq/idum-proxy

Repository files navigation

IDUM-PROXY

Idum-Proxy is the easiest and quickest way to deploy a web proxy.


License Python Build Status Version

HTTP HTTPS WebSocket SOCKS5 TCP/UDP


✨ Features

Idum-Proxy offers many features:

  • 🔒 Protocol Support: Handle HTTP, HTTPS, WebSockets, TCP/UDP, and SOCKS proxies
  • 🔐 Authentication: Support for various auth methods (Basic, Digest, NTLM, Kerberos)
  • 🔄 Connection Pooling: Efficient reuse of connections to improve performance
  • ⚖️ Load Balancing: Distribute traffic across multiple proxies
  • 🏥 Health Checking: Automatic detection and recovery from failed proxies
  • 💾 Caching: Store and reuse responses for identical requests
  • 🔄 Retry Mechanisms: Automatically retry failed requests
  • 🔧 Circuit Breaking: Prevent cascading failures
  • 📊 Metrics Collection: Track proxy performance, latency, error rates
  • 🔐 TLS/SSL Termination: Handle encryption/decryption
  • 🌍 IP Rotation: Change public IP addresses for scraping
  • 🎯 Geo-targeting: Route requests through proxies in specific locations

🚀 Quick Start

Installation

pip install idum_proxy

Or with uv:

uv add idum_proxy

Basic Usage

from idum_proxy import IdumProxy

if __name__ == "__main__":
    idum_proxy: IdumProxy = IdumProxy(config_file='proxy.json')
    idum_proxy.serve(host='0.0.0.0', port=8091)

📋 Configuration Example

{
  "version": "1.0",
  "name": "Simple example",
  "endpoints": [
    {
      "prefix": "/",
      "match": "**/*",
      "backends": {
        "https": {
          "url": "https://jsonplaceholder.typicode.com/posts"
        }
      },
      "upstream": {
        "proxy": {
          "enabled": true
        }
      }
    }
  ]
}

🐳 Docker Usage

docker build -t idum-proxy -f dockerfiles/idum_proxy.Dockerfile .
docker run  -p 8080:8080 idum-proxy

📄 License

Business Source License 1.1

About

⚡ High-performance Python proxy server with authentication, load balancing, caching, and multi-protocol support

Topics

Resources

License

Stars

Watchers

Forks

Languages