go实现局域网内网穿透支持将内网80端口暴露到公网单文件代码
代码语言:golang
所属分类:其他
代码描述:go实现局域网内网穿透支持将内网80端口暴露到公网单文件代码,简单易用 - 单文件部署,命令行配置 自动重连- 客户端断线自动重连 心跳保活*- 自动心跳维持连接 多隧道支持** - 支持多个并发连接 跨平台- 支持Linux/Windows/macOS 低延迟 - 直接TCP转发,性能好 稳定可靠- 完善的错误处理和日志
代码标签: go 局域网 内网 穿透 支持 内网 80 端口 暴露 公网 单文件 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
// ## 使用说明 // ### 1. 保存代码 // 将代码保存为 `tunnel.go` // ### 2. 编译(可选) // ```bash // # 编译服务端(Linux) // GOOS=linux GOARCH=amd64 go build -o tunnel-server tunnel.go // # 编译客户端(Windows) // GOOS=windows GOARCH=amd64 go build -o tunnel-client.exe tunnel.go // # 编译客户端(macOS) // GOOS=darwin GOARCH=amd64 go build -o tunnel-client tunnel.go // # 本地编译 // go build -o tunnel tunnel.go // ``` // ### 3. 在公网服务器上运行服务端 // ```bash // # 直接运行 // go run tunnel.go -mode=server -control-port=8888 -public-port=8080 // # 或使用编译后的二进制 // ./tunnel -mode=server -control-port=8888 -public-port=8080 // # 后台运行 // nohup ./tunnel -mode=server -control-port=8888 -public-port=8080 > tunnel.log 2>&1 & // ``` // **参数说明:** // - `-control-port=8888`:客户端连接的控制端口 // - `-public-port=8080`:外部访问的公网端口 // ### 4. 在内网机器上运行客户端 // 假设你的内网有一个HTTP服务运行在80端口: // ```bash // # 直接运行 // go run tunnel.go -mode=client -server-host=1.2.3.4 -control-port=8888 -local-port=80 // # 或使用编译后的二进制 // ./tunnel -mode=client -server-host=1.2.3.4 -control-port=8888 -local-port=80 // # 指定本地服务地址 // ./tunnel -mode=client -server-host=1.2.3.4 -local-host=192.168.1.100 -local-port=8000 // ``` // **参数说明:** // - `-server-host=1.2.3.4`:公网服务器的IP地址(必需) // - `-control-port=8888`:服务器的控制端口 // - `-local-host=127.0.0.1`:本地服务地址(默认127.0.0.1) // - `-local-port=80`:本地服务端口 // ### 5. 访问内网服务 // 在浏览器中访问: // ``` // http://<服务器公网IP>:8080 // ``` // 就可以访问到内网的80端口服务了! // ## 完整示例 // ### 示例1:暴露内网Web服务 // **场景:**内网有一个运行在80端口的Web服务 // **步骤:** // 1. 公网服务器(IP: 1.2.3.4): // ```bash // ./tunnel -mode=server -control-port=8888 -public-port=8080 // ``` // 2. 内网机器: // ```bash // ./tunnel -mode=client -server-host=1.2.3.4 -control-port=8888 -local-port=80 // ``` // 3. 访问:`http://1.2.3.4:8080` // ### 示例2:暴露内网SSH服务 // **场景:**暴露内网22端口的SSH服务 // 1. 公网服务器: // ```bash // ./tunnel -mode=server -control-port=8888 -public-port=2222 // ``` // 2. 内网机器: // ```bash // ./tunnel -mode=client -server-host=1.2..........完整代码请登录后点击上方下载按钮下载查看















网友评论0