Skip to content
/ rplib Public

golang implement such as ssh -R (reverse port forwarding)that can support windows server

Notifications You must be signed in to change notification settings

Clivebi/rplib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

golang 反向代理库 类似于ssh -R指令,但是跨平台

网络拓扑

服务器A 192.168.4.110 位于内网,能够访问外网,但是没有外网IP
服务器B 192.168.4.111 和A位于同一个内网,不能访问外网,没有外网IP,在192.168.4.111:8000上运行某个服务例如nginx
服务器C 14.215.177.38 位于外网,能够访问外网,有外网IP地址14.215.177.38
客户端A 位于内网,并且和AB不在同一个内网,现在客户端A需要远程访问B在8000上的服务
实现步骤:
在服务器C上运行 serverside -r :9001 -s :9000
在服务器A上运行 apside -r 4.215.177.38:9001 -b 192.168.4.111:8000

现在从客户端A访问 14.215.177.38:9000,将会访问到B在8000端口上的服务
serverside 其它参数:-m 多apside端模式,这种模式下,客户端连接上9000端口后,在发送正常数据前,需要先发送一个IP地址(IPv4)。serverside通过这个地址来选择需要连接哪个机器。

源码还实现了一个路由策略的hijack,在多apside模式下,可以根据客户端的IP选择路由到哪个apside上去

About

golang implement such as ssh -R (reverse port forwarding)that can support windows server

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages