分享一个rust编写的开源内网穿透工具Rathole来替代frp和ngrok

分享一个rust编写的开源内网穿透工具Rathole来替代frp和ngrok

800_auto

Rathole 是一个轻量级、安全、快速的内网穿透工具,主要用于将本地网络中的服务暴露到公共互联网。它支持多种协议,具有高性能和低延迟的特点,适用于需要高效、稳定内网穿透的场景。

特点

高性能:使用 Rust 编写,具有高性能和低资源消耗的特点。

安全性:支持多种加密方法,确保数据传输的安全。

易用性:配置简单,易于上手。

安装

你可以通过多种方式安装 Rathole:

1、下载程序:https://github.com/rapiz1/rathole/releases

2、docker:https://hub.docker.com/r/rapiz1/rathole

3、自己从源码编译

示例

假设你有一个内网中的 SSH 服务,运行在本地的 22 端口,你希望通过公共互联网地址myserver.com与端口5202访问它。以下是具体步骤:

在服务器上配置并启动 Rathole 服务端。

[server]
bind_addr = "0.0.0.0:2333" 

[server.services.my_ssh]
token = "use_a_secret_that_only_you_know" 
bind_addr = "0.0.0.0:5202"

启动

./rathole server.toml

在本地机器上配置并启动 Rathole 客户端,指向内网的 SSH 服务。

[client]
remote_addr = "myserver.com:2333" 

[client.services.my_ssh]
token = "use_a_secret_that_only_you_know" 
local_addr = "127.0.0.1:22"

启动

./rathole client.toml

通过配置的外网地址和端口访问内网中的 SSH 服务。

通过以上步骤,你可以成功地将内网中的 SSH 服务暴露到公共互联网,并通过外网地址myserver.com与端口5202进行访问。

github地址:https://github.com/rapiz1/rathole

{{collectdata}}

网友评论