news 2026/4/21 12:44:09

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Star 13.3k 内网穿透工具 Rust 语言编写 frp,ngrok 替代

👉这是一个或许对你有用的社群

🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料:

  • 《项目实战(视频)》:从书中学,往事上“练”

  • 《互联网高频面试题》:面朝简历学习,春暖花开

  • 《架构 x 系统设计》:摧枯拉朽,掌控面试高频场景题

  • 《精进 Java 学习指南》:系统学习,互联网主流技术栈

  • 《必读 Java 源码专栏》:知其然,知其所以然

👉这是一个或许对你有用的开源项目

国产Star破10w的开源项目,前端包括管理后台、微信小程序,后端支持单体、微服务架构

RBAC权限、数据权限、SaaS多租户、商城、支付、工作流、大屏报表、ERP、CRMAI大模型、IoT物联网等功能:

  • 多模块:https://gitee.com/zhijiantianya/ruoyi-vue-pro

  • 微服务:https://gitee.com/zhijiantianya/yudao-cloud

  • 视频教程:https://doc.iocoder.cn

【国内首批】支持 JDK17/21+SpringBoot3、JDK8/11+Spring Boot2双版本

  • rathole 是什么

  • 四大核心优势

  • rathole vs frp vs ngrok:怎么选

  • 快速上手

  • 适用场景和局限


内网穿透工具选型,frp 和 ngrok 用的人最多,但两者都有各自的痛点:frp 配置繁琐、内存占用不低;ngrok 免费版限制多、商业版价格不友善。

rathole是一个用 Rust 写的内网穿透工具,GitHub 13.3k+ Star,定位很明确——做一个更快、更省、更安全的 frp/ngrok 替代品。

项目地址:https://github.com/rathole-org/rathole

rathole 是什么

一句话概括:轻量级、高性能的安全内网穿透工具。和 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

语言

Rust

Go

Go

内存占用(空闲)

~3 MB

~20 MB

~15 MB

加密方式

Noise Protocol / TLS

TLS(可选)

TLS

鉴权

强制 Token

可选 Token

账号体系

热重载

✅ 支持

❌ 需重启

N/A

配置复杂度

简洁 TOML

TOML/INI

命令行参数

免费版限制

无(完全开源)

无(完全开源)

限速 + 随机域名

Dashboard

❌ 无

✅ 有 Web UI

✅ 有 Web UI

社区生态

中等

非常活跃

商业生态

选型建议

  • 资源敏感(1C1G 小机器):rathole,内存占用碾压级优势

  • 需要 Web 管理面板:frp,Dashboard 功能成熟

  • 临时公网隧道、不想自建服务器: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:8080"

Client 端配置(内网机器):

# 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 仍然是更稳妥的选择。


欢迎加入我的知识星球,全面提升技术能力。

👉 加入方式,长按”或“扫描”下方二维码噢

星球的内容包括:项目实战、面试招聘、源码解析、学习路线。

文章有帮助的话,在看,转发吧。 谢谢支持哟 (*^__^*)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/21 12:41:19

FUXA:基于Web的工业可视化系统,从零构建专业级监控平台

FUXA:基于Web的工业可视化系统,从零构建专业级监控平台 【免费下载链接】FUXA Web-based Process Visualization (SCADA/HMI/Dashboard) software 项目地址: https://gitcode.com/gh_mirrors/fu/FUXA 在数字化转型浪潮中,工业监控系统…

作者头像 李华