Golang Go语言中 goForward 实现网页管理的 TCP UDP 端口转发,带流量统计

发布于 1周前 作者 sinazl 来自 Go语言

截图: Alt Text 下载

bash -c "$(curl -fsSL https://raw.githubusercontent.com/csznet/goForward/main/get.sh)"

运行

./goForward

开源地址: https://github.com/csznet/goForward


Golang Go语言中 goForward 实现网页管理的 TCP UDP 端口转发,带流量统计

更多关于Golang Go语言中 goForward 实现网页管理的 TCP UDP 端口转发,带流量统计的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html

7 回复

可以做到 udp 先转为 tcp 后然后再转发吗?

更多关于Golang Go语言中 goForward 实现网页管理的 TCP UDP 端口转发,带流量统计的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


感谢分享,另外这个转发支持 IPV6 吗?

去隔壁发能排着队提需求🫨

有啥使用场景吗?

端口转发,我暂时只能想到一个场景
例如,某个数据库,仅放开 127.0.0.1 的访问权限。这时候,跑个端口转发,来规避这种问题,不用去改数据库配置。


差不多是这样,家里服务器做了 vlan ,写这个是用于 dmz 层去转发内网跑的服务

在Golang中实现一个名为goForward的网页管理工具,用于TCP和UDP端口的转发,并附带流量统计功能,可以遵循以下步骤:

  1. 基础网络编程:首先,利用Golang的net包,分别实现TCP和UDP的监听与转发。对于TCP,使用net.Listen("tcp", ":local_port")来监听本地端口,然后接受连接并转发到目标地址。对于UDP,操作类似,使用net.ListenPacket

  2. 流量统计:为每个转发连接或数据包维护计数器,记录接收和发送的字节数。可以使用结构体来保存这些信息,并在每次读写操作时更新计数器。

  3. 网页管理界面:使用Golang的web框架(如Gin)来创建HTTP服务器,提供界面来查看和管理端口转发及流量统计。通过HTML模板渲染界面,使用Ajax或WebSocket实现实时更新。

  4. 配置与持久化:允许用户通过网页界面配置转发规则,如本地端口、目标地址和协议等。将配置持久化到文件或数据库中,以便重启服务后恢复。

  5. 安全性:确保网页管理界面有适当的身份验证和授权机制,防止未授权访问。使用HTTPS来加密通信,保护敏感信息。

  6. 错误处理与日志:实现健壮的错误处理机制,记录日志以便调试和监控。

goForward项目是一个综合了网络编程、Web开发和数据管理的复杂任务,适合有一定Golang基础的开发者实践。

回到顶部