tokios-connector next to your model instead: it dials out to https://api.tokios.com, so it needs no public IP, no port forward, and no router or ISP change. You get back one stable, authenticated endpoint you can call from anywhere.
Inbound connections die at the ISP's CGNAT — there's no port to forward. The connector's outbound dial passes straight through.
Why CGNAT blocks port forwarding
Port forwarding works by telling your router “traffic that hits my public IP on port X should go to this device on my LAN.” That only works if your router has its own public IPv4 address in the first place. With CGNAT, it doesn’t. Your ISP has more customers than public IPv4 addresses, so it puts many customers behind one shared public IP and hands each household a private address instead. Your router’s “public” side is actually just another private address on the ISP’s internal network — there’s no unique inbound address pointing at your home for a port-forward rule to attach to. That means:- You cannot open port
11434(or any port) for inbound traffic, no matter how you configure your router. - You cannot fix this yourself — it’s a setting on equipment inside the ISP’s network, not yours.
- Calling your ISP to request a dedicated public IP is sometimes possible (often as a paid business-tier add-on), but it’s not something you configure directly, and it isn’t guaranteed to be offered.
The outbound-only fix
Thetokios-connector never listens for inbound traffic. It opens a wss:// connection outward to Tokios, the same direction your browser already uses to load a webpage — so CGNAT, your router’s NAT, and most firewalls never see it as anything unusual.
1
Run your model locally, as usual
Start your backend the normal way — no Leave it listening on
OLLAMA_HOST=0.0.0.0, no bind-to-all-interfaces flag, no router changes. For example, with Ollama:http://127.0.0.1:11434 (Ollama’s default). Tokios also works with llama.cpp, vLLM, and LM Studio — see Supported backends.2
Pair the connector
Sign in at tokios.com/console, open the Setup tab, and click Start pairing. Tokios shows a one-time claim code shaped Already have Back in the console, approve the device on the Setup or Connectors tab. The connector’s token is delivered over the tunnel once approved — you never see it on screen or paste it into a file.
TKS-XXXX-XXXX, valid for about 15 minutes.On the machine running your model, run the install one-liner for your OS:Windows
macOS
Linux
tokios-connector installed? Pass the code directly instead:3
Register a deployment
In the Models tab, register your local model and choose a public name — for example,
llama3-tunnel. Clients send this public name, not your backend’s local model id, in the model field of every request.4
Create an API key
In the Keys tab, click Create key. Optionally scope it to specific deployments with model-name patterns (comma-separated globs,
* for all). Copy the sk-tok-… key now — it’s shown only once.Use it from anywhere
Strict corporate or campus firewalls create the same problem as CGNAT from the other direction: inbound connections get blocked even when you do have a public IP. Because the connector only ever initiates an outbound
wss:// connection, the same setup works behind those firewalls too, with no exception request to file.Your model stays on your hardware — your endpoint works everywhere
CGNAT means your ISP controls inbound reachability to your home network, not you. Routing around that with a rented relay box or a reverse SSH tunnel means standing up and hardening a whole separate server. The connector removes the inbound requirement entirely: it dials out once, you approve it once, and from then onhttps://api.tokios.com is the stable address clients use — regardless of what your ISP does with your IP address.
Quickstart
Pair a connector and register your first model end to end.
Tunnels vs Tokios
See how this compares to Cloudflare Tunnel, ngrok, and Tailscale for streaming LLM traffic.
When to use Tokios
CGNAT is one constraint — this decision framework covers the others: team size, agent compatibility, airgap requirements, and when a different tool fits better.