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 分钟前
【开题答辩全过程】以 基于python的电影推荐系统为例,包含答辩的问题和答案
开发语言·python
qq_297574676 分钟前
【实战】POI 实现 Excel 多级表头导出(含合并单元格完整方案)
java·spring boot·后端·excel
星辰_mya9 分钟前
Elasticsearch线上问题之慢查询
java·开发语言·jvm
前端小菜袅12 分钟前
PC端原样显示移动端页面方案
开发语言·前端·javascript·postcss·px-to-viewport·移动端适配pc端
Highcharts.js13 分钟前
如何使用Highcharts SVG渲染器?
开发语言·javascript·python·svg·highcharts·渲染器
郝学胜-神的一滴18 分钟前
超越Spring的Summer(一): PackageScanner 类实现原理详解
java·服务器·开发语言·后端·spring·软件构建
摇滚侠19 分钟前
Java,举例说明,函数式接口,函数式接口实现类,通过匿名内部类实现函数式接口,通过 Lambda 表达式实现函数式接口,演变的过程
java·开发语言·python
阿里嘎多学长20 分钟前
2026-02-03 GitHub 热点项目精选
开发语言·程序员·github·代码托管
Tony Bai21 分钟前
“Go 2,请不要发生!”:如果 Go 变成了“缝合怪”,你还会爱它吗?
开发语言·后端·golang
打工的小王22 分钟前
java并发编程(七)ReentrantReadWriteLock
java·开发语言