Open Source · MIT Licensed

Your homelab AI,
accessible from anywhere

One command to tunnel your local Ollama, OpenClaw, vLLM, or any AI service to the internet - or SSH, Docker, and Jupyter over raw TCP. Run multiple tunnels in parallel, each with its own public URL. Authenticated, private, and ready in seconds.
Built for the self-hosted AI community.

npx easytyga
$ npx easytyga --tunnel ollama=http://localhost:11434 --tunnel vllm=http://localhost:8000

  easytyga v3.0.0 (2 tunnels)

  GPU:     NVIDIA GeForce RTX 4090
  Relay:   wss://easytyga.com/ws

  Tunnels:
    ollama -> http://localhost:11434
    vllm   -> http://localhost:8000

  [ollama] Tunnel active
  [ollama] Public URL:  https://relay.easytyga.com/t/abc123
  [ollama] API Key:     et_a1b2c3d4e5f6...

  [vllm]   Tunnel active
  [vllm]   Public URL:  https://relay.easytyga.com/t/def456
  [vllm]   API Key:     et_e5f6g7h8i9j0...

  Press Ctrl+C to disconnect.

The problem with self-hosted AI

You're running AI locally. But getting it online is harder than it should be.

No authentication

Most local AI services have zero built-in auth. Expose them publicly and anyone can use your hardware.

Stuck behind NAT

Home router, CGNAT, firewall -- your homelab isn't reachable from the internet.

Config nightmare

nginx + Cloudflare + Let's Encrypt + basic auth. Just to expose a local service? Really?

IP exposed

Port forwarding leaks your home IP to every client that connects.

One command. Secure. Done.

One command

npx easytyga. That's it. No install, no config files, no Docker. Works in 10 seconds.

Auto API key auth

Every tunnel gets a unique API key. Every request is authenticated. No anonymous access.

IP stays private

Clients connect through our relay. Your home IP is never exposed. Works behind any NAT.

Auto GPU detection

Detects your NVIDIA, AMD, or Apple Silicon GPU automatically. Knows what you're running.

Works with anything

Ollama, OpenClaw, vLLM, LocalAI, ComfyUI -- or any local HTTP service. Use --raw to tunnel dev servers, dashboards, and webhook receivers.

Multi-tunnel

Run Ollama, vLLM, and OpenClaw at the same time. Each tunnel gets its own public URL and API key.

The whole box, not just HTTP

Not just HTTP. Tunnel raw TCP to SSH in, drive Docker, or open Jupyter - default-deny, only the ports you allow.

Activate ($1) With Credits
Requests 500 included 10K - 200K
API key auth
Multi-tunnel
Any HTTP service (--raw)
Raw TCP (SSH / Docker / Jupyter)
OpenClaw + Ollama + vLLM
Credits expire? Never Never
Price $1 one-time From $4.99
Infrastructure

A tunnel other products are built on

easytyga is the transport, not the destination. It puts a local service online securely and gets out of the way, so other products can build on top of the same tunnel.

  • Secure, API-key-authenticated tunnels
  • Raw TCP for SSH, Docker, and databases
  • Multi-tunnel from one process
  • Your home IP is never exposed
gpusmarket.com Peer-to-peer GPU rentals, run over easytyga
agenticmemory.ai Persistent AI memory over the same tunnel
openclaw.ai Messaging webhooks routed through easytyga
Sponsored by agenticmemory.ai

Add persistent memory

Your AI forgets everything between sessions. Add one flag and conversations persist across sessions, devices, and channels.

npx easytyga --memory
  • Conversations stored automatically
  • Context recalled on next session
  • Works across devices
  • Sub-millisecond reads
Without memory

"What model did we discuss?"

"I don't have context about previous conversations."

With --memory

"What model did we discuss?"

"We discussed Llama 3 70B for your RAG pipeline. You preferred it over Mistral for accuracy."

Works with openclaw.ai

Tunnel your AI assistant to the world

Running OpenClaw in your homelab? One flag gives your personal AI assistant a public webhook endpoint for WhatsApp, Telegram, Slack, Discord, Signal, and 20+ other channels.

npx easytyga --openclaw
  • Auto-detects OpenClaw gateway on port 18789
  • Public webhook URL for all your channels
  • Works behind any NAT or firewall
  • Custom port support: --openclaw 19000
$ npx easytyga --openclaw

  easytyga v3.0.0 + OpenClaw

  Target:  http://localhost:18789
  Service: OpenClaw gateway

  Tunnel active

  Public URL:  https://relay.easytyga.com/t/abc123
  API Key:     et_a1b2c3d4e5f6...

  Use the Public URL as your webhook endpoint
  for WhatsApp, Telegram, Slack, Discord, or Signal.

  Press Ctrl+C to disconnect.
Multi-tunnel

Run multiple coding agents in parallel

Running multiple AI agents that each need a different model? Tunnel them all at once. One process, multiple tunnels, each with its own public URL.

Your agents can hit Ollama for chat, vLLM for code generation, and a fine-tuned model for review - all through secure, authenticated endpoints.

  • Each tunnel gets its own public URL and API key
  • Independent reconnection per tunnel
  • One tunnel fails, the others keep running
  • Config file support for complex setups
$ cat easytyga.config.json
{
  "tunnels": [
    { "name": "ollama",  "target": "http://localhost:11434" },
    { "name": "vllm",    "target": "http://localhost:8000" },
    { "name": "codegen", "target": "http://localhost:8001" }
  ]
}

$ npx easytyga --config easytyga.config.json

  easytyga v3.0.0 (3 tunnels)

  [ollama]  Public URL: https://relay.easytyga.com/t/abc123
  [vllm]    Public URL: https://relay.easytyga.com/t/def456
  [codegen] Public URL: https://relay.easytyga.com/t/ghi789

  3 tunnels active. Press Ctrl+C to disconnect.
New in v2.1

Tunnel any HTTP service

Not just AI. Point easytyga at any local web service - a dev server, webhook receiver, dashboard, or home automation UI - and get a public, API-key-protected URL in seconds.

Request headers and content types pass through untouched, so JSON APIs, HTML pages, form posts, and binary responses all just work.

  • --raw tunnels any local HTTP service
  • Auto-detect: non-Ollama targets tunnel as generic HTTP
  • Full header passthrough - forms, HTML, binary, streaming
  • --wait-target retries while your service boots
$ npx easytyga --raw --target http://localhost:3000

  easytyga v3.0.0

  Target:  http://localhost:3000
  HTTP service reachable (generic mode)

  Tunnel active

  Public URL:  https://relay.easytyga.com/t/xyz789
  API Key:     et_i9j8k7l6m5n4...

  Share your dev server, demo a webhook,
  or expose a dashboard - securely.

  Press Ctrl+C to disconnect.
New in v3

The whole box, not just the API

Go beyond HTTP. easytyga v3 tunnels raw TCP, so you can SSH into your GPU pod, drive its Docker daemon, open Jupyter or TensorBoard, sync files, or reach a database - all over the same secured, API-key-authenticated tunnel. No public IP, no port forwarding.

Every port is default-deny. Nothing is reachable unless the machine explicitly allows it, and the relay enforces the same allowlist independently.

  • SSH and Docker over the tunnel, no card required
  • One-flag presets: --jupyter, --tensorboard, --db
  • Default-deny allowlist, enforced end to end
  • Reach any allowed port from your machine with connect
$ npx easytyga --stream-ports 22,2375 --jupyter

  easytyga v3.0.0

  GPU:     NVIDIA GeForce RTX 4090
  Streams: 22 (ssh), 2375 (docker), 8888 (jupyter)

  Tunnel active

  On your machine:
$ npx easytyga connect mypod --port 22 --local 2222
  Forwarding localhost:2222 -> mypod:22
  Connect with:  ssh <user>@localhost -p 2222

  Press Ctrl+C to disconnect.

One dollar. No spam. No free-for-all.

There is no free tier - a one-time $1 activation is our spam-buster. It keeps the shared relay clean, and if you are serious about self-hosting, $1 is pocket change. Buy credits for more requests. Credits never expire.

Activation and credits help us keep the relay infrastructure running for everyone.

Activate
$1
  • 1,000 requests included (≈ 1,000 Ollama prompts)
  • API key authentication
  • Multi-tunnel support
  • Raw TCP: SSH, Docker, Jupyter
  • GPU auto-detection
  • One-time spam-buster payment
Activate for $1
Starter
$4.99
  • 10,000 requests
  • No hourly rate limit
  • Never expires
Buy Starter
Popular
$14.99
  • 50,000 requests
  • No hourly rate limit
  • Never expires
  • Save 40%
Buy Popular
Pro
$29.99
  • 200,000 requests
  • No hourly rate limit
  • Never expires
  • Save 70%
Buy Pro

Freshly launched

easytyga v3.0.0 just went live. Be one of the first tunnels online.

Frequently asked questions

What you can tunnel, how it works, and what it costs.

What is easytyga?

easytyga is an open-source CLI that tunnels a local service to the internet with one command. Point it at Ollama, vLLM, LocalAI, ComfyUI, OpenClaw, or any HTTP service and it hands you a public URL with automatic API-key authentication. Your home IP is never exposed, and it works behind any NAT, CGNAT, or firewall.

How do I install it?

Run npx easytyga in your terminal. No install, no config files, no Docker required. It comes up in about 10 seconds and auto-detects your GPU and local AI service.

Does it work with Ollama?

Yes. easytyga auto-detects Ollama on localhost:11434 and exposes it as a secured public endpoint. The same works for vLLM, LocalAI, ComfyUI, and OpenClaw - point it at the port and it tunnels the API through untouched, so your existing client code just swaps the base URL.

Can I run OpenClaw or a full agent stack through it?

Yes. Run OpenClaw locally and tunnel its endpoint so remote agents, teammates, or your own cloud jobs can reach it. Because API-key auth is enforced at the relay, only callers holding your key get through - you get a public agent backend without standing up a server or leaking your IP.

Can I expose more than one service at once?

Yes. Multi-tunnel mode runs several at once: npx easytyga --tunnel ollama=http://localhost:11434 --tunnel vllm=http://localhost:8000. Each tunnel gets its own public URL and API key. For bigger setups you can drive it from a config file instead of flags.

Can I tunnel a non-AI service - a dev server, dashboard, or webhook receiver?

Yes. npx easytyga --raw --target http://localhost:3000 exposes any local HTTP service - a dev server, an internal dashboard, a webhook receiver, or a plain web app. Headers and content types pass through untouched, so JSON APIs, HTML pages, form posts, and binary responses all behave exactly as they do locally.

Can I SSH in, drive Docker, or reach a database over the tunnel?

Yes. easytyga tunnels raw TCP, so you can SSH into your box, drive its Docker daemon, open Jupyter or TensorBoard, sync files, or reach a database over the same authenticated tunnel. Ports are default-deny: the machine names the ports it allows with --stream-ports (or presets like --jupyter and --db), and the relay enforces that allowlist independently. To connect, npx easytyga connect mypod --port 22 --local 2222 forwards it locally so you can ssh user@localhost -p 2222. No public IP or port forwarding needed.

Is my IP address exposed?

No. Every request flows through the easytyga relay, so callers only ever see the relay - never your home or pod IP. It works behind any NAT, CGNAT, or firewall with nothing to open on your router.

How much does it cost?

A one-time $1 activates your tunnel key. It is a spam-buster to keep the shared relay clean, not a profit centre - if you are serious about self-hosting, $1 is pocket change. Activation includes 1,000 requests. Beyond that, credit packs start at $4.99 for 10,000 requests with no hourly rate limit, and credits never expire.

Is easytyga a GPU marketplace?

No. easytyga is a secure tunnel that puts a local service online. Marketplaces are built on top of it: gpusmarket.com, a peer-to-peer GPU rental marketplace, runs its rentals over easytyga tunnels. If you host there, npx easytyga --list advertises your tunnel to it.

Your AI, your hardware, your tunnel

npx easytyga

Open source. Community-funded. Built for homelabs.