Agent skill · marketing growth · nousresearch
pinggy-tunnel
Zero-install localhost tunnels over SSH via Pinggy.
Why this skill is useful
Provides specific SSH commands and configurations for setting up a Pinggy tunnel that the AI wouldn't reliably generate on its own.
What it needs
Requires ssh installed locally. About 7k tokens when loaded. Last updated 2026-08-07. 226,679 stars on the source repository.
What this skill does
Pinggy Tunnel Skill Expose a local service (dev server, webhook receiver, MCP endpoint, demo) to the public internet using a Pinggy SSH reverse tunnel. No daemon to install — the user's stock SSH client connects to a.pinggy.io:443 and Pinggy hands back a public HTTP/HTTPS URL. Free tier: 60-minute tunnels, random subdomain, no signup. Pro tier ($3/mo) is an opt-in with a token. When to Use User asks to "expose this locally", "share my dev server", "make this URL public", "tunnel port N", "get a public URL for a webhook" Need to receive a webhook callback during a local task (Stripe, GitHub, Discord, AgentMail) Sharing a one-off HTTP demo (MCP server, Ollama/vLLM endpoint, dashboard) with a remote party The host has SSH but no cloudflared / ngrok binary, and installing one would be overkill If the host already has cloudflared configured, prefer the cloudflared-quick-tunnel skill — Cloudflare quick tunnels don't expire after 60 minutes. Prerequisites ssh on PATH (ssh -V). Default on Linux, macOS, and Windows 10+. No other install. A local service listening on 127.0.0.1:<port> before the tunnel starts. Pinggy will return URLs but they'll 502 until the local origin is up. Optional: PINGGYTOKEN env var for paid Pro features (persistent subdomain, custom domain, multiple tunnels, no 60-minute cap). Free tier needs no credentials. Quick Reference Procedure — Start a Tunnel and Get the URL The model SHOULD use the terminal tool. The tunnel must stay alive for the duration of the share, so run it as a background process and parse the public URL from stdout. 1. Confirm a local origin is up If nothing is listening yet, start it first (e.g. python -m http.server 8000 --bind 127.0.0.1). Pinggy will happily return a URL pointed at nothing — the user will see 502 until the origin comes up. 2. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills nousresearch/pinggy-tunnel