Skip to content
Back to skills

Expose Localhost Tunnel

DSecurity

Tunnel/expose a localhost service to the internet from inside a cloud VM — get a stable public HTTPS URL (https://<box>-<port>.on.ascii.dev) with TLS and token-gating built in, no separate daemon or account like ngrok. The VM's dedicated IPv4 also allows raw TCP/UDP and bring-your-own domain. Use to share a preview, expose a webhook target, or open a port.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 7, 2026
ai-agentsgobashapi

Works with

  • api

Security analysis

D42/100
  • criticalPipes output to a shell interpreter
  • mediumUses curl or wget to download content
  • criticalDownloads and executes remote scripts — classic supply chain attack

Pro shows the line behind each finding and how to fix it

Scanned September 7, 2026

npx -y skills add ariana-dot-dev/cloud-sandbox-vm-skills --skill expose-localhost-tunnel --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Expose Localhost Tunnel?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Expose Localhost Tunnel
[![Security: D — Skills Directory](https://www.skillsdirectory.com/api/skills/ariana-dot-dev-expose-localhost-tunnel/badge)](https://www.skillsdirectory.com/skills/ariana-dot-dev-expose-localhost-tunnel)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: expose-localhost-tunnel
description: Tunnel/expose a localhost service to the internet from inside a cloud VM — get a stable public HTTPS URL (https://<box>-<port>.on.ascii.dev) with TLS and token-gating built in, no separate daemon or account like ngrok. The VM's dedicated IPv4 also allows raw TCP/UDP and bring-your-own domain. Use to share a preview, expose a webhook target, or open a port.
---

# Expose / tunnel localhost (Box)

Use this when a service running in a Box must be **reachable from outside**: sharing a dev preview, receiving webhooks, or demoing. Because the service already runs *inside* the VM, exposing it is one command — no `ngrok`-style sidecar, no extra account, no cert setup.

## Recipe

```bash
box ssh "$box_id" -- "cd /app && PORT=3000 npm start &"   # MUST bind 0.0.0.0
box ssh "$box_id" -- "host 3000 --title preview"
box ssh "$box_id" -- "host url 3000"                       # -> https://<box>-3000.on.ascii.dev?_token=...
box ssh "$box_id" -- "host list"                           # manage; host hide <port> to revoke
```

Ascii terminates TLS for `on.ascii.dev` and proxies to the box. URLs are **token-gated by default** (`--public` drops the token, `--private` enforces it).

## Why Box beats a tunnel tool

- No separate daemon/account — the route lives with the VM.
- TLS + auth handled; URL stable across the box's life.
- **Dedicated IPv4 + full TCP/UDP** — non-HTTP servers and BYO domains work; most sandbox providers can't tunnel raw TCP/UDP at all.

## Prereqs

`curl -fsSL https://box.ascii.dev/install | sh`, then `box login "$BOX_API_KEY" --json`.

## Gotchas

App **must bind `0.0.0.0`**. For a URL that outlives a long session, pair with `box extend <id> --no-auto-stop`. EU-only region today.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.