用golang简单做一个内网穿透小工具!

一个个人需求,需要简单的穿透一下 家里的电脑,也不需要多稳定,也没有并发。然后 通过http可以访问到内网的 一个网站,

因为服务端 是linux 系统 ,内网是 windows10服务器

所以 就采用 用golang这个语言来实现,他的跨平台编译 还是很方便的。

原理:nginx 作为 web服务,通过nginx 反向代理 把请求 转发给 golang写的 一个端口,golang 是一个服务端 和一个内网 端,golang 的软件 启动后 服务端 和内网 会建立一个隧道,把 nginx转发的数据 发送给内网服务器 从而做到内网穿透。

觉得这个小工具挺有意思的,这里简单的分享给大家。有想玩一玩的小伙伴 可以看看。

go 版本:1.23.3

项目结构 :

服务端:

客户端:

配置文件:

代码实现较为简单,安全方面只做了 简单的 token验证。
如果有需要 只建议大家 参考

效果:

这里 nginx 怎么做反向代理 就不总结了。大家可以百度。

go windows 下编译 linux 和 exe 可执行文件

查看全局变量

bash 复制代码
go env 

如果 goos =windows 可编译 exe 执行文件。

cmd执行以下命令:

64位 linux

bash 复制代码
set GOARCH=amd64
set GOOS=linux

切换 64位 windows

bash 复制代码
set GOARCH=amd64
set GOOS=windows

需要编译哪个系统的可执行文件 就执行上面哪个命令 执行后 开始编译。

在 项目根目录下执行:

windows exe 编译命令:

bash 复制代码
go build -o myapp.exe main.go

linux 执行文件命令

bash 复制代码
go build -o myapp main.go

编译命令 只是举例 大家根据实际需求更改文件名

linux下后台执行命令 :

bash 复制代码
nohup ./myapp > output.log 2>&1 &

源码已经准备好了。需要的小伙伴,可以去下载,参考一下~

https://wwwoop.com/home/Index/projectInfo?goodsId=37&typeParam=2

相关推荐
Highcharts.js11 分钟前
教程:基于 React + Highcharts 构建一个单页应用程序、按需数据拉取与图表渲染
开发语言·前端·数据结构·react.js·前端框架·highcharts·页面应用
鱼樱前端33 分钟前
我用 Claude Code 后,编码效率翻 3 倍。但更值钱的是别的。
前端·后端·ai编程
犀利豆1 小时前
Claude code tools 研究系列-开篇(AskUserQuestion)
后端
gwf2161 小时前
RoCEv2无损网络配置实战:PFC与ECN深度调优
网络·网络协议·tcp/ip·udp·tcpdump
头发还在的女程序员1 小时前
医院陪诊管理系统怎么选择?——2026 年选型避坑与架构参考
java·开发语言·陪诊系统·陪诊app·医院陪诊陪护
王维同学2 小时前
Winsock 协议与名称空间 Provider 目录
网络·c++·windows·安全
Bobolink_2 小时前
跨境业务的网络稳定性,拆开看是三个不同的问题
网络·抖动·延迟·丢包·网络稳定性
爱写代码的小朋友4 小时前
从零开始学 Win32 API:C++ 窗口编程实战(VS Code + MinGW-w64 命令行详解)
开发语言·c++
果汁华4 小时前
Function Calling 与 Python 实战完整指南
开发语言·网络·python
Web4Browser4 小时前
指纹浏览器 API 自动化怎么接:启动 Profile、获取 CDP 端点并连接自动化框架
前端·网络·typescript·自动化