GoSuda

Portal Tunnel:通过去中心化公共中继暴露本地主机服务

By gosunuts views ...

Portal 与隧道

借助 AI,我们可以随时随地创建程序。但无论一个程序多么出色,它通常只存在于你自己的计算机上:即 localhost。vibecon

要将其暴露给外部网络,通常需要经过一系列复杂的步骤,例如路由器配置、防火墙规则、公网 IP 设置以及隧道配置。

如果这一切只需一行命令就能解决,会怎样?

借助 Portal 的隧道功能,你只需一条命令,即可将本地程序转变为公开服务。

让 localhost 公开访问

  1. 首先,在本地运行你的程序。

  2. 然后,只需这一行命令即可:

    1curl -fsSL portal.gosuda.org/tunnel | PORT=3000 NAME={app name} sh
    
  3. 检查你的应用是否已可公开访问:

    • {app name}.portal.gosuda.org

多租户

Portal 被设计为一个开放网络,而非单一服务。任何人都可以运营一个 Portal 中继节点,并且单个应用可以同时连接到多个 Portal,以实现冗余或地理分布。

1# 同时发布到多个 Portal 中继节点
2curl -fsSL http://portal.gosuda.org/tunnel | \
3PORT=3000 \
4NAME={app_name} \
5RELAY_URL=portal.thumbgo.kr,portal.iwanhae.kr,s-h.day,portal.lmmt.eu.org \
6sh

活跃的公共 Portal 列表维护在 Portal List 应用中(该应用本身也托管于 Portal 网络之上):https://portal-list.portal.gosuda.org/

这代表了一种真正无需许可的发布环境,不依赖于任何特定的提供商或基础设施。

与其他服务的比较

ngrok 和 cloudflared 等工具被广泛用于将本地服务暴露至公共互联网。
然而,Portal 在设计理念和使用模式上存在根本差异。

ngrok 和 cloudflared 是集中式的、基于 SaaS 的隧道服务。
使用前它们需要创建账户、颁发令牌、安装二进制文件并进行配置,且用户不可避免地受制于服务条款和定价模式。

与之相比,Portal Tunnel:

  • 无需安装,一行命令即可运行
  • 无需账户或令牌,即可即时发布
  • 允许任何人运营中继节点
  • 允许单个应用同时连接多个 Portal
  • 是一种纯粹的网络架构,不依赖于任何特定厂商

这些特性使 Portal Tunnel 与传统隧道服务处于截然不同的类别之中。