用Rust写的5MB内网穿透工具走红后被评论区打脸:我把争议全看了一遍,三档告诉你该不该装

源自33位全网作者

10:37

前几天你可能在B站刷到过这样一个视频:《用Rust写了个超轻量内网穿透,体积<5MB,内存占用低,省了一大笔服务器钱》。2万播放,192条评论——评论区比视频本身精彩得多。

我替你把这件事做完了:这个项目叫orbien,从8月11日首发到8月20日发第二个视频,两个视频、230多条评论,我全部翻了一遍,又把作者的逐条回复做了交叉核对。先说结论:这个项目值得盯着,但一半的人现在还不该装。

orbien是什么,30秒交代背景

简单说:一个用Rust写的开源内网穿透工具,服务端+客户端都有,命令行二进制约5MB。按项目公开介绍,传输层支持TCP、QUIC、KCP、WebSocket多种协议,代理覆盖TCP、UDP、HTTP、HTTPS,带桌面客户端和Web管理界面,支持Windows、macOS、Linux、FreeBSD。GitHub定位很直白:替代frp/ngrok的轻量方案。知乎

用Rust写的5MB内网穿透工具走红后被评论区打脸:我把争议全看了一遍,三档告诉你该不该装

作者在评论区确认了一个细节:这个项目v1其实是Java技术栈,v2才整体换成了Rust——又一次真实的RIIR(Rewrite It In Rust)。哔哩哔哩有评论区网友一语道破换语言的理由:“内存贵,java太浪费内存。”

但先泼一盆冷水:orbien和frp一样,需要你自己有一台带公网IP的云服务器做中转,作者在评论区反复确认过这一点。知乎而评论区点赞最高的一条(100赞)一眼看穿了本质:"我缺的是内网穿透吗?我缺的是公网IP。哔哩哔哩"有人跟帖补刀:就算配好穿透,你还得买服务器,又是一笔开支。所以如果你想要的是"不买服务器就能穿透"的方案,可以直接跳到文末的平替清单,Tailscale和Cloudflare Tunnel更适合你。

第一场吵:"套壳"这个词,评论区里其实有三层意思

第二个视频的标题很抓人:《纯Rust非套壳内网穿透客户端!体积约17MB,比某6.8k星套壳方案小约18倍》。哔哩哔哩但评论区有人追问"某套壳是啥,frp吗",作者只回了"第三方开发的",没点名。

我把评论区的讨论捋了一遍,"套壳"这个词其实混了三件事,不拆开看就会吵错地方:

第一层:核心转发是不是套frp?这是最重的指控。一条39赞的评论直接说"就是拉的frp源码,然后写提示词改成rust吧"。哔哩哔哩作者没有正面回应这条,但他在另一条"gpt的味儿"的评论下坦然承认:"确实会用AI进行辅助的;如果觉得不好的地方,可以提出改善建议。哔哩哔哩"注意,AI辅助开发和套壳frp是两回事——源码在GitHub公开,目前这条指控没有人拿出过证据。

第二层:桌面端是不是套WebView?这个质疑是实锤过的。首版桌面端用Tauri开发,也就是UI走系统WebView。评论区最狠的一条批评(168赞)就是冲这个来的:"宣传内存极低有误导,Rust只跑后端,前端靠系统WebView,算上WebView整体内存并不低,占用了接近100mb。哔哩哔哩"底下一条12赞的跟帖很到位:"打包体积小了,运行占用内存是webview就不可能小。"还有人说破了关键:Tauri体积小,部分原因是把WebView2当成了系统动态依赖,没打进安装包。

第三层:桌面端是不是套CLI的壳?这个作者自己承认了。他的置顶说明写得很清楚:桌面客户端和CLI是两套完全独立的组件,桌面端"只是UI套壳,内嵌CLI二进制,通过进程调用工作",对内存敏感的用户建议直接用CLI。哔哩哔哩

所以视频标题里的"非套壳",严格指的是第一层——核心转发是Rust写的,不是套frp。下次再看到这类标题,先分清它说的是哪一层。

第二场吵:体积和内存,到底有多少是真的?

还是那条168赞的评论:标称4MB是压缩包,解压后实际约9MB。

作者的回应归纳起来两点:核心的服务端和CLI二进制确实5MB;桌面端属于可选功能,不是项目核心,他自己实测桌面端内存在30MB以下(和评论者测出的接近100MB对不上,大概率与WebView运行环境版本有关)。哔哩哔哩

用Rust写的5MB内网穿透工具走红后被评论区打脸:我把争议全看了一遍,三档告诉你该不该装

我的判断:CLI的5MB是实的,首版桌面端"内存极低"的宣传确实有出入。但接下来发生的事,是这个项目最有意思的部分——作者被指出问题后,不到一周,把桌面端从Tauri换成了Slint(一个纯Rust原生UI框架),第二个视频里已经完全看不到WebView了。评论区有人惊讶"这就换了,这么快",作者回复:“感谢大佬上次指出的性能缺陷,对项目帮助很大,花了些时间重构优化了一下。哔哩哔哩

说实话,这个响应速度在开源项目里不多见。批评→承认→重构,一周走完一个闭环。

第三场吵:是不是重复造轮子?

这是评论区出现频率最高的问题:frp都这么成熟了,为什么还要再写一个?也有人直接搬出rathole(另一个深耕多年的纯Rust内网穿透项目),说它"已经算是企业级方案了"。哔哩哔哩

作者的回应整理下来大致三点:Rust没有GC停顿,长期跑更稳,内存占用低,小服务器上能省资源钱;多协议传输+Web管理界面开箱即用;和rathole定位不同,rathole是纯裸转发——作者自己倒是挺坦诚,说压测过,“rathole转发能力挺高的”。哔哩哔哩

用Rust写的5MB内网穿透工具走红后被评论区打脸:我把争议全看了一遍,三档告诉你该不该装

这些理由站不站得住,见仁见智。不过评论区网友提供的替代方案,比项目本身更有收藏价值,我替你整理好了:

  • 要成熟稳定:frp,社区最大、文档最全、踩坑最少;

  • 要纯Rust+高性能转发:rathole,评论区被反复点名;

  • 不想买服务器:Tailscale,有评论说"新版的速度起飞了,还免费",组网后局域网设备随便连;或者Cloudflare Tunnel,同样不用自建中转;

  • 想试试orbien:作者在两个视频的评论区都留了公开演示服务器地址,可以先连上去体验,再决定要不要自己部署。

还有两件事你得知道

一是Slint的授权争议。新桌面端用的Slint框架是GPLv3/商业双授权,这成了第二个视频评论区新的吵点,有人直言"开源协议比较难绷"。哔哩哔哩对普通个人用户没影响,免费照常用;但如果你的公司想把它改了商用分发,授权条款要看清楚。另外有用户反馈Slint界面的交互有点卡顿,作者正在征集具体反馈。

二是项目还在早期。作者自己确认的短板:不支持Win7、没有安卓客户端、OpenWrt客户端和NAT打洞"后续有规划",还有用户实测遇到Docker版能识别但连不上(同样的配置frp没问题)、Windows下有个默认命令行窗口等bug。他的处理方式统一是引导提GitHub issue,并且明确说"目前暂时不建立QQ交流群,优先使用GitHub issue做问题沉淀,方便别的用户查阅历史问题"——这个做法是固执还是专业,你说了算。哔哩哔哩

那到底该不该用?分三档

可以试试的:你手头本来就有一台带公网IP的云服务器,用途是远程桌面、NAS、自建服务这类个人访问场景,对内存和体积敏感,习惯命令行,并且能接受早期项目。5MB单文件部署,确实比frp全家桶轻不少。知乎建议先连作者评论区给的演示服务器感受一下,再决定装不装。

再等等的:想在生产环境用的(协议成熟度和长期维护还没经过验证)、没有公网IP的(等它的打洞或免服务器规划)、想在OpenWrt路由器上跑的、需要安卓客户端的。

不用动的:frp或者Tailscale已经跑得稳定的,没必要为了省几MB体积去迁移,切换成本不划算。

后续值得盯的信号:GitHub issue的响应速度能不能保持、"免公网IP"规划的进展、Windows命令行窗口这类bug的修复,以及Slint授权争议有没有后续处理。

最后说一句:orbien最有价值的地方,可能还不是工具本身,而是它的评论区。从"webview内存不可能小"到"一周换掉Tauri",从"宣传有误导"到"确实会用AI辅助"——你能看到开源该有的样子:写代码的人肯听批评,提问题的人拿证据说话。如果你关注Rust,这个评论区比视频本身更值得读。

内容由AI生成
0
扫一下,分享更方便,购买更轻松
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

最新文章 热门文章