此列表的目的是跟踪和比较隧道解决方案。这主要是针对那些想通过公共域名公开本地Web服务器、使用自动HTTPS(即使在NAT或其他受限网络后面)的自助服务者和开发人员。
允许我注册域名并自动将记录指向运行隧道的服务器。
提供一个客户端工具,该工具可以通过服务器对HTTP/TCP连接进行隧道传输,而无需在客户端上使用root。
提供一个简单的GUI界面,允许我将X域/子域映射到Y porton Z客户端,并代理所有到该域的连接。
到目前为止我还没有';我没有找到一个工具来完成所有这些。特别是,他们中的一些人可以通过let';s Encrypt,它们都没有集成域注册和DNS管理。
更新:自从开始这个列表以来,我发现大多数其他解决方案都过于复杂,或者做出了不同于我想要的权衡。我在这个领域有两个自己的项目:
我相信SirTunnel是将自动HTTPS隧道传输到专用网络的最小方式。它';这只是一个利用Caddy和OpenSSH的50行Python脚本,但您需要了解它是如何使用的。这对开发者来说很好。
boringproxy是我对一个全面的隧道Proxy解决方案的看法。它';目前,除了自动DNS管理之外,它几乎解决了我想要的所有问题,而且';这是计划好的。一旦服务器运行,这是一个非常好用的工具,针对的是非开发人员。
frp——ngrok的全面开放替代方案。支持UDP,并具有P2P模式。我相信它使用定制的TCP协议进行多路复用,可以通过单个TCP连接或连接池运行。
ngrok 1.0——ngrok的原始版本。不再支持商业2.0版本。
Teleport-综合控制平面工具,但也支持访问NAT背后的应用程序。用围棋写的。
星云-点对点覆盖网络。由Slack内部开发和使用。与Tailscale类似,但完全开源。不';不要用铁丝网。用围棋写的。
零层-第二层覆盖网络。他们认真对待权力下放,喜欢说";分散直到受伤,然后集中直到奏效" 用C++编写。
sshuttle——开源项目,最初由Tailscale的创始人之一发起。服务器没有';不需要根;客户需要。明确设计用于避免TCP over TCP问题。
凿子-SSH隐藏起来,但仍然使用自定义客户端二进制文件。支持LetsEncrypt的自动证书。用围棋写的。
鼠洞-类似于frp,包括配置格式,但性能有所提高。低资源消耗。热装。用锈写的。
go http tunnel-使用单一http/2连接进行muxing。需要手动为服务器和客户端生成证书。
sish——开源ngrok/serveo替代方案。基于SSH,但使用Go编写的自定义服务器。支持WebSocket隧道。
wstunnel-WebSocket上的代理。专注于从阻止某些协议的网络后面进行代理。用Haskell编写,提供可执行文件。
boringproxy——设计得非常容易使用。没有配置文件。客户端可以通过服务器上简单的WebUI和/或REST API进行远程控制。
隧道——这是一个Golang库,不是一个你可以直接运行的程序。但是,它看起来很容易用于创建自定义解决方案。使用单个TCP套接字和yamux进行多路复用。
SirTunnel——ngrok的最小、自托管、0配置替代方案。与sish类似,但利用了Caddy+OpenSSH,而不是自定义服务器代码。
remotemoe——基于SSH,带有自定义golang服务器。做一些很酷的独特的事情。它不只是简单的隧道,而是将您放入一个基本的CLI UI,该UI以交互方式提供了几个有用的命令,例如添加自定义主机名。还允许对HTTPS和上游SSH进行端到端加密。不';t似乎提供非e2e HTTPS,即没有自动出租';s加密支持。
SSH-J.com-公共SSH跳转&;端口转发服务器。没有软件,没有注册,只有一个用于转发的匿名SSH服务器。鼓励用户仅将其用于SSH公开,以保留端到端加密。没有公共端口,只有SSH连接。运行ssh-j.com,它将显示使用信息。
Ngrok运营商——Ngrok与Kubernetes集成,允许私人Kubernetes上的开发者通过Ngrok轻松访问其服务。
ngrok 2.0——可能是金本位,也是最受欢迎的。封闭源代码。很多功能,包括TLS和TCP隧道。不';不需要root来运行客户端。
CloudFlare Tunnel-绝佳的免费选择。将隧道技术与Cloudflare的其余部分完美结合';s产品,包括DNS和自动HTTPS。客户端源代码是Apache2.0许可的,并用Golang编写。
尾秤-建立在钢丝护板上。易于使用。不';在公共端不包括HTTPS代理,但可以与nginx/Caddy等结合使用。客户机代码可与BSD3许可证+单独的专利文件一起使用。
漏洞-提供端到端TLS加密,客户端自动从Let'获取证书;s加密。用于URL共享的二维码。客户端是开源的。可以通过WebDAV提供本地目录。麻省理工学院执照。用围棋写的。
Packetriot——ngrok的综合替代品。HTTP Inspector,Let';s加密集成,不';apt、yum和dnf不需要root和Linux repos。企业许可证和自托管选项。
Hoppy——基于WireGuard的。为您的机器提供静态IPv4和IPv6地址,这是一个简单而有用的抽象级别。针对自助服务者和NATs背后的人。
吉瓦。运行——特别关注向一群人安全地公开内部网络应用;不适用于面向公众的应用程序。通过电子邮件地址共享访问权限,然后允许用户使用常见的登录提供商(如谷歌)登录。
入口——曾经是开源的;现在专注于精致的商业产品。旨在与库伯内特斯合作。