【零成本直连革命】3分钟上手GoodLink:让任意两台主机穿透NAT直连的开源神器
痛点直击:你还在为这些问题抓狂吗?
远程办公时,Windows自带远程桌面因NAT网络阻隔无法使用?
想访问公司内网的Web服务、Git仓库或SSH服务器,却被复杂的VPN配置搞得晕头转向?
尝试过各种远程工具,不是需要注册账号就是依赖中转服务器,数据安全和速度都得不到保障?
现在,这些问题将成为历史!
GoodLink——这款被誉为"全网最简单、零成本"的P2P直连工具,只需一条命令,即可让互联网上任意两台主机绕过中间服务器直接建立连接。无需安装、无需注册、无需公网IP,甚至连配置文件都省了!本文将带你3分钟完成从下载到直连的全过程,彻底颠覆你对远程连接的认知。
读完本文你将获得:
✅ 3种安装方式:Windows图形界面/命令行/Linux Docker,总有一款适合你
✅ 2种工作模式:TUN模式实现IP直连,代理模式支持全端口访问
✅ 100%成功率的NAT穿透技巧:从NAT4到NAT1的优化方案
✅ 避坑指南:解决Windows Defender误报、权限不足等常见问题
✅ 实战案例:远程桌面/内网Web/SSH访问的完整操作流程
GoodLink核心优势解析
为什么选择GoodLink?
| 特性 | GoodLink | 传统VPN | 商业远程工具 |
|---|---|---|---|
| 部署复杂度 | 一条命令搞定 | 需要服务器和复杂配置 | 需安装客户端并注册账号 |
| 数据传输方式 | 端到端直连(无中转) | 服务器中转 | 第三方服务器转发 |
| 网络要求 | 无需公网IP | 需固定公网IP或域名 | 依赖服务商服务器覆盖 |
| 安全级别 | AES加密+开源可审计 | 依赖服务商安全实现 | 闭源协议存在安全黑箱 |
| 使用成本 | 完全免费 | 服务器硬件及带宽成本 | 按带宽/设备数量收费 |
| 穿透成功率 | NAT1-3环境100%穿透 | 依赖端口映射配置 | 复杂NAT环境下经常失败 |
技术原理简析
GoodLink采用P2P(Peer-to-Peer,对等网络)技术,通过以下流程实现两台主机的直接连接:
sequenceDiagram
participant Remote端 as Remote主机 (被访问方)
participant STUN服务器 as STUN服务器 (NAT类型检测)
participant Local端 as Local主机 (访问方)
Remote端->>STUN服务器: 请求NAT类型检测
STUN服务器-->>Remote端: 返回NAT类型及公网地址
Local端->>STUN服务器: 请求NAT类型检测
STUN服务器-->>Local端: 返回NAT类型及公网地址
Local端->>Remote端: 发送P2P连接请求 (基于密钥验证)
Remote端->>Local端: 响应连接请求并建立加密通道
Note over Remote端,Local端: TUN模式创建虚拟网卡实现IP直连<br/>代理模式建立SOCKS5代理服务
安装前必读:环境准备与兼容性检查
支持的操作系统
| 操作系统 | 支持版本 | 推荐安装方式 | 管理员权限要求 |
|---|---|---|---|
| Windows | Windows 10/11 | UI版本或命令行版本 | 是(TUN模式) |
| Linux | Ubuntu 20.04+ | 命令行版本或Docker | 是(TUN模式) |
| macOS | 暂未支持 | 计划开发中 | - |
网络环境要求
GoodLink对NAT类型的支持情况如下表所示,建议使用前通过STUN测试工具检测两端网络类型:
| Remote端NAT类型 | Local端NAT类型 | P2P连接成功率 | 解决方案 |
|---|---|---|---|
| NAT1-3 | NAT1-4 | 99% | 直接连接 |
| NAT1-4 | NAT1-3 | 99% | 直接连接 |
| NAT4 | NAT4 | 50% | 尝试重启路由器或联系ISP改NAT类型 |
| 移动网络(2G-5G) | 任意 | 不支持 | 切换至WiFi网络 |
3种安装方式:从小白到大神全覆盖
方式一:Windows图形界面版(推荐新手)
1. 下载程序
访问GoodLink的GitCode发布页面,下载最新版本的Windows图形界面版(文件名通常为goodlink-windows-amd64-ui.zip)。
2. 解压运行
将下载的压缩包解压到任意文件夹,双击goodlink-windows-amd64.exe即可运行。首次启动时,Windows Defender可能会弹出病毒警告,这是因为Go语言编译的程序常被误报:

解决方法:
- 点击"更多信息"
- 选择"仍要运行"
- 如果无法点击,需暂时关闭实时保护(设置→更新和安全→Windows安全中心→病毒和威胁防护→管理设置→关闭"实时保护")
3. 界面说明
成功启动后,你将看到如下界面:

- Remote端:被访问的主机,如公司电脑
- Local端:发起访问的主机,如家里的电脑
- 密钥输入框:填写16-24位随机字符串(两端必须相同)
- 启动按钮:选择对应模式后点击启动
方式二:Windows命令行版(稳定性首选)
1. 下载程序
从发布页面下载命令行版本(文件名通常为goodlink-windows-amd64.zip)。
2. 解压并打开命令提示符
将压缩包解压到C:\goodlink,按下Win+R,输入cmd打开命令提示符,执行:
cd C:\goodlink
3. 启动Remote端(被访问方)
.\goodlink-windows-amd64.exe --fork --key=MySecretKey123456 --remote
4. 启动Local端(访问方)
.\goodlink-windows-amd64.exe --fork --key=MySecretKey123456 --local
参数说明:
--fork:后台运行程序
--key:16-24位密钥(两端必须一致,建议使用随机字符串如a1b2c3d4e5f6g7h8)
--remote/--local:指定运行模式
方式三:Linux Docker版(服务器首选)
1. 安装Docker
如果尚未安装Docker,执行以下命令:
# Ubuntu/Debian
sudo apt update && sudo apt install -y docker.io
sudo systemctl enable --now docker
# CentOS/RHEL
sudo yum install -y docker
sudo systemctl enable --now docker
2. 启动Remote端容器
docker run -d \
--name=goodlink \
--net=host \
--restart=always \
registry.cn-shanghai.aliyuncs.com/kony/goodlink \
--key=MySecretKey123456 \
--remote
参数说明:
--net=host:使用主机网络模式(必须,否则无法进行NAT穿透)
--restart=always:开机自动启动
镜像地址使用国内阿里云仓库,下载速度更快
3. 查看运行状态
docker logs -f goodlink
看到类似以下输出表示启动成功:
2023/10/01 12:00:00 GoodLink v1.0.0 starting...
2023/10/01 12:00:00 Running as Remote mode
2023/10/01 12:00:01 STUN server responded: NAT type is NAT2
2023/10/01 12:00:01 Listening for P2P connections...
两种工作模式详解
TUN模式:IP直连,就像在同一个局域网
TUN模式会在Local端创建一个虚拟网卡,分配一个虚拟IP地址。连接成功后,你可以直接使用Remote端的内网IP进行访问,就像两台电脑在同一个局域网内一样。
特点:
- 支持所有基于IP的协议(TCP/UDP/ICMP等)
- 可以直接访问Remote端所在局域网的所有设备
- 需要管理员权限(创建虚拟网卡时)
连接成功后Local端会显示类似以下信息:
2023/10/01 12:05:00 P2P连接成功!
2023/10/01 12:05:00 Remote端IP: 192.168.1.100
2023/10/01 12:05:00 虚拟网卡IP: 10.8.0.2
此时你可以:
- 使用Windows远程桌面连接
192.168.1.100 - 在浏览器中访问
http://192.168.1.100:8080(如果Remote端有Web服务) - 通过SSH连接
ssh user@192.168.1.100
代理模式:Socket5代理,灵活访问
代理模式会在Local端启动一个Socket5代理服务(默认地址 socks5://127.0.0.1:1080),通过该代理可以访问Remote端的所有网络资源。
特点:
- 无需创建虚拟网卡,普通用户权限即可运行
- 支持浏览器、Git、SSH等所有支持Socket5代理的应用
- 可以通过代理访问Remote端能访问的所有网络
配置浏览器代理(以Chrome为例):
- 安装SwitchyOmega插件
- 创建新情景模式,代理服务器设置为:
- 协议:SOCKS5
- 服务器:127.0.0.1
- 端口:1080
- 勾选"对所有服务器使用相同代理"
配置Git使用代理:
git config --global http.proxy socks5://127.0.0.1:1080
git config --global https.proxy socks5://127.0.0.1:1080
配置SSH使用代理:
编辑 ~/.ssh/config 文件,添加:
Host remote-server
HostName 192.168.1.100
User username
ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p
常见问题解决指南
问题1:Windows Defender报毒怎么办?
由于Go语言编译的程序经常被误报,你可以:
-
临时解决方案:
点击"更多信息"→"仍要运行" -
永久解决方案:
# 以管理员身份运行命令提示符 cd C:\goodlink mkdir -Force "C:\Program Files\GoodLink" copy goodlink-windows-amd64.exe "C:\Program Files\GoodLink\" # 添加Windows Defender排除项 powershell -Command "Add-MpPreference -ExclusionPath 'C:\Program Files\GoodLink'"
问题2:P2P连接失败如何排查?
按以下步骤逐步排查:
-
检查密钥是否一致:
两端--key参数必须完全相同,建议使用随机生成的16位以上字符串 -
确认NAT类型:
Remote端必须为NAT1-3类型,可以通过以下命令检测:# Windows .\goodlink-windows-amd64.exe --stun # Linux docker run --rm --net=host registry.cn-shanghai.aliyuncs.com/kony/goodlink --stun -
优化路由器设置:
- 关闭路由器防火墙
- 设置DMZ主机为Remote端IP
- 启用UPnP功能
-
联系ISP更改NAT类型:
拨打运营商客服电话(电信10000/移动10086/联通10010),要求将宽带NAT类型从NAT4改为NAT1或NAT2
问题3:TUN模式启动失败(权限不足)
Windows系统:
右键点击程序,选择"以管理员身份运行"
Linux系统:
命令行版本需要sudo权限:
sudo ./goodlink-linux-amd64 --key=MySecretKey --local
问题4:连接成功但速度慢
-
检查网络带宽:
使用speedtest-cli测试两端网络上行/下行速度 -
优化密钥长度:
使用16位密钥比24位密钥性能更好(AES-128比AES-256加密速度快) -
关闭其他占用带宽的应用:
P2P连接速度受两端网络上传带宽限制,关闭视频会议、文件下载等应用
实战案例:3个场景玩转GoodLink
场景1:远程访问公司内网Web服务
假设公司电脑(Remote端)IP为192.168.1.100,运行着一个内网Web服务(端口8080):
-
在公司电脑启动Remote端:
.\goodlink-windows-amd64.exe --fork --key=CompanyWeb123 --remote -
在家中电脑启动Local端:
.\goodlink-windows-amd64.exe --fork --key=CompanyWeb123 --local -
打开浏览器,访问
http://192.168.1.100:8080
(TUN模式)或通过Socket5代理访问
场景2:远程桌面连接Windows电脑
-
确保Remote端开启远程桌面:
控制面板→系统→远程设置→允许远程连接到此计算机 -
启动两端GoodLink(同上)
-
打开"远程桌面连接",输入Remote端内网IP(如
192.168.1.100) -
输入用户名密码,成功连接!
场景3:通过SSH管理Linux服务器
假设Remote端是一台Linux服务器,SSH服务运行在22端口:
-
启动两端GoodLink(同上)
-
在Local端执行:
ssh username@192.168.1.100 # TUN模式 # 或使用代理模式 ssh -o ProxyCommand="nc -X 5 -x 127.0.0.1:1080 %h %p" username@192.168.1.100
项目获取与后续支持
开源仓库地址
git clone https://gitcode.com/konyshe/goodlink.git
最新版本下载
访问GitCode发布页面:
https://gitcode.com/konyshe/goodlink/releases
问题反馈与社区支持
- GitHub Issues:提交问题
- 技术讨论群:关注项目README获取最新群二维码
- 贡献代码:Fork项目后提交Pull Request
总结与展望
GoodLink以其"零成本、零配置、零依赖"的特性,彻底改变了传统远程连接的复杂模式。无论是远程办公、家庭NAS访问还是开发者调试,都能让你体验到"本地网络"般的流畅体验。
随着TUN模式的加入,GoodLink已经实现了从端口级到IP级的全方位直连能力。未来,项目团队计划加入:
✅ 自动密钥协商功能(无需手动输入密钥)
✅ 多节点Mesh网络(支持多台主机互相连接)
✅ 移动端支持(Android/iOS平台客户端)
如果你觉得GoodLink对你有帮助,不妨:
👍 点赞本文并分享给需要的同事
⭐ 给项目仓库点个Star支持开发
👀 关注作者获取更新通知
现在就动手试试吧! 用一条命令打破网络边界,体验真正的端到端直连革命!
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin07
compass-metrics-modelMetrics model project for the OSS CompassPython00