Explita Tunnel

Instant, Encrypted Tunnels
For Developers

Expose your local development servers, Stripe/Shopify webhooks, and WebSocket backends to the internet in seconds with authenticated ECDH key agreement and AES-256-GCM.

$explita tunnel 3000
or eta 3000
bash — eta 3000 -s my-app
Explita TunnelLIVE CONNECTION

✓ Authenticated • Token verified

✓ Key agreement complete • ECDH P-256 + AES-256-GCM

Fingerprint: SHA256:7a:91:4f:2c:81:d3:05:e2:39:11:bc:54

Public URL: https://my-app.tunnel.explita.ng

Forwarding: http://localhost:3000

Inspector: http://127.0.0.1:39755 (Press 'r' to replay)

Live Wire Frame Traffic:

200 OKGET/api/auth/session11ms

101 SWWSS/ws/live-stream[Encrypted Frame]2ms

200 OKPOST/webhooks/stripe[Signature Verified]28ms

Edge Transport
TLS 1.3 Wildcard
Cryptography
ECDH + AES-256
Protocols
HTTP, WS, SSE
Payload Bound
25 MB Stream
Rate Limiter
100 req/s Guard
Reconnect Lock
60s Atomic Grace
Tunnel Capabilities

Engineered For Speed, Privacy & Webhook Testing

Everything you need to expose local development servers without leaking sensitive payloads to third-party cloud providers.

Inner ECDH + AES-256-GCM

Automatic ephemeral ECDH (P-256) key agreement with AES-256-GCM authenticated encryption for every request and response payload.

Local Web & Wire Inspector

Built-in zero-dependency local dashboard on http://127.0.0.1:39755. Inspect real-time SSE streams, headers, and press "r" to replay requests.

Multi-Tenant Nested Subdomains

Route multi-tenant SaaS subdomains (tenant--myapp.tunnel.explita.ng) under single wildcard TLS with injected x-explita-* context headers.

IP & CIDR Firewall

Restrict tunnel access exclusively to authorized developer IPs or trusted webhook providers (Stripe, GitHub, Shopify) with -i, --allow-ip.

Persistent Custom Subdomains

Claim memorable, stable subdomains with -s, --subdomain (3 to 32 characters) so your webhook URLs remain persistent across reconnects.

Full WebSocket & SSE Streaming

Seamless proxying for Next.js, Vite, Turbopack, and WebSocket applications with zero-delay chunk streaming for Server-Sent Events.

Production Guardrails

100 req/s sliding-window rate limiter per tunnel, 25MB payload bounds, 60s atomic reconnect grace, and untrusted header sanitization.

Zero-Logging Architecture

We never log, persist, or inspect request bodies, authorization headers, or WebSocket frames on disk or in remote databases.

Real-World Workflows

Built For The Way Developers Build

From webhook integrations to live mobile previews, eliminate the friction of testing localhost on the public internet.

Webhooks & Events

Stripe, Shopify & GitHub Webhooks

Test third-party webhooks directly against your local handlers with zero deployment delays. Lock in a stable custom subdomain with -s so you never have to reconfigure developer webhook dashboards when restarting tunnels.

POSThttps://webhook--dev.tunnel.explita.ng/api/stripe
Authentication & Identity

OAuth & Social Sign-In Callbacks

Google, GitHub, and Apple Sign-In reject plain http://localhost redirect URIs. Explita provides instant, valid TLS 1.3 wildcard certificates so authentication handshakes complete smoothly on your local machine.

GEThttps://auth--dev.tunnel.explita.ng/auth/callback
Cross-Device Testing

Mobile & Physical Device Previews

Test your responsive web application on physical iPhones, iPads, and Android devices over cellular data or external Wi-Fi networks without installing self-signed root certificates or messing with LAN IP routing.

ResponsiveiOS Safari • Android Chrome • Mobile Tablets
Demos & Collaboration

Instant Teammate & Client Demos

Demo a work-in-progress feature to a product manager, designer, or client directly from your laptop before merging PRs or waiting on staging builds. Every session is encrypted with ECDH P-256 for privacy.

Encrypted Sessionhttps://demo--v2.tunnel.explita.ng
Multi-Tenant Architecture

Multi-Tenant SaaS Subdomain Testing

Test tenant-isolated customer spaces (e.g. acme--myapp.tunnel.explita.ng) without editing /etc/hosts or setting up local DNS servers. Headers like x-explita-tenant are automatically injected.

GETacme--myapp.tunnel.explita.ng → x-explita-tenant: acme
Streaming & Real-Time

AI Token Streaming & WebSockets

Develop LLM streaming interfaces with Server-Sent Events (SSE) without edge buffering delays. Full bidirectional binary and text WebSocket support keeps collaborative tools, games, and chat apps responsive.

Zero Bufferingtext/event-stream • RFC 6455 WSS
Multi-Tenant SaaS Superpower

Test Nested Subdomains Under Standard Wildcard TLS

Standard wildcard certificates only cover a single subdomain depth. We solved multi-tenant SaaS local testing using double hyphens (--) with zero DNS overhead and automatic header injection.

Single Wildcard Subdomain Mapping

When exposing your multi-tenant app with eta 3000 -s my-app, any request with a tenant prefix before -- automatically routes to your tunnel:

https://acme--my-app.tunnel.explita.ng
Resolves under Wildcard TLS:*.tunnel.explita.ng
Edge Router Maps To Tunnel:my-app
Forwards To Local Server:localhost:3000

Both dot notation (tenant.my-app) and double-hyphen notation (tenant--my-app) are recursively resolved.

Automatic Injected Context Headers

Your local application backend automatically receives structured x-explita-* headers to identify the tenant without parsing URLs manually:

Header NameInjected Value
x-explita-tenant"acme"
x-explita-subdomain"acme--my-app"
x-explita-parent-subdomain"my-app"
x-explita-subdomain-prefix"acme"
x-explita-client-ip<caller-real-ip>

Untrusted caller-supplied x-explita-* headers are sanitized at the gateway to prevent spoofing.

Transparent Comparison

How Explita Tunnel Compares

Engineered for developers and security-conscious engineering teams who demand complete control over payload privacy, subdomains, and webhook traffic.

Capabilities
Explita Tunnel
ngrokCloudflare TunnelsLocaltunnel
Inner Payload CryptographySecurity
ECDH P-256 + AES-256-GCM
NoNoNo
Zero-Log Edge ArchitectureSecurity
Yes
NoNoUnverifiable
Self-Hosted Private GatewayDeployment
1-Command (Docker / Node)
NoConnector onlyBasic repo
Local Web & Wire InspectorDeveloper Experience
Live SSE + Terminal Replay ('r')
Web UI (127.0.0.1:4040)NoNo
Multi-Tenant Subdomains (--)Routing
Native Wildcard TLS
Paid EnterpriseRequires Cloudflare DNSNo
Edge Anycast PoP NetworkInfrastructure
Your Own Server / Cluster
Global Anycast PoPs300+ Global Anycast PoPsCommunity Servers
Free Persistent SubdomainsPricing
Unlimited on your host
1 static domainRequires Cloudflare DNSRandom / Collisions
IP / CIDR Firewall FilteringSecurity
Built-in (-i, --allow-ip)
Paid tier ($20/mo+)Zero Trust policyNo
Cloud Vendor Lock-inOwnership
Zero (100% Open Source)
Proprietary CloudCloudflare EcosystemCommunity hosted
Non-Custodial Architecture: Your traffic is never stored or decrypted on third-party servers.
Read Security Whitepaper →
Zero-Log Privacy Architecture

We Don't Log Your Traffic.
Anywhere. At Any Time.

Your source code, webhook payloads, internal API calls, and credentials belong to you alone. Explita Infra is engineered from the ground up with zero persistent data collection.

Zero Logging Policy

We do not log, persist, store, or inspect HTTP request bodies, response payloads, authorization headers, cookies, or WebSocket frames on disk or in remote databases.

Ephemeral In-Memory Streaming

All traffic flows strictly through ephemeral, in-memory proxy buffers. Once a request chunk or WebSocket stream reaches your machine, the buffer is immediately reclaimed.

Inner Tunnel Cryptography

Every tunnel session negotiates a unique cryptographic session key using ECDH (P-256) between the gateway and your dev PC, encrypting all messages with authenticated AES-256-GCM across the WebSocket link.

Local Inspection Only

Observability stays entirely on your own computer. The web inspector UI (127.0.0.1:39755) and CLI wire logger process frames in local agent memory, never through the edge server.

Our Transparency & Open Privacy Commitment

Privacy is a foundational architectural choice, not marketing. The edge gateway only maintains anonymous, high-level numeric counters (total requests routed and bytes relayed) to monitor capacity, with zero payload inspection.

Zero Traffic Logging
Zero Payload Storage
Ephemeral Forwarding
60s Reconnect Grace
Advance Notice Pledge
Quickstart & Commands

Explita Tunnel Quickstart Guide

Get your tunnel running in seconds with zero complicated configuration.

Step 1: Install Global CLI

Installs the Explita CLI suite, providing the explita, eta (tunnel), and eda (deploy) binaries.

pnpm add -g @explita/cli

Step 2: Instant Tunnel Forwarding

Spins up an ephemeral HTTPS tunnel forwarding to localhost:3000 with inner encryption.

explita tunnel 3000
# or shorthand: eta 3000

Step 3: Reserve a Custom Subdomain & Launch Inspector

Claims https://my-app.tunnel.explita.ng and launches the local web inspector dashboard.

eta 3000 -s my-app --inspect 39755

Commands

Primary executable verbs available via the eta binary.

CommandTypeDescriptionExample
eta <port>PrimaryExpose local HTTP/WS port with an encrypted tunneleta 3000
etaZero-ConfigStart tunnel using settings from local .etarc configurationeta
eta init [port] [options]ScaffoldInitialize or update project-level .etarc configuration (-s, -a, -i, -H)eta init 3000 -s my-app -i '1.2.3.4'
eta config [cmd]ManageView or edit local and global configuration (list, get, set, path)eta config set hostHeader rewrite

Options & Flags

Flags available when running eta [port] [options].

Flag / OptionTypeDefaultDescriptionExample
-p, --port <num>Required*NoneLocal TCP port of running server (*optional if specified in .etarc)eta 3000
-s, --subdomain <name>OptionalRandom 8-charRequest custom subdomain (3 to 32 chars: a-z, 0-9, hyphens)eta 3000 -s webhook-api
-a, --auth <user:pass>OptionalNoneProtect tunnel endpoint with HTTP Basic Authenticationeta 3000 -a 'alice:secret'
-i, --allow-ip <cidr>OptionalNoneRestrict access to specific IP or CIDR ranges (HTTP 403 Forbidden)eta 3000 -i '1.2.3.4, 10.0.0.0/8'
-H, --host-header <host>OptionalPreserves tunnel hostRewrite Host header to target or custom host (e.g. rewrite for Vite/Next.js)eta 3000 -H rewrite
-t, --token <token>OptionalSaved in configDeveloper authentication token (or via TUNNEL_TOKEN env variable)eta 3000 -t tok_abc...
--inspect [port]Optional39755Enable local request inspector web dashboard on 127.0.0.1eta 3000 --inspect 5000
--no-inspectFlagfalseDisable local request inspector web dashboard (runs in quiet/headless mode)eta 3000 --no-inspect
-R, --no-reconnectFlagfalseDo not automatically reconnect if the connection dropseta 3000 -R
-E, --no-encryptFlagfalseDisable inner application-layer encryption (debug mode)eta 3000 -E
-S, --server <url>OptionalPublic GatewayCustom WebSocket tunnel gateway server URLeta 3000 -S wss://tunnel.explita.ng/_connect
-v, --versionFlagfalseDisplay client version and build commiteta -v
Strictly Local Web Inspector:The built-in request inspector dashboard (http://127.0.0.1:39755) runs 100% in local memory on your computer. Request bodies, response payloads, and headers are buffered exclusively on your machine and never pass through or get inspected by the remote tunnel gateway.

Interactive Terminal Hotkeys

Press any of these keys while an active eta terminal session is running.

KeyActionDescription
rReplayReplay the latest received HTTP request directly against your local server
cClearClear the terminal screen output buffer without dropping active tunnels
hHelpToggle the interactive terminal hotkey help display
Got Questions?

Tunnel Frequently Asked Questions

Everything you need to know about Explita reverse tunnels, security, bandwidth, custom domains, and protocol details.

Explita Tunnel combines zero-config startup with inner cryptographic session encryption (ECDH P-256 + AES-256-GCM between gateway and local workstation), native nested multi-tenant routing with double hyphens under single wildcard TLS, an atomic 60-second reconnect grace period, and a strict zero-logging policy where no payload bytes are ever stored on disk or in remote databases.