Skip to content

qyqx233/go-tunel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-tunel

go-tunel 是一个能将内网机器端口映射到外网访问的一个程序(前提是内网机有访问外网权限

前提准备

一台具有固定IP的外网服务器,比方说各种xx云服务器

程序工作流程

image

首先有三个角色,内网机,部署inner程序;云服务器,部署outer程序; 用户端Client安装Xshell等终端工具

Inner会主动与外网机器建立一个命令通道Cmd,建立成功后,外网端会选择一个端口(也可以配置文件中指定),记为P

用户端需要通过访问云服务器去访问内网,云服务器在收到请求后会在命令通道Cmd上发起一个请求,Inner收到后会向外网端主动建立一个链接C,outer将端口PsocketC绑定,用户端就可以通过云服务器去访问内网了

编译,部署

编译很简单,执行 outer/cmd/mk.sh 将生成的outerouter.toml放到云服务器上

执行inner/cmd/mk.sh 将生成的innerinner.toml放到内网端

配置

假设云服务器IP could.x.x.x,监听3333端口,内网机公网IP host.x.x.x,要将127.0.0.1:443端口映射出来,那么可以这么配置

inner.toml

[Auth]
Name = "test1"
Symkey = "0123456789012345"

[[Transport]] # 可以映射多个服务
TargetHost = "127.0.0.1"
TargetPort = 443
ServerIp = "cloud.x.x.x"
ServerPort = 3333

outer.toml

[[Transport]]
Ip = "host.x.x.x"
TargetHost = "127.0.0.1"
TargetPort = 443
Symkey = "0123456789012345"
LocalPort = 13001

[CmdServer]
Port = 3333

其他一些配置可以看配置文件里面的注释

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages