前言

目前主流的开源内网穿透工具有 ngrok frp lanproxy goproxy nps,其中老牌的ngrok,最火的是frp,其中lanproxy是用java写的其他的都是使用go语言编写。目前内网穿透服务商基本上都是使用这几款开源项目封装的。

项目介绍

1.frp

FRP 是一种快速反向代理,允许将位于 NAT 或防火墙后面的本地服务器暴露给互联网。它目前支持 TCP 和 UDP,以及 HTTP 和 HTTPS 协议,允许通过域名将请求转发到内部服务。 FRP还提供P2P连接模式。

特点:

  • 客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。
  • 端口复用,多个服务通过同一个服务端端口暴露。
  • 跨平台,但是支持的比nps少一点
  • 多种插件,提供很多功能

项目地址:https://github.com/fatedier/frp

2.nps

nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端。

特点:

  • 全面的协议支持,兼容几乎所有常用的协议,如tcp,udp,http(s),socks5,p2p,http代理...
  • 全平台兼容(linux、windows、macos、群晖科技等),支持安装即系统服务。
  • 全面控制,允许客户端和服务器控制。
  • Https 集成,支持将后端代理和 Web 服务转换为 https,并支持多种证书。
  • 只需在 Web UI 上进行简单的配置即可完成大多数要求。
  • 完整的信息展示,如流量、系统信息、实时带宽、客户端版本等。
  • 强大的扩展功能,一切可用(缓存、压缩、加密、流量限制、带宽限制、端口复用等)
  • 域名解析具有自定义标头、404 页面配置、主机修改、站点保护、URL 路由和泛解析等功能。
  • 服务器上的多用户和用户注册支持。

项目地址:https://github.com/cnlh/nps

3.ngrok

ngrok也是一款比较老的内网穿透项目了,ngrok 是一种简化的 API 优先入口即服务,可为您的应用添加连接性、安全性和可观测性。

ngrok-go 是一个开源和惯用的库,用于将 ngrok 网络直接嵌入到 Go 应用程序中。如果您以前使用过 ngrok,则可以将 ngrok-go 视为打包为 Go 库的 ngrok 代理。

ngrok-go 允许开发人员在一行代码中在互联网上提供 Go 应用程序,而无需设置 IP、证书、负载均衡器甚至端口等低级网络原语!使用 ngrok-go 的应用程序侦听 ngrok 的全球入口网络,但它们接收的接口与任何 Go 应用程序期望的接口相同(net。侦听器),就好像它通过调用 net 侦听本地端口一样。听()。这使得将 ngrok-go 集成到任何使用 Go 的 net 或 net/http 包的应用程序中变得毫不费力。

特点:

  • 目前有官方维护,一般较为稳定
  • 跨平台
  • 有流量记录和重发功能

项目地址:https://github.com/inconshreveable/ngrok

4.lanproxy goproxy

特点:

lanproxy项目地址:https://github.com/ffay/lanproxy goproxy项目地址:https://github.com/snail007/goproxy

文章作者: FLY.HE
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 FLY.HE的博客
docker docker
喜欢就支持一下吧
打赏
微信 微信