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

相关推荐
Victor356几秒前
MongoDB(19)如何查询MongoDB集合中的文档?
后端
点光14 小时前
使用Sentinel作为Spring Boot应用限流组件
后端
不要秃头啊14 小时前
别再谈提效了:AI 时代的开发范式本质变了
前端·后端·程序员
有志15 小时前
Java 项目添加慢 SQL 查询工具实践
后端
山佳的山15 小时前
KingbaseES 共享锁(SHARE)与排他锁(EXCLUSIVE)详解及测试复现
后端
Leo89915 小时前
rust 从零单排 之 一战到底
后端
程序员清风16 小时前
程序员兼职必看:靠谱软件外包平台挑选指南与避坑清单!
java·后端·面试
鱼人17 小时前
MySQL 实战入门:从“增删改查”到“高效查询”的核心指南
后端
大鹏198817 小时前
告别 Session:Spring Boot 实现 JWT 无状态登录认证全攻略
后端
Java编程爱好者17 小时前
从 AQS 到 ReentrantLock:搞懂同步队列与条件队列,这一篇就够了
后端