go-tcnat内网端口映射 端口穿透 GO语言 免费开源

简介说明

只需要一个低廉的云服务器作为桥梁,让个人高配置电脑秒变云服务器,特别适合需要高运算需求(如AI服务,高并发运算)

而预算较低的朋友 基于GO语言原生开发,极大的提高多线程及内存管理效率,无延迟无卡顿,体验感极高!

2024.11.6

在操作map时增加锁防止死锁保持

优化结构,将客户端和服务端合并

新增配置文件.env用于控制启动模式(client/server)

新增可通过命令行来切换模式,在无参数的情况下默认使用.env

部署流程

云服务器部署流程

打开config/server.json文件,按如下配置说明

复制代码
{
    "server": {
        "main_port": 控制端口,
        "transfer_port":临时交互端口
    }
}

启动服务

复制代码
#通过发布程序运行
./main server
#通过源码运行
go run main.go server

也可以通过修改.env的MODE来控制选择client/server,则无需传递参数,直接执行

家庭电脑部署流程

打开config/client.json文件,按如下配置说明

复制代码
{
    "server": {
        "host": "云服务器地址"
    },
    "list": [{
        "tag": "bt-login",
        "server_port": 云服务器端口,
        "local_addr": "127.0.0.1:本机服务端口"
    }
}

启动服务

复制代码
#通过发布程序运行
./main client
#通过源码运行
go run main.go client

也可以通过修改.env的MODE来控制选择client/server,则无需传递参数,直接执行

这样本地电脑将会连接到云服务器,云服务器将会监听 3333 端口,当有用户连接 3333 端口,那么云服务器将全部转发给家庭电脑,家庭电脑在连接到本机的 127.0.0.1:3389 端口,实现外网访问内网服务

编译发布

安装库之前切换到国内源,否则容易安装失败

windows

复制代码
export GOPROXY=https://goproxy.cn,direct

linux

复制代码
set GOPROXY=https://goproxy.cn,direct

安装成功后执行编译

复制代码
go get github.com/joho/godotenv
go build -o tcnat.exe main.go

图片预览

下载地址

https://github.com/cih1996/go-tcnat

https://pan.baidu.com/s/1EnEwNqwBmwolWcVsz3rTpA?pwd=m614 提取码: m614

https://pan.quark.cn/s/183ba5f0d0d7

相关推荐
为何创造硅基生物3 小时前
C语言 结构体内存对齐规则(通俗易懂版)
c语言·开发语言
吃好睡好便好3 小时前
在Matlab中绘制横直方图
开发语言·学习·算法·matlab
星寂樱易李3 小时前
iperf3 + Python-- 网络带宽、网速、网络稳定性
开发语言·网络·python
仰泳之鹅4 小时前
【C语言】自定义数据类型2——联合体与枚举
c语言·开发语言·算法
之歆4 小时前
DAY_12JavaScript DOM 完全指南(二):实战与性能篇
开发语言·前端·javascript·ecmascript
姚不倒4 小时前
Go语言进阶:接口、错误处理与并发编程(goroutine/channel/context)
云原生·golang
candyTong4 小时前
Claude Code 的 Edit 工具是怎么工作的
javascript·后端·架构
cen__y5 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
AI人工智能+电脑小能手5 小时前
【大白话说Java面试题 第65题】【JVM篇】第25题:谈谈对 OOM 的认识
java·开发语言·jvm
GetcharZp6 小时前
GitHub 2.4 万 Star!D2 正在重新定义程序员画图方式
后端