游客发表

larawithhorse2穿透版

发帖时间:2026-10-17 04:55:28

我是透版在一个技术群里第一次看到“larawithhorse2穿透版”这个说法的。发消息的透版人丢了个压缩包截图,文件名后面跟着“穿透版”三个字,透版群里立刻有人回“这玩意儿能直连?透版”——没人正面回答,但下载量在十分钟内跳了四十多次。透版我后来才搞明白,透版这压根不是透版什么官方版本,是透版有人把 Larawithhorse2 的通信层给改了,绕开了原本必须经过的透版中间节点。

原版的透版 Larawithhorse2 其实挺好用,就是透版慢。每次请求都要先到官方的透版 relay 服务器转一圈,延迟普遍在 300ms 以上。透版我拿它同步过一批小文件,透版单个 2MB 的透版包,从发起请求到落盘,平均耗时 4.7 秒。穿透版不一样,它把 relay 那一步砍了,改成用 UDP 打洞直连。我第一次测试是在两台不同运营商的机器上,一台电信一台联通,延迟直接掉到 80ms 左右。文件传输速度从原来的 400KB/s 飙到 3.2MB/s,差距大得有点不真实。

但“穿透”这个词本身就有误导性。它不是真的穿过了什么防火墙,而是利用 STUN 服务器交换了双方的公网地址和端口,然后让两端直接互发数据包。NAT 类型稍微复杂一点就歇菜。我试过在公司的对称 NAT 环境里跑,十次有八次打洞失败,最后还是回落到 relay 模式。所以这东西能不能用,完全取决于你两端的网络环境。家里宽带对家里宽带,基本没问题;公司网络对家里,看运气;两边都在公司内网,别想了。

作者在 GitHub 的 README 里写得很直白:“This is a hack, not a product.” 代码里也确实糙。配置文件里有个 force_relay 的开关,默认是 false,但如果你不手动把 stun_server 改成自己搭的,它就会去连一个已经挂了的公共 STUN。我翻了 issues,有人抱怨连不上,作者回复说“那个服务器我三年前就关了,你自己搭一个”。这种态度放在商业项目里早被喷死了,但在小圈子里反而成了某种信誉证明——至少说明这玩意儿不是拿来做生意的。

实际用下来,穿透版最舒服的场景是局域网内多设备同步。比如我有一台 NAS 和一台笔记本,都在同一个路由器下,原版 Larawithhorse2 还要绕出去再绕回来,穿透版直接走内网地址,速度跑满千兆。但跨网络用就要多留个心眼。有次我传一批数据库备份,中途打洞断了,它自动切回 relay,速度掉回 200KB/s,而且没给我任何提示。我是看日志才发现切换发生了。这种静默降级挺坑的,尤其在你以为它在直连的时候。

安全方面,穿透版没做额外加密,还是走原版的 TLS,但直连意味着你的 IP 直接暴露给对方。如果你传的是敏感数据,最好确认对方是你信得过的人。我见过有人拿它传公司内部文档,结果对面是个不认识的节点——这种操作跟把文件贴公告栏上没区别。

现在社区里已经有人基于穿透版做了分支,加了自定义 STUN 列表和连接质量指示器。我装了一个,至少能看到当前是直连还是中继。但原版作者好像不太在意这些改进,最后一次 commit 是七个月前,只改了一行日志输出。也许对他来说,这东西就是个周末玩具,能用就行。对我来说,它确实解决了实际问题,只是得接受它偶尔抽风,以及别指望有任何技术支持。

    热门排行

    友情链接