Star 13.3k 内网穿透工具 Rust 语言编写 frp,ngrok 替代

张开发
2026/4/21 12:44:11 15 分钟阅读

分享文章

Star 13.3k 内网穿透工具 Rust 语言编写 frp,ngrok 替代
这是一个或许对你有用的社群 一对一交流/面试小册/简历优化/求职解惑欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料《项目实战视频》从书中学往事上“练”《互联网高频面试题》面朝简历学习春暖花开《架构 x 系统设计》摧枯拉朽掌控面试高频场景题《精进 Java 学习指南》系统学习互联网主流技术栈《必读 Java 源码专栏》知其然知其所以然这是一个或许对你有用的开源项目国产Star破10w的开源项目前端包括管理后台、微信小程序后端支持单体、微服务架构RBAC权限、数据权限、SaaS多租户、商城、支付、工作流、大屏报表、ERP、CRM、AI大模型、IoT物联网等功能多模块https://gitee.com/zhijiantianya/ruoyi-vue-pro微服务https://gitee.com/zhijiantianya/yudao-cloud视频教程https://doc.iocoder.cn【国内首批】支持 JDK17/21SpringBoot3、JDK8/11Spring Boot2双版本rathole 是什么四大核心优势rathole vs frp vs ngrok怎么选快速上手适用场景和局限内网穿透工具选型frp 和 ngrok 用的人最多但两者都有各自的痛点frp 配置繁琐、内存占用不低ngrok 免费版限制多、商业版价格不友善。rathole是一个用 Rust 写的内网穿透工具GitHub 13.3k Star定位很明确——做一个更快、更省、更安全的 frp/ngrok 替代品。项目地址https://github.com/rathole-org/ratholerathole 是什么一句话概括轻量级、高性能的安全内网穿透工具。和 frp 一样是 C/S 架构但用 Rust 实现自带 Noise Protocol 加密资源占用极低。核心思路就是在有公网 IP 的服务器上运行 Server 端在内网机器上运行 Client 端Client 主动连接 Server 建立隧道外部流量通过 Server 转发到内网服务。和 frp 的原理相同区别在实现层面。基于 Spring Boot MyBatis Plus Vue Element 实现的后台管理系统 用户小程序支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能项目地址https://github.com/YunaiV/ruoyi-vue-pro视频教程https://doc.iocoder.cn/video/四大核心优势1. 高性能Rust 的零成本抽象在网络密集型场景下优势明显基准测试中吞吐量高于同类 Go/Python 实现的工具高并发下延迟更稳定。对于需要大量并发连接的场景比如多人同时访问内网 Web 服务这个优势是实打实的。2. 低资源消耗部署在 1C1G 小机器上毫无压力内存占用远低于 frp。空闲状态下只占几 MB 内存对于那些跑在低配云主机上的穿透服务来说这是关键优势。3. 安全性强每个服务单独强制鉴权Server 端和 Client 端各自管各自的配置每个被穿透的服务都必须配置 Token 才能建立隧道。传输层支持 Noise Protocol 加密不需要自签证书同时也支持 TLS。frp 的鉴权是可选的rathole 是强制的——安全默认值更高。4. 热重载改配置不用重启进程修改端口转发规则后直接热重载生效不会断开已有连接。这在生产环境中非常实用——frp 改配置得重启穿透中的所有连接全部断开。基于 Spring Cloud Alibaba Gateway Nacos RocketMQ Vue Element 实现的后台管理系统 用户小程序支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能项目地址https://github.com/YunaiV/yudao-cloud视频教程https://doc.iocoder.cn/video/rathole vs frp vs ngrok怎么选对比维度ratholefrpngrok语言RustGoGo内存占用空闲~3 MB~20 MB~15 MB加密方式Noise Protocol / TLSTLS可选TLS鉴权强制 Token可选 Token账号体系热重载✅ 支持❌ 需重启N/A配置复杂度简洁 TOMLTOML/INI命令行参数免费版限制无完全开源无完全开源限速 随机域名Dashboard❌ 无✅ 有 Web UI✅ 有 Web UI社区生态中等非常活跃商业生态选型建议资源敏感1C1G 小机器rathole内存占用碾压级优势需要 Web 管理面板frpDashboard 功能成熟临时公网隧道、不想自建服务器ngrok一行命令搞定安全要求高的生产环境rathole安全默认值最高快速上手Server 端配置有公网 IP 的机器# server.toml [server] bind_addr 0.0.0.0:2333 [server.services.my_web] token your-secret-token-here bind_addr 0.0.0.0:8080Client 端配置内网机器# client.toml [client] remote_addr your-server-ip:2333 [client.services.my_web] token your-secret-token-here local_addr 127.0.0.1:3000启动命令# Server 端 ./rathole server.toml # Client 端 ./rathole client.toml这样外部访问your-server-ip:8080就能穿透到内网的127.0.0.1:3000。配置量比 frp 少了至少一半。适用场景和局限适合部署在低配云主机上资源寸土寸金安全要求高不想手动配 TLS 证书需要频繁修改穿透规则不想重启服务不适合需要图形化管理面板rathole 目前没有 Dashboard需要 HTTP 层面的高级功能rathole 只做 TCP/UDP 转发不像 frp 支持 HTTP 头改写团队协作场景frp 的多租户和权限管理更成熟说白了如果你的内网穿透场景对性能和资源消耗敏感比如部署在 1C1G 的小机器上rathole 比 frp 更合适。如果你需要完整的管理功能和社区支持frp 仍然是更稳妥的选择。欢迎加入我的知识星球全面提升技术能力。 加入方式“长按”或“扫描”下方二维码噢星球的内容包括项目实战、面试招聘、源码解析、学习路线。文章有帮助的话在看转发吧。 谢谢支持哟 (*^__^*

更多文章