pinggy-tunnel

pinggy-tunnel is a skill for Claude Code, Codex from nobodyohm-web/Thot. It costs 15 tokens per session (3,958 once invoked), scanned A, a copy of pinggy-tunnel, MIT.

A way to give a local web service a temporary public web address through an SSH connection to Pinggy. It can expose a service running on your computer without installing a tunnel program.

In plain words
What is it for?
Sharing a local development server, receiving webhook callbacks, exposing an MCP endpoint, or making a local dashboard or API reachable from the public internet.
Why use it?
It removes the need to deploy a local service before sharing it or receiving callbacks from the internet. The tunnel is suitable for one-off demos and webhook testing.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: positional $N argument.

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is nohup python /tmp/webhook-server.py >/tmp/webhook-server.log 2>&1 &.

Good fit Sharing a local development server, receiving webhook callbacks, exposing an MCP endpoint, or making a local dashboard or API reachable from the public internet.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/nobodyohm-web/Thot
agentmods
npx agentmods add skills/nobodyohm-web/thot/pinggy-tunnel

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for pinggy-tunnel

README.md
[![agentmods](https://agentmods.dev/badge/skills/nobodyohm-web/thot/pinggy-tunnel/github.svg)](https://agentmods.dev/skills/nobodyohm-web/thot/pinggy-tunnel)
Your own site
<a href="https://agentmods.dev/skills/nobodyohm-web/thot/pinggy-tunnel"><img src="https://agentmods.dev/badge/skills/nobodyohm-web/thot/pinggy-tunnel/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for pinggy-tunnel

Your own site · 80×15
<a href="https://agentmods.dev/skills/nobodyohm-web/thot/pinggy-tunnel"><img src="https://agentmods.dev/badge/skills/nobodyohm-web/thot/pinggy-tunnel.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 15 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,958 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin 100% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00015 $0.03958
Opus 5 $0.00008 $0.01979
Sonnet 5 $0.00003 $0.00792
Haiku 4.5 $0.00002 $0.00396

Measured 9d ago against content hash 3fea1ca48b4e, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

pinggy-tunnel scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

curl -sI http://127.0.0.1:8000/ | head -1
Origin

This is a copy

100% identical to pinggy-tunnel — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

hermes/optional-skills/devops/pinggy-tunnel/SKILL.md · 310 lines

How it starts

The opening of the file, as written. The whole thing — 310 lines — stays where its author put it; the contents beside it link to each section on GitHub.

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:

  • PINGGY_TOKEN env var for paid Pro features (persistent subdomain, custom domain, multiple tunnels, no 60-minute cap). Free tier needs no credentials.

Quick Reference

# Plain HTTP/HTTPS tunnel for port 8000 (free tier)
ssh -p 443 -o StrictHostKeyChecking=no -o ServerAliveInterval=30 \
    -R0:localhost:8000 [email protected]

# TCP tunnel (databases, raw SSH, etc.)
ssh -p 443 -o StrictHostKeyChecking=no -R0:localhost:5432 [email protected]

# TLS tunnel (Pinggy can't decrypt — bring your own certs at origin)
ssh -p 443 -o StrictHostKeyChecking=no -R0:localhost:443 [email protected]

# Basic auth gate (b:user:pass)
ssh -p 443 -o StrictHostKeyChecking=no -R0:localhost:8000 \
    "b:admin:[email protected]"

# Bearer token gate (k:token)
ssh -p 443 -o StrictHostKeyChecking=no -R0:localhost:8000 \
    "k:[email protected]"

# IP whitelist (w:CIDR)
ssh -p 443 -o StrictHostKeyChecking=no -R0:localhost:8000 \
    "w:203.0.113.0/[email protected]"

# Enable CORS + force HTTPS redirect
ssh -p 443 -o StrictHostKeyChecking=no -R0:localhost:8000 \
    "co+x:[email protected]"

# Pro tier (persistent URL, no 60-min cap)
ssh -p 443 -o StrictHostKeyChecking=no -R0:localhost:8000 "$PINGGY_TOKEN+a.pinggy.io"

Read the full file on GitHub · 310 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 9d ago First seen · 310 lines · 15 tokens per session scan A 3fea1ca48b4e

Subscribe to this mod's changes

pinggy-tunnel is a skill published in the GitHub repository nobodyohm-web/Thot (0 stars, last pushed 15d ago), licensed MIT. It adds 15 tokens to every session and 3,958 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). It is 100% identical to pinggy-tunnel, differing in 0 lines, and is treated as a copy.

Related

Other skills, from other repositories

duckduckgo-search

Free keyless web, news, and image search via ddgs.

NousResearch/hermes-agent · 19 tokens

subagent-driven-development

Execute plans via delegatetask subagents (2-stage review).

NousResearch/hermes-agent · 17 tokens

mem0-oss-to-platform

Plan and then execute a migration of a project from the mem0 open-source / self-hosted SDK (the local Memory class) to the mem0 Platform / hosted / managed SDK (the MemoryClient class). Use this whenever a developer wants to move, switch, or migrate their mem0 usage off OSS/self-hosted to the hosted API — e.g.…

mem0ai/mem0 · 273 tokens

auditing-subgroup-fairness

Audit an OpenMed NER or de-identification model for performance disparities across demographic subgroups (sex, age band, race/ethnicity when available) using openmed.eval.fairnessreport. Use when the user wants per-subgroup recall and leakage, wants to check whether de-identification under-protects a group, wants to…

maziyarpanahi/openmed · 148 tokens

rulesync

Generates and syncs AI rule configuration files (.cursorrules, CLAUDE.md, copilot-instructions.md) across 20+ coding tools from a single source. Use when syncing AI rules, running rulesync commands, importing or generating rule files, or managing shared AI coding configurations.

dyoshikawa/rulesync · 64 tokens

infographic-template-updater

Update template catalogs and UI prompts after adding new infographic templates (src/templates/.ts), including SKILL.md template list, site gallery template mappings, and the AIPlayground prompt list.

antvis/Infographic · 43 tokens