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 |
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
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
"What model did we discuss?"
"I don't have context about previous conversations."
"What model did we discuss?"
"We discussed Llama 3 70B for your RAG pipeline. You preferred it over Mistral for accuracy."
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.
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.
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.
-
--rawtunnels any local HTTP service - Auto-detect: non-Ollama targets tunnel as generic HTTP
- Full header passthrough - forms, HTML, binary, streaming
-
--wait-targetretries 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.
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.
- 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
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.