内网穿透工具-GoodLink
GoodLink是简单、零成本的内网穿透工具方案。支持运行在Linux、macOS、Windows平台,部分平台除支持命令行部署外还支持界面的方式。采用Go语言编写开发并在Apache-2.0协议下授权使用。
特点
两台主机之间直连!直连!直连!不经过第三方服务器,不用担心数据泄露。
一条命令搞定,无需安装、无需注册, 无需公网 IP,无需配置文件。
使用需知
建议直连光猫拨号,成功率最高。否则请关闭路由器防火墙,开启UPNP,并建议设置路由器DMZ为本机
如超过3分钟无法直连,找客服(电信10000,移动10086,联通10010)改NAT类型,优先NAT1>NAT2>NAT3
两端主机运行同一个程序 / Docker, 一端使用--remote 选项(以下称 remote 端), 另一端使用--local 选项(以下称 local 端)
可以在 local 端访问 remote 端, 但是反过来不可以
可以无限个 local 端连接同一个 remote 端, 但一个 local 端不能同时连接多个 remote 端。通过相同的密钥(--key)确认连接关系
由于Local端需要创建虚拟网卡,因此一个PC端只能运行一个 local 端,确定右下角任务栏只能一个GoodLink图标
windows 自带杀毒软件, 会将所有 go 语言写的程序都默认为病毒?本程序已开源
以下举例中的密钥(--key), 请不要使用, 否则会连上别人的 remote 端, 或者被别人的 local 端连上。自己随机 24 字符长度的密钥
连接remote端的windows远程桌面,可在ip后面加上:13389,尝试连接。3389端口貌似有特殊路由处理,和GoodLink创建的虚拟网卡冲突
最简示意

部署配置
启动 remote端
windows, 命令行
.\goodlink-windows-amd64.exe --key=AIabJpEIYHMDIA6NBgOBboYJ --remote
Windows, UI

linux, Docker
docker run -d --name=goodlink --net=host --restart=always registry.cn-shanghai.aliyuncs.com/kony/goodlink --key=AIabJpEIYHMDIA6NBgOBboYJ --remote
linux, 命令行
./goodlink-linux-amd64 --key=AIabJpEIYHMDIA6NBgOBboYJ --remote
启动 local端
windows, 命令行
.\goodlink-windows-amd64.exe --fork --key=AIabJpEIYHMDIA6NBgOBboYJ --local
Windows, UI

linux, Docker
由于Local端需要创建虚拟网卡,Docker中并不支持
linux, 命令行
./goodlink-linux-amd64 --key=AIabJpEIYHMDIA6NBgOBboYJ --local
常用参数说明
工作模式
注:以下两个模式同时存在,无需选择。
TUN模式
Local端会创建一个虚拟网卡, 因此需要管理员权限运行。连接成功后,界面会显示: Remote端IP
举例: 在Local端打开 windows 远程桌面, 填写Remote端IP, 即可访问Remote端的远程桌面。如果无法连接,可在IP后面加上:13389
代理模式
socket5代理地址端口: socket5://Remote端IP:1080
http代理地址端口: http://Remote端IP:1080
举例: 在Local端配置socket5代理: socks5://Remote端IP:1080, 即可利用Remote端做跳板, 访问所有的网络资源
Linux平台代理配置示例
# 代理地址配置
export all_proxy="http://127.0.0.1:1080"
export http_proxy="http://127.0.0.1:1080"
export https_proxy="http://127.0.0.1:1080"
# Git代理配置
git config --global http.proxy http://127.0.0.1:1080
git config --global https.proxy http://127.0.0.1:1080
# SSH代理配置(通过ProxyCommand)
ssh -o ProxyCommand='nc -X 5 -x 127.0.0.1:1080 %h %p' user@target_host
浏览器代理配置
Chrome/Edge:推荐使用 SwitchyOmega 插件
Firefox:内置代理设置支持
最新版本:2
v2.3.9 已经于2025年12月下旬发布,此版本更新内容包括:
利用 UPNP,大幅提升连接成功率,针对 NAT1-NAT3 & 路由器场景
利用管道替代锁,大幅降低 CPU 占用
支持多个 local 端同时连接 remote 端(实验)
官方主页:https://goodlink.kony.vip
特点
两台主机之间直连!直连!直连!不经过第三方服务器,不用担心数据泄露。
一条命令搞定,无需安装、无需注册, 无需公网 IP,无需配置文件。
使用需知
建议直连光猫拨号,成功率最高。否则请关闭路由器防火墙,开启UPNP,并建议设置路由器DMZ为本机
如超过3分钟无法直连,找客服(电信10000,移动10086,联通10010)改NAT类型,优先NAT1>NAT2>NAT3
两端主机运行同一个程序 / Docker, 一端使用--remote 选项(以下称 remote 端), 另一端使用--local 选项(以下称 local 端)
可以在 local 端访问 remote 端, 但是反过来不可以
可以无限个 local 端连接同一个 remote 端, 但一个 local 端不能同时连接多个 remote 端。通过相同的密钥(--key)确认连接关系
由于Local端需要创建虚拟网卡,因此一个PC端只能运行一个 local 端,确定右下角任务栏只能一个GoodLink图标
windows 自带杀毒软件, 会将所有 go 语言写的程序都默认为病毒?本程序已开源
以下举例中的密钥(--key), 请不要使用, 否则会连上别人的 remote 端, 或者被别人的 local 端连上。自己随机 24 字符长度的密钥
连接remote端的windows远程桌面,可在ip后面加上:13389,尝试连接。3389端口貌似有特殊路由处理,和GoodLink创建的虚拟网卡冲突
最简示意

部署配置
启动 remote端
windows, 命令行
.\goodlink-windows-amd64.exe --key=AIabJpEIYHMDIA6NBgOBboYJ --remote
Windows, UI

linux, Docker
docker run -d --name=goodlink --net=host --restart=always registry.cn-shanghai.aliyuncs.com/kony/goodlink --key=AIabJpEIYHMDIA6NBgOBboYJ --remote
linux, 命令行
./goodlink-linux-amd64 --key=AIabJpEIYHMDIA6NBgOBboYJ --remote
启动 local端
windows, 命令行
.\goodlink-windows-amd64.exe --fork --key=AIabJpEIYHMDIA6NBgOBboYJ --local
Windows, UI

linux, Docker
由于Local端需要创建虚拟网卡,Docker中并不支持
linux, 命令行
./goodlink-linux-amd64 --key=AIabJpEIYHMDIA6NBgOBboYJ --local
常用参数说明
| 参数 | 说明 | 示例 |
| --key | 连接密钥(必须) | --key=AIabJpEIYHMDIA6NBgOBboYJ |
| --remote | 运行为Remote端(必须) | --remote |
| --local | 运行为Local端(必须) | --local |
| --fork | 单进程运行(命令行版本) | --fork |
| --log-level | 日志级别(命令行版本) | --log-level=debug |
| -v | 查看版本信息(命令行版本) | -v |
工作模式
注:以下两个模式同时存在,无需选择。
TUN模式
Local端会创建一个虚拟网卡, 因此需要管理员权限运行。连接成功后,界面会显示: Remote端IP
举例: 在Local端打开 windows 远程桌面, 填写Remote端IP, 即可访问Remote端的远程桌面。如果无法连接,可在IP后面加上:13389
代理模式
socket5代理地址端口: socket5://Remote端IP:1080
http代理地址端口: http://Remote端IP:1080
举例: 在Local端配置socket5代理: socks5://Remote端IP:1080, 即可利用Remote端做跳板, 访问所有的网络资源
Linux平台代理配置示例
# 代理地址配置
export all_proxy="http://127.0.0.1:1080"
export http_proxy="http://127.0.0.1:1080"
export https_proxy="http://127.0.0.1:1080"
# Git代理配置
git config --global http.proxy http://127.0.0.1:1080
git config --global https.proxy http://127.0.0.1:1080
# SSH代理配置(通过ProxyCommand)
ssh -o ProxyCommand='nc -X 5 -x 127.0.0.1:1080 %h %p' user@target_host
浏览器代理配置
Chrome/Edge:推荐使用 SwitchyOmega 插件
Firefox:内置代理设置支持
最新版本:2
v2.3.9 已经于2025年12月下旬发布,此版本更新内容包括:
利用 UPNP,大幅提升连接成功率,针对 NAT1-NAT3 & 路由器场景
利用管道替代锁,大幅降低 CPU 占用
支持多个 local 端同时连接 remote 端(实验)
官方主页:https://goodlink.kony.vip