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

相关推荐
夏幻灵5 小时前
JavaScript this 面试:五种绑定规则、优先级与常见面试陷阱
开发语言·javascript·面试
程序猿编码5 小时前
榨干 RTX5090 算力!Qwen3 专用单卡推理引擎,手写C++/CUDA 算子实现 MTP 推测解码
开发语言·c++·大模型推理·qwen3·多模态推理
苍何5 小时前
开源微信流 Windows,微信聊天记录,可以直接给 Codex 和 Obsidan 了
后端
bkspiderx7 小时前
Qt 插件机制:动态扩展应用功能的核心框架
开发语言·qt·元数据·qt 插件·qpluginloader
代码什么用7 小时前
Spring基础使用
java·后端·spring
程序员老陆7 小时前
深入理解 C++ thread_local:线程私有存储的正确打开方式
开发语言·c++·程序设计
沐晓时光7 小时前
C语言入门,深入理解指针(3)
c语言·开发语言
明月_清风7 小时前
Deno 终局来了:从挑战 Node 到被 Cloudflare 收编
前端·后端·node.js
码云数智-园园7 小时前
unique_ptr 还是 shared_ptr?C++ 智能指针选型与内存泄漏实战分析
java·开发语言
蜗牛互联网8 小时前
Java 17 HttpClient调用文件转写API的超时与失败回退
java·人工智能·后端