核心用法
TinyFish Tunneling 是一项基于 SSH 反向隧道的免费公共服务,允许用户将本地运行的任意 TCP 端口(如 Web 应用、API 服务)通过一条 SSH 命令映射到互联网可访问的 HTTPS 域名,无需注册账号、无需安装额外软件(仅需系统自带的 OpenSSH 客户端)。
基础命令结构
ssh -o StrictHostKeyChecking=accept-new -R 80:localhost:<本地端口> tinyfi.sh
-R参数建立远程端口转发,将 tinyfi.sh 服务器的 80 端口流量转发到本地指定端口- 系统返回形如
https://<随机子域>.tinyfi.sh的公网 URL - 支持自定义子域名格式:
-R myname:80:localhost:<端口>
高级配置
- 保活机制:添加
-o ServerAliveInterval=60防止长时间空闲导致连接断开 - 后台运行:建议将 SSH 进程置于后台,确保持续可用
显著优点
1. 零门槛即时可用:无需注册、API 密钥或信用卡,5 秒内获得公网 HTTPS 地址
2. 原生 HTTPS 加密:自动生成 SSL 证书,避免自签名证书的信任警告
3. 跨平台兼容:任何支持 OpenSSH 的系统(macOS、Linux、WSL、Termux)均可直接使用
4. 无客户端依赖:纯 SSH 协议实现,不引入额外二进制文件或运行时环境
潜在缺点与局限性
| 维度 | 说明 |
|------|------|
| 连接稳定性 | 依赖 SSH 长连接,网络波动或 48 小时空闲超时会导致隧道中断 |
| 性能瓶颈 | 免费服务存在速率限制(5 SSH/分钟、100 HTTP/分钟、50 并发),高并发场景不适用 |
| 域名不可控 | 随机子域每次重启可能变化,虽支持自定义但无所有权验证机制 |
| 安全边界模糊 | 流量经过第三方服务器中转,敏感数据传输存在被动监听风险 |
| 功能单一 | 不支持 WebSocket 原生优化、自定义响应头、负载均衡等企业级特性 |
适合人群
- 前端/全栈开发者:快速向客户演示本地开发中的 Web 应用
- 后端工程师:调试第三方平台的 Webhook 回调(如 Stripe、GitHub)
- 独立黑客/Maker:临时暴露 IoT 设备或原型服务进行远程协作
- 技术写作者:录制教程时展示本地运行的示例项目
常规风险
1. 中间人暴露:SSH 首次连接时的 StrictHostKeyChecking=accept-new 设置虽便利,但跳过了主机密钥验证,存在首次连接被劫持的理论风险
2. 服务可持续性:免费 SaaS 服务存在运营终止或域名变更可能,不适合生产环境依赖
3. 数据残留:请求日志可能存储于服务器,敏感业务数据应避免通过此通道传输
4. 滥用封禁:共享出口 IP 可能因其他用户行为被目标服务列入黑名单
---
> 建议将 TinyFish 定位为开发调试工具而非基础设施组件,正式部署请迁移至 ngrok Enterprise、Cloudflare Tunnel 或自建反向代理方案。