mirror of
https://gitee.com/konyshe/goodlink.git
synced 2026-04-22 22:57:20 +08:00
ab48552d936269b1ae8b726ac1884bbd5edf6c35
tun
@ ef424c81f2
外出办公, 对比市面上的远程工具, 无论画质、软件适配, 都不如 windows 自带的远程桌面, 但外出如何使用 windows远程桌面?
是否可以无需远程桌面, 直接访问公司的内网 WEB, GIT, SSH 等?
windows 自带杀毒软件, 会将所有 go 语言写的程序都默认为病毒。本程序已开源, 放心食用
注: 仅用于学习研究, 无商业合作,更无恶意行为。如有广告之类盈利行为,会告知大家。
郑重声明:严禁用于违法行为!!!
特点
一定要看
-
建议路由器和光猫使用桥接方式,关闭路由器防火墙,开启路由器UPNP
-
如超过5分钟无法直连,找客服(电信10000,移动10086,联通10010)改NAT类型,优先NAT1>NAT2>NAT3
-
两端主机运行同一个程序 / Docker, 一端使用--remote 选项(以下称 remote 端), 另一端使用--local 选项(以下称 local 端)
-
可以在 local 端访问 remote 端, 但是反过来不可以。通过相同的密钥(--key)确认连接关系
-
遇到无法连接windows远程桌面的情况,在IP后面加上 :13389,再尝试连接
📡 NAT兼容清单
| Remote端NAT | Local端NAT | P2P连接 | 说明 |
|---|---|---|---|
| NAT1-3 | NAT1-4 | ✅ 支持 | 推荐配置 |
| NAT1-4 | NAT1-3 | ✅ 支持 | 推荐配置 |
| NAT4 | NAT4 | ⚠️ 不保证 | 运营商限制 |
| 移动网络 | 移动网络 | ❌ 不支持 | 运营商限制 |
快速使用
启动 remote端(以下方式任选)
UI版本(仅Windows)
命令行版本
# windows
.\goodlink-windows-amd64-cmd.exe --key=AIabJpEIYHMDIA6NBgOBboYJ --remote
# linux
./goodlink-linux-amd64-cmd --key=AIabJpEIYHMDIA6NBgOBboYJ --remote
# linux, Docker
docker run -d --name=goodlink --net=host --restart=always registry.cn-shanghai.aliyuncs.com/kony/goodlink --key=AIabJpEIYHMDIA6NBgOBboYJ --remote
启动 local端(以下方式任选)
UI版本(仅Windows)
命令行版本
# windows
.\goodlink-windows-amd64-cmd.exe --fork --key=AIabJpEIYHMDIA6NBgOBboYJ --local
# linux
./goodlink-linux-amd64-cmd --key=AIabJpEIYHMDIA6NBgOBboYJ --local
# linux, Docker
Docker暂不支持虚拟网卡(TUN模式)
Local端工作模式
注:以上操作步骤,会同时启动TUN直连模式和TUN代理模式
TUN直连模式
Local端会创建一个虚拟网卡, 因此需要管理员权限运行。连接成功后,界面会显示: Remote端IP (192.17.19.1)
支持TCP和UDP连接
连接成功后,访问192.17.19.1,就等于访问Remote端
举例: 在Local端打开 windows 远程桌面, 填写: 192.17.19.1:13389, 即可访问Remote端的远程桌面
TUN代理模式
可访问Remote端所有的网络资源
连接成功后,在本机配置代理即可使用(仅支持TCP代理):
socks5://127.0.0.1:1080 或 http://127.0.0.1:1080
本地代理模式(可略过)(该模式下,TUN直连模式、TUN代理模式不会启动)
适用于无法创建虚拟网卡的环境(如MacOS、Docker、无管理员权限等),或同一主机有多个Local端的场景(虚拟网卡不能创建多个)
该模式目前只支持命令行版本,使用 --proxy 选项,即可启动该模式
格式: --proxy=Local端监听地址:Local端监听端口
# linux其他环境以此类推)
./goodlink-linux-amd64-cmd --key=AIabJpEIYHMDIA6NBgOBboYJ --local --proxy=0.0.0.0:1080
连接成功后,在本机配置代理即可使用(仅支持TCP代理):
socks5://127.0.0.1:1080 或 http://127.0.0.1:1080
本地转发模式(可略过)(该模式下,TUN直连模式、TUN代理模式不会启动)
在本地代理模式的基础上,适用于不支持代理方式访问的场景
该模式目前只支持命令行版本,使用 --forward 选项,即可启动该模式
连接成功后,在Local端访问本地指定端口等于在Remote端访问指定地址和端口
格式: --forward=Local端监听地址:Local端监听端口@Remote端目标地址:Remote端目标端口,多个转发规则用逗号间隔
# linux, 单个端口转发(其他环境以此类推)
./goodlink-windows-amd64-cmd.exe --key=AIabJpEIYHMDIA6NBgOBboYJ --local --forward=0.0.0.0:22@127.0.0.1:22
# linux, 多个端口转发(其他环境以此类推)
./goodlink-windows-amd64-cmd.exe --key=AIabJpEIYHMDIA6NBgOBboYJ --local --forward=0.0.0.0:22@127.0.0.1:22,0.0.0.0:80@127.0.0.1:80
# linux, 同时使用代理和端口转发(其他环境以此类推)
./goodlink-windows-amd64-cmd.exe --key=AIabJpEIYHMDIA6NBgOBboYJ --local --proxy=0.0.0.0:1080 --forward=0.0.0.0:22@127.0.0.1:22,0.0.0.0:80@127.0.0.1:80
连接成功后:
- 本地1080端口提供socks5/http代理服务
- 访问本地22端口等同于在Remote端访问127.0.0.1:22(SSH)
- 访问本地80端口等同于在Remote端访问127.0.0.1:80(WEB)
🙏 致谢
- 所有点了⭐ Star的同学
- 所有帮助测试和推广的同学
- 所有提交Issue和建议的同学
💬 交流方式
🎯 贡献指南
- 🐛 发现Bug?请提交Issue
- 💡 有新想法?欢迎在Issues中讨论
- 🔧 想要贡献代码?请先fork项目并提交PR
- 📖 完善文档?欢迎提交文档改进建议
📄 许可证
本项目采用 MIT 许可证开源,详情请查看 LICENSE 文件。
让内网访问变得简单安全!
Made with ❤️ by Goodlink Team
Description
Languages
Go
97.4%
Makefile
1.1%
Dockerfile
0.6%
Shell
0.5%
Batchfile
0.4%



