rathole 是一款开源的轻量级内网穿透工具,基准测试显示延迟与 frp 相近,在高并发情况下表现更好,能提供更大的带宽,内存占用更少。并且两者使用方式也及其类似,单可执行文件配合服务器端与客户端配置文件,即可实现内网穿透。@Appinn
注意:支持 Windows、macOS、Linux,服务器端需要公网IP。
首先声明:frp 足够好用了,无必要不折腾。
但是话又说回来,不折腾白不折腾!
rathole 自己提供了一个与 frp 对照的基准测试,结论是:对于多数用户,rathole
能带来的主要好处是更少的资源占用,而带宽和延迟不一定有显著的改善。
rathole 的使用与 frp 极其相似,不过 rathole 只有一个主程序,不区分服务端与客户端,所以可以很方便的拿着同一个文件夹到处跑。
只需要一个 server.toml
文件:
[server] bind_addr = "0.0.0.0:2333" # `2333` 配置了服务端监听客户端连接的端口 [server.services.appinn] token = "一个很长的随机密码" # 用于验证的 token bind_addr = "0.0.0.0:2335" # 将 2335 暴露出来,将来访问的也是这个端口
然后运行: rathole server.toml
就行了。
只需要一个 client.toml
文件:
[client] remote_addr = "服务器IP:2333" # 服务器的地址。端口必须与 `server.bind_addr` 中的端口相同。 [client.services.appinn] token = "一个很长的随机密码" # 必须与服务器相同以通过验证 local_addr = "127.0.0.1:5001" # 需要被转发的服务的地址
然后运行: rathole client.toml
就行了。
上面这个例子,是将内网群晖的管理界面穿透出去,在两端都运行成功之后,就可以在任何浏览器中使用 服务器IP:2335
来访问群晖了。
感觉用起来还是很容易的,更多的参数可以官方参考文档。
不过,rathole 的现状不容乐观,虽然最近一次提交代码在2个月前,但已经很久没有发布新版本了。反观隔壁 frp,更新勤快,社区繁荣。
所以还是再提一句:无必要不折腾啊。
原文:https://www.appinn.com/rathole/