2025-09-24 02:30:45 +00:00
u
2025-09-22 17:05:21 +08:00
2025-09-23 09:35:29 +08:00
u
2025-09-22 17:05:21 +08:00
2025-09-23 09:35:29 +08:00
u
2025-03-21 15:12:08 +08:00
2025-09-22 16:25:08 +08:00
2025-01-12 14:21:16 +08:00
u
2025-09-22 16:37:28 +08:00
u
2025-03-28 17:23:38 +08:00
2025-09-16 09:45:24 +08:00
2025-09-16 09:45:24 +08:00
2025-09-16 09:45:24 +08:00
2025-04-03 18:24:55 +08:00
2025-09-16 17:21:04 +08:00
2025-09-18 11:37:58 +08:00
2025-09-18 11:37:58 +08:00
u
2025-09-22 16:37:28 +08:00
2025-04-03 18:24:55 +08:00
2025-09-16 09:45:24 +08:00
2025-04-03 18:24:55 +08:00
u
2025-07-16 13:49:13 +08:00
2025-09-24 02:30:45 +00:00

是全网最简单、零成本的内网穿透

Release License Stars

📥 下载最新版本

由于经常外出办公, 对于市面上的远程桌面工具, 无论画面、适配等, 都不如 windows 自带的远程桌面, 但外出如何使用 windows远程桌面呢

是否可以无需远程桌面, 直接访问公司的内网 WEB, GIT, SSH 等?

注: 该项目仅用于学习研究, 目前无商业合作,更无恶意行为。如果未来有广告之类盈利的行为,会郑重告知大家。另外声明:严禁用于违法行为!!!

特点

  1. 两台主机之间直连!直连!直连!不经过第三方服务器, 不用担心数据泄露

  2. 一条命令搞定, 无需安装、无需注册, 无需公网 IP, 无需配置文件

原理图

一定要看

  1. 请关闭路由器防火墙最好同时设置路由器DMZ为本机

  2. 如超过3分钟无法直连找客服电信10000,移动10086,联通10010改NAT类型优先NAT1>NAT2>NAT3

  3. 本程序即支持命令行方式, 也支持 docker 方式, windows 还有UI版本cmd版本最稳定、性能最好、内存占用最小, 可随意搭配

  4. 两端主机运行同一个程序 / Docker, 一端使用--remote 选项(以下称 remote 端), 另一端使用--local 选项(以下称 local 端)

  5. 可以在 local 端访问 remote 端, 但是反过来不可以

  6. 可以无限个 local 端连接同一个 remote 端, 但一个 local 端不能同时连接多个 remote 端。通过相同的密钥(--key)确认连接关系

  7. 由于Local端需要创建虚拟网卡因此一个PC端只能运行一个 local 端确定右下角任务栏只能一个GoodLink图标

  8. windows 自带杀毒软件, 会将所有 go 语言写的程序都默认为病毒。本程序已开源, 放心食用

  9. 以下举例中的密钥(--key), 请不要使用, 否则会连上别人的 remote 端, 或者被别人的 local 端连上。自己随机 24 字符长度的密钥

  10. 如有安全疑问,请看: 使用GoodLink 是否足够安全?

  11. 该项目刚刚起步, 可能不太稳定, 欢迎提出ISSUES, 帮忙测试的同学将保证永久免费使用

  12. 连接remote端的windows远程桌面可在ip后面加上 :13389尝试连接。3389端口貌似有特殊路由处理和goodlink虚拟网卡冲突

💻 部署选项

平台 支持方式 推荐程度 说明
Windows 命令行 / UI界面 命令行版本更稳定
Linux 命令行 / Docker 支持
macOS 命令行 v2暂不支持

📡 NAT兼容性

Remote端NAT Local端NAT P2P连接 说明
NAT1-3 NAT1-4 支持 推荐配置
NAT1-4 NAT1-3 支持 推荐配置
NAT4 NAT4 ⚠️ 不保证 运营商限制
移动网络 移动网络 不支持 运营商限制

工作模式

注:以下两个模式同时存在, 无需选择

TUN模式

Local端会创建一个虚拟网卡, 因此需要管理员权限运行。连接成功后,界面会显示: Remote端IP

举例: 在Local端打开 windows 远程桌面, 填写Remote端IP, 即可访问Remote端的远程桌面

代理模式

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内置代理设置支持

简单使用

启动 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

windows, 命令行

.\goodlink-windows-amd64.exe --fork --key=AIabJpEIYHMDIA6NBgOBboYJ --remote

启动 local端

windows, UI

使用说明

linux, Docker

由于Local端需要创建虚拟网卡Docker中并不支持

linux, 命令行

./goodlink-linux-amd64 --key=AIabJpEIYHMDIA6NBgOBboYJ --local

windows, 命令行

.\goodlink-windows-amd64.exe --fork --key=AIabJpEIYHMDIA6NBgOBboYJ --local

🛠️ 常用参数说明

参数 说明 示例
--key 连接密钥(必须) --key=MySecretKey123456
--remote 运行为Remote端 --remote
--local 运行为Local端 --local
--fork 后台运行Windows --fork
--log-level 日志级别 --log-level=debug
--port 自定义端口 --port=8080

📚 更多资源

📖 文档链接

🤝 社区支持

💬 交流方式

🎯 贡献指南

  • 🐛 发现Bug请提交Issue并附上详细日志
  • 💡 有新想法欢迎在Issues中讨论
  • 🔧 想要贡献代码请先fork项目并提交PR
  • 📖 完善文档?欢迎提交文档改进建议

🙏 致谢

特别感谢以下贡献者:

  • danshiyuan
  • 所有提交Issue和建议的用户
  • 帮助测试和推广的社区成员

📄 许可证

本项目采用 MIT 许可证开源,详情请查看 LICENSE 文件。

支持项目

如果这个项目对您有帮助,请:

  • 给项目点个 Star
  • 分享给更多需要的朋友
  • 提交使用反馈和建议
  • 参与社区讨论

让内网访问变得简单安全!

Made with ❤️ by GoodLink Team

Description
No description provided
Readme Apache-2.0 9.6 MiB
Languages
Go 97.1%
Makefile 1.2%
Dockerfile 0.7%
Shell 0.6%
Batchfile 0.4%