From 3f271b47826977cbf7f3dfcf414890429d913037 Mon Sep 17 00:00:00 2001 From: Simantak Dabhade Date: Wed, 4 Feb 2026 17:03:42 -0800 Subject: [PATCH] added the skill.md file for tinyfi.sh --- skills/tunneling/SKILL.md | 73 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 skills/tunneling/SKILL.md diff --git a/skills/tunneling/SKILL.md b/skills/tunneling/SKILL.md new file mode 100644 index 0000000..e3c2c94 --- /dev/null +++ b/skills/tunneling/SKILL.md @@ -0,0 +1,73 @@ +--- +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: tinyfi.sh +``` + +Replace `` with the port your app is running on. The command will print a public `https://.tinyfi.sh` URL. + +## Custom Subdomain + +Request a specific subdomain instead of a random one: + +```bash +ssh -o StrictHostKeyChecking=accept-new -R myname:80:localhost: 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: 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 / Tool | Default Port | +|----------------------|-------------| +| Next.js / React / Express | 3000 | +| Vite | 5173 | +| Django | 8000 | +| Flask | 5000 | +| Go (net/http) | 8080 | +| Ruby on Rails | 3000 | +| 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 +