用Go基于Tcp协议实现内网穿透工具——Shermie-Nat-Transversal
前言#
之前看到有一篇博客是介绍内网穿透的,有评论在问怎么实现,内网穿透的工具太多了,看看源码就会,比较简单,原理一句话概括就是协议转发,这里就用 Go 简单实现一下吧
涉及的知识#
- 自定义 tcp 协议
- 协议转发 (核心)
特点#
可以代理多个应用,每新增一个应用本地就需要和服务器创建一个 tcp 连接,每个客户端都有一个唯一的标识,只需要在公网域名加上客户端标识即可,比如:
- your.domain.com?unique-id=1 代表本地的用户服务
- your.domain.com?unique-id=2 代表本地的支付服务
效果#
访问公网地址,请求会到我本地的 http 服务,然后将数据返回给浏览器
仓库#
地址:github.com/kxg3030/shermie-nat-tra..., 喜欢的话请用你发财的小手点个 star
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: