Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Trabas – HTTP tunneling tool (ngrok alternative). Star us on GitHub.
Issues Discussions

Trabas: HTTP Tunneling Tool (ngrok Alternative)

     ███████ ███████    █    ███████    █     █████ 
        █    █     █   █ █   █     █   █ █   █      
        █    ███████  █████  ███████  █████   █████ 
        █    █   █   █     █ █     █ █     █       █
        █    █   ██  █     █ ███████ █     █  █████  

Trabas is an open-source, lightweight HTTP tunneling tool (an ngrok alternative) that lets you securely expose a local web service to the public internet over a persistent TCP tunnel. It focuses on simplicity, reproducibility, and observability through an all-in-one CLI. Ideal for quick API demos, webhook development, prototyping, or remote access.

Key Features

  • Fast, minimal HTTP tunneling over stable TCP.
  • Single portable binary.
  • One server can multiplex multiple clients.
  • Optional Redis-backed request queue for scale.
  • Built-in rate limiting & response caching.
  • TLS support (configurable).
  • Simple configuration and clear CLI feedback.

Architecture & Usage Overview

Trabas runs as two coordinated processes:

  1. Server Service
  • Accepts inbound public HTTP requests and maintains tunnels to connected clients.
  • Forwards each public request to the matching client tunnel.
  • Can optionally leverage Redis for distributed queueing (multiple server instances / HA).
  1. Client Service
  • Maintains an outbound TCP tunnel to the server.
  • Proxies incoming tunnel traffic to your local underlying service (e.g. localhost:8080).

This decoupling enables multiple local services to be exposed through a single public endpoint cluster.

Diagram

Here’s an example of how users access our local service through the internet:

basic architecture

Demo (Video)

Watch a short demo of HTTP tunneling with Trabas:

Watch the video

Why Trabas vs ngrok?

  • Open-source (no vendor lock-in).
  • Self-hostable for internal tooling.
  • Simple, transparent protocol.
  • Lightweight with zero dependencies (except optional Redis).

Next Steps


Need a feature? Open an issue or suggest an edit using the Edit button in the top bar.