AgentSkillsCN

tunneling

使用 tinyfi.sh 创建免费的 SSH 隧道,将本地端口暴露至互联网。当您需要共享本地运行的应用程序、测试 Webhook、演示原型,或为任意本地服务获取公开的 HTTPS URL 时,无需注册或身份验证即可轻松实现。

SKILL.md
--- frontmatter
name: tunneling
description: Create free SSH tunnels to expose local ports to the internet using tinyfi.sh. Use when you need to share a locally running app, test webhooks, demo a prototype, or get a public HTTPS URL for any local service — no signup or authentication required.

TinyFish Tunneling Service (tinyfi.sh)

Creates instant public HTTPS URLs for locally running apps via SSH tunneling. Free, no account, no installation beyond SSH.

Pre-flight Check (REQUIRED)

Verify SSH is available (it almost always is):

bash
which ssh && echo "SSH available" || echo "SSH not found — install OpenSSH first"

Quick Start

Expose a local port to the internet:

bash
ssh -o StrictHostKeyChecking=accept-new -R 80:localhost:<PORT> tinyfi.sh

Replace <PORT> with the port your app is running on. The command will print a public https://<random>.tinyfi.sh URL.

Custom Subdomain

Request a specific subdomain instead of a random one:

bash
ssh -o StrictHostKeyChecking=accept-new -R myname:80:localhost:<PORT> tinyfi.sh

This gives you https://myname.tinyfi.sh.

Keep-Alive (Stable Connections)

For long-running tunnels, add a keep-alive interval to prevent disconnection:

bash
ssh -o StrictHostKeyChecking=accept-new -o ServerAliveInterval=60 -R 80:localhost:<PORT> tinyfi.sh

Usage Guidelines

When starting a tunnel for the user:

  1. Ask which port to expose if not already specified
  2. Run the SSH command in the background so the agent can continue working
  3. Report the public URL back to the user once the tunnel is established
  4. The tunnel stays open as long as the SSH connection is alive

Common Ports

Framework / ToolDefault Port
Next.js / React / Express3000
Vite5173
Django8000
Flask5000
Go (net/http)8080
Ruby on Rails3000
PHP (built-in)8000

Rate Limits

  • 5 SSH connections per minute per IP
  • 100 HTTP requests per minute per IP
  • 50 concurrent connections max
  • 48-hour idle timeout