Total Pageviews

Saturday, 19 September 2026

环球通, Global Link 基于sing-box的翻墙客户端

(Windows / Android / iOS),基于 Tauri v2 + React + Rust开发。

环球通 Global Link

一款独立的 sing-box 网络客户端(Windows / Android / iOS)

支持系统级 VPN 路由和本地 SOCKS5 代理,内置 sing-box 1.14.0 核心。

平台 技术栈 状态
Windows Tauri v2 + React + Rust ✅ 完整可用
Android Kotlin + Jetpack Compose + VpnService ✅ 代码完成(需 Android Studio 构建)
iOS SwiftUI + NetworkExtension ✅ 代码完成(需 Xcode + Apple Developer 账号)

由「数码解码」出品并维护 · 技术支持请加入 Telegram 群组


✨ 功能特性

核心功能

功能 说明
VPN 模式(TUN) 系统级全局路由,所有程序无需配置直接走代理
手动 SOCKS5 模式 本地混合代理(HTTP + SOCKS5 同端口)
自动系统代理 SOCKS5 模式连接时自动设置 Windows 系统代理,断开自动还原
多协议支持 Shadowsocks / VMess / VLESS / Trojan / Hysteria2 / TUIC / HTTP
传输层支持 TCP / WebSocket / HTTP/2 / gRPC,支持 TLS(含 SNI)
订阅节点 支持从 V2Ray/Clash 订阅链接导入节点

路由与诊断

功能 说明
预检(Pre-flight) 连接 VPN 前自动检查管理员权限、wintun.dll、残留适配器
路由诊断 实时查看网卡、路由表、DNS 配置快照
残留适配器恢复 自动检测并清理崩溃会话遗留的 TUN 适配器
会话回收 核心启动失败时自动清除卡死的会话状态
实时日志 底部诊断面板实时显示核心输出

更新系统

功能 说明
自动检查 启动时 + 每 12 小时自动检查 GitHub Releases
手动检查 设置页「立即检查」按钮
应用内下载 显示下载进度条,下载完成自动运行安装程序
SHA-256 校验 下载完成后校验文件完整性

界面

  • 🇨🇳 全中文界面(连接 / 配置 / 设置三页)
  • 深色主题,现代化设计
  • 状态徽章:已断开 / 连接中… / 已连接 / 错误
  • 内置「数码解码」技术支持入口与 Telegram 群组链接

📦 安装使用

Windows(普通用户)

  1. Releases 页面下载 Global-Link-v2.1.3-Windows-x64-Installer.exe (v2.1.3 修复了 v2.1.0–v2.1.2 的致命打包缺陷:安装包内 sing-box 内核被 打包器拍平到上一层目录而程序只会在子目录里找,导致客户机上「核心缺失、 无法连接」;本版已兼容两种布局并改进报错提示)
  2. 双击安装(Windows 可能提示 SmartScreen,点「仍要运行」)
  3. 启动 环球通 Global Link
  4. 如果你正在使用 v2.1.0 / v2.1.1 / v2.1.2:请手动安装本版一次; 从 v2.1.2 起,设置页的「检查更新 / 下载更新」即可正常使用

Android(普通用户)

  1. Releases 页面下载 Global-Link-v2.1.0-Android-Universal.apk
  2. 安装 APK(首次安装需允许未知来源)
  3. 启动应用,首次连接时授予 VPN 权限

iOS(普通用户)

  1. Releases 页面下载 Global-Link-v2.1.0-iOS.ipa
  2. 通过 AltStore 或企业签名方式安装
  3. 启动应用,首次连接时授予 VPN 权限

🔧 开发构建

Windows

npm ci
npm run fetch:core    # 下载 sing-box 核心
npm test              # 类型检查 + 前端构建
npm run tauri dev     # 开发模式
npm run tauri build   # 发布构建(NSIS 安装包)

Android

cd android
./gradlew assembleRelease    # 构建 APK
./gradlew bundleRelease      # 构建 AAB(Play Store)

iOS

cd ios/AethonReplica
xcodebuild -scheme AethonReplica -configuration Release

📁 项目结构

Global-Link/
├── src/                    # Windows 前端(React + TypeScript)
├── src-tauri/              # Windows 后端(Rust + Tauri)
│   └── resources/sing-box/ # Windows 核心二进制
├── android/                # Android 客户端(Kotlin + Jetpack Compose)
│   └── app/src/main/java/io/github/aethonreplica/
│       ├── core/           # SingBoxCore, VpnService, ShareLinkParser
│       ├── data/           # AppConfig, ProfileStorage
│       └── ui/             # ConnectScreen, ConfigurationsScreen, SettingsScreen
├── ios/                    # iOS 客户端(SwiftUI)
│   └── AethonReplica/
│       ├── App.swift       # 主应用 + AppState
│       ├── ConnectView.swift
│       ├── ConfigurationsView.swift
│       ├── SettingsView.swift
│       └── AethonReplicaCore/  # SingBoxCore.swift
├── scripts/                # 构建脚本
└── docs/                   # 文档

🛠️ 构建需求

平台 工具链
Windows Node.js 22+, Rust 1.80+, VS Build Tools, WiX
Android Android Studio, NDK 27+, JDK 17
iOS macOS 14+, Xcode 15+, Apple Developer 账号

🌐 订阅导入

应用支持以下格式的分享链接和订阅:

  • vless://...
  • vmess://...
  • trojan://...
  • ss://...
  • hysteria2://...
  • tuic://...
  • Base64 编码的订阅内容

❓ 常见问题

Q: 连接后浏览器打不开网页? A: SOCKS5 模式会自动设置系统代理。如果手动关闭了系统代理,请重新点一次「连接」。

Q: VPN 模式报「需要管理员权限」? A: 右键程序图标 → 以管理员身份运行。TUN 网卡创建需要管理员权限。

Q: Android 上首次连接没反应? A: 首次连接需要授予 VPN 权限,系统会弹出授权对话框,请点击「确定」。

Q: iOS 无法安装? A: iOS 需要通过 AltStore(免费账号)或企业签名方式安装。需要 Apple Developer 账号才能发布到 App Store。

Q: 断开后上不了网? A: 点「恢复网络」按钮,会停止核心 + 还原系统代理 + 刷新 DNS。


📄 许可

本项目为独立前端,非上游项目。网络引擎使用 sing-box(GPL-3.0)。

from  https://github.com/smzxtv/Global-Link

--------------------------------------------------------

环球通 Global Link v2.1.5

修复:已连接节点,但网页打不开(YouTube / Google 等)

v2.1.4 已能正常找到核心并连接节点,但在 TUN(VPN)模式下网页仍会打不开、或域名被解析到伪造 IP。本版本修复这一问题,请所有用户升级到 2.1.5。

根因

  1. TUN 配置里 strict_route: true 会把 sing-box 自身的出站流量也一并拦截,导致程序无法真正访问节点(表现为「已连接但没有网速」)。
  2. 配置缺少 DNS 段,也没有 route.auto_detect_interface:系统 DNS 查询直接走运营商通道,youtube.com 等域名被污染解析到伪造 IP,网页自然打不开;IPv6 路由异常的网络还会雪上加霜。

修复内容

  • TUN 模式 strict_route 改为 false,程序自身的出站连接不再被拦截
  • 新增完整的 DNS 方案:
    • 国内域名(.cn 及常见国内站点)继续使用本地 DNS,国内网站直连不受影响
    • 其他域名通过 Cloudflare DoH(cloudflare-dns.com)并经由代理隧道加密解析,不再被污染
    • 统一使用 IPv4 解析(ipv4_only),规避损坏的 IPv6 网络
  • 路由启用 auto_detect_interface,并通过 hijack-dns 把所有 DNS 查询强制送入隧道
  • 新增:启动 TUN 前自动清理上次异常退出遗留的「幽灵」wintun 虚拟网卡(此前会导致之后每次连接都失败)
  • 新增回归测试:生成的配置直接用内置 sing-box 核心做架构校验,并以真实节点实测 YouTube 解析与访问
  • 版本号升级到 2.1.5

下载

  • Global-Link-v2.1.5-Windows-x64-Installer.exe — Windows 10/11 x64 安装程序

from  https://github.com/smzxtv/Global-Link/releases

(windows上的客户端下载地址: 

https://github.com/smzxtv/Global-Link/releases/download/v2.1.5/Global-Link-v2.1.5-Windows-x64-Installer.exe)

-------------------------------------------------------------------------------------------------

一款自带“自愈”功能的 sing-box 代理客户端!防断网+全协议适配!超轻量、高稳定!

一款叫 Global-Link(环球通) 的网络客户端,也算是把之前使用其他软件时遇到的一些问题重新梳理了一遍。

Global-Link 是基于 Singbox内核开发的跨平台翻墙客户端,目前我主要维护的是 Windows 和 Android 两个版本。项目本身是开源的,如果你对这方面的技术感兴趣,也可以直接查看源码,或者在现有基础上进行修改。

这篇文章不准备把它写成一篇纯粹的功能介绍,而是想记录一下我自己安装和使用的过程,包括它目前有什么功能、我实际测试时遇到了什么,以及目前这个版本还有哪些地方需要继续完善。

先说明一点:下面提到的连接速度、节点状态等内容都是我自己的测试结果,网络环境、运营商以及节点状态不同,实际体验可能会有差异。


我为什么会做 Global-Link?

其实开发 Global-Link 的最初想法并没有那么复杂。

我自己平时需要在不同网络环境下测试一些东西,所以电脑里经常会装几个不同的网络客户端。

用得多了以后就会发现,每个软件都有自己的使用习惯。

有的软件对新手比较友好,但是高级设置比较少;有的软件功能很多,可是界面又比较复杂;还有一些软件遇到问题以后,日志信息并不直观,排查起来比较费时间。

所以我在开发 Global-Link 的时候,比较希望它能够处于一个中间的位置。

也就是说,第一次打开的时候,不需要用户研究一大堆参数,选择配置、选择节点之后就可以开始使用。

但如果你本身就是技术用户,又希望查看日志、调整端口、管理订阅或者检查网络状态,那么这些功能也应该能够找到。

目前这个思路基本已经做进去了,不过项目还处于比较早期的阶段,后面肯定还会继续调整。



Global-Link 目前支持什么?

目前 Global-Link 主要提供 Windows 和 Android 两个平台版本。

Windows 版本是目前更新比较完整的版本,Android 版本的功能则相对落后一些,不过基础配置和连接功能已经可以正常使用。

从功能上来看,它支持系统级 VPN、路由管理以及本地 SOCKS5 代理。

对于普通用户来说,最常用的应该还是直接选择节点,然后点击连接。

而对于有特殊需求的人,也可以使用本地代理端口,让其他软件通过指定的 SOCKS5 端口进行连接。

另外,客户端也支持 TUN 全局模式。

这个模式的意义比较简单:不需要每个软件单独设置代理,而是由客户端接管系统层面的相关流量。

当然,不同软件的网络机制并不完全一样,所以实际使用时还是应该根据自己的需求选择合适的模式。


我比较看重的一点:节点配置不用全部手动填写

如果你以前自己配置过节点,应该知道手动添加其实挺麻烦的。

服务器地址、端口、协议、认证信息,一个地方填错,最后都可能连接不上。

Global-Link 目前支持直接导入订阅。

也就是说,如果你手里已经有 V2Ray 或 Clash 格式的订阅地址,可以直接把地址粘贴到配置管理页面,然后点击导入订阅。

软件会自动获取并解析里面的配置。

我自己测试的时候,这个功能确实省了不少时间。

当然,如果你不喜欢使用订阅,也可以手动添加配置。

在“配置”页面里面有添加节点的入口,可以自己填写服务器相关参数。

所以从使用方式来看,自动导入和手动配置两种方式都有。


第一次打开软件,我比较注意的是系统权限问题

开发这类 Windows 软件的时候,有一个问题其实特别容易被忽略,就是权限。

有些功能需要管理员权限才能正常工作,如果软件直接启动,用户可能只看到一个莫名其妙的连接错误,却不知道问题出在哪里。

所以 Global-Link 在启动和连接之前,会检查当前的运行环境以及相关权限。

如果发现环境不符合要求,会给出提示。

我觉得这个设计虽然不算什么特别复杂的功能,但对于普通用户来说还是有帮助的。

至少遇到问题时,不至于完全不知道从哪里开始排查。


软件还加入了一个我自己比较喜欢的功能:故障诊断

使用网络客户端的时候,最麻烦的事情之一就是“连不上”。

但“连不上”实际上可能有很多原因。

比如系统代理没有设置成功、路由出现问题、DNS 状态异常、权限不足,甚至只是节点本身没有响应。

所以我在 Global-Link 里面加入了一些诊断功能。

出现问题之后,可以查看底部的内核日志。

同时也可以抓取当前网卡、路由表以及 DNS 的相关快照。

对于普通用户来说,可能平时不会用到这些东西。

但如果你是开发者或者喜欢研究网络问题的人,这些信息还是比较有价值的。

至少遇到问题的时候,可以先看看日志,而不是直接卸载软件重新安装。


主界面其实比较简单

目前 Global-Link 的主题并不多,现在主要就是一个比较简洁的界面。

我暂时没有做太多花里胡哨的设计。

原因也很简单,我自己更关注功能是否方便。

主界面主要分成几个区域。

上面是工作模式,中间是节点选择,下面则是连接状态以及诊断相关的信息。

如果只是普通使用,选择节点以后点击连接就可以。

软件目前提供了 SOCKS5 等代理工作方式,同时也提供 VPN/TUN 相关模式。

如果是一些对系统级网络接管有需求的场景,可以考虑使用 VPN 模式。

如果只是希望某些软件通过本地代理端口访问,那么 SOCKS5 模式会更加直观。


配置页面:订阅和节点都在这里管理

配置页面应该是我认为比较实用的一个部分。

进入之后,可以看到订阅管理区域。

把自己的订阅地址粘贴进去,点击“导入订阅”,软件就会自动拉取配置。

如果订阅中包含多个节点,解析完成之后都会显示出来。

除此之外,还有手动添加配置的功能。

有时候我们只是临时测试一个服务器,并不想专门创建订阅,这时候直接手动添加会更加方便。

所以目前我把这两种方式都保留了。


本地 SOCKS5 端口也可以自己修改

在设置页面里面,还可以修改本地代理端口。

例如某个软件需要连接到本地 SOCKS5 代理,那么就可以把它指向 Global-Link 当前监听的端口。

这个功能对于一些需要单独配置代理的软件比较方便。

另外,设置页面还可以调整日志输出级别。

如果只是普通使用,可以使用比较简单的日志级别。

如果遇到问题,需要排查具体原因,再把日志详细程度调高。

这样可以避免软件一直输出大量没有必要的信息。


自动检查更新,这个功能是我后来加进去的

Global-Link 目前会定期检查 GitHub 上有没有新的版本。

默认情况下,大约每 12 小时检查一次。

如果有新版本,软件会进行提示。

同时也提供自动下载更新的选项。

我之所以加入这个功能,是因为软件发布新版本以后,如果每次都要求用户重新打开 GitHub、找到 Release、下载压缩包,再手动安装,其实挺麻烦的。

尤其是普通用户,可能根本不知道 GitHub 的 Release 在哪里。

所以现在如果开启自动更新,后续升级会简单很多。

当然,如果你更喜欢自己控制软件版本,也可以关闭自动更新。


我实际测试了一下 YouTube

软件安装完成以后,我把之前使用的 V2Ray 客户端关闭,同时把系统代理恢复到正常状态,然后启动 Global-Link。

选择一个软件自带的节点,点击连接。

连接完成以后,我打开浏览器测试 YouTube。

从我的这次测试来看,YouTube 可以正常打开。

随后我又播放了一个视频测试网络速度。

当时测试到的速度大约在 8000 左右。

这里需要特别说明一下,这只是我当时测试环境下的数据,并不能代表这个节点任何时候都能达到同样的速度。

网络速度本来就是动态变化的。

测试时间、节点负载、本地网络以及目标服务器都会影响最终结果。

所以我更倾向于把这个数据当成一次实际体验记录,而不是所谓的“官方速度”。


这次测试的节点是什么情况?

测试过程中,我看到当前使用的 IP 显示在香港地区,并且使用的是 Cloudflare 相关节点。

页面上显示的风险状态属于中性。

我也顺便测试了一下其他服务。

当时 Netflix 也能够正常打开。

不过由于时间关系,我没有把所有服务逐个测试一遍。

如果后续继续更新项目,我会考虑增加更加完整的网络测试功能,让用户自己就可以查看当前节点的延迟、连接状态以及一些基本信息。


Android 版本目前是什么情况?

除了 Windows 版本之外,我也做了 Android 版本。

目前 Android 版本的更新进度没有 Windows 快,所以如果你去项目页面,会发现最新 Windows Release 和 Android 安装包的版本可能不是完全同步的。

我这次测试使用的是 2.1.0 版本的 Android 安装包。

安装过程没有特别复杂的地方。

我这里没有直接拿手机录制,而是使用模拟器测试。

安装完成之后打开软件,进入连接页面,可以看到 Android 版的基本操作方式和 Windows 版比较接近。

然后我重新测试 YouTube。

从这次测试结果来看,可以正常打开。

所以至少目前这个 Android 版本作为基础使用是没有问题的。

不过这里我还是建议大家留意项目后续更新,因为 Android 版目前明显落后于 Windows 版。


目前这个项目还不算成熟

虽然这是我自己开发的项目,但我还是想比较客观地说一句:

Global-Link 现在还不是一个非常成熟的大型客户端。

目前我主要把自己觉得最需要的功能做了进去。

比如订阅管理、节点管理、系统代理、SOCKS5、TUN、日志、诊断以及自动更新。

但是还有很多东西可以继续完善。

例如:

  • 更多系统平台

  • 更多界面主题

  • 更完善的节点检测

  • 更详细的网络诊断

  • 更丰富的路由规则

  • 更完善的 Android 版本

  • 更方便的配置管理

这些都会是后面继续开发的方向。

我并不希望第一版就堆很多功能,而是先把基础功能做稳定,然后根据实际使用反馈慢慢增加。


如果你喜欢折腾,也可以自己研究源码

Global-Link 是开源项目。

所以如果你本身有开发经验,也可以把代码拉下来自己研究。

我比较喜欢开源项目的一点,就是大家不只是一个使用者,也可以成为参与者。

如果你觉得某个功能不合理,可以自己修改;

如果发现 Bug,也可以提交反馈;

如果有不错的功能想法,也可以提出来。

对于我来说,这个项目本身也是一个持续学习和完善的过程。


最后聊聊我对 Global-Link 的看法

开发完并真正自己用了一段时间之后,我对这个项目的定位反而越来越清楚了。

我不希望它变成一个让普通用户第一次打开就不知道该点哪里的“功能怪兽”。

也不希望它只能完成最简单的连接操作,遇到问题以后什么信息都看不到。

所以现在的 Global-Link 更像是两者之间的一个尝试。

第一次使用的人,可以直接选择节点、导入订阅,然后点击连接。

喜欢研究的人,则可以进入配置、设置和诊断页面,自己调整端口、查看日志、管理节点。

目前它还在不断更新,Windows 版本是现在开发的重点,Android 版本也会继续跟进。

如果你刚好对这类开源项目感兴趣,可以自己下载测试一下。

当然,我也非常希望看到真实的反馈。

无论是遇到 Bug、觉得哪个地方不好用,还是希望增加某个功能,都可以告诉我。

毕竟一个软件真正好不好用,光靠开发者自己测试是不够的。

很多自己觉得“没问题”的设计,到了别人手里可能完全是另外一种体验。

所以接下来,我也会根据实际反馈继续调整 Global-Link。

这也是我做这个项目最主要的原因——先把自己需要的东西做出来,再一点一点把它变成一个真正方便别人使用的工具。

如果你也喜欢开源项目或者喜欢自己折腾各种工具,欢迎一起交流。

目前 Global-Link 只是一个开始,后面还有很多功能可以慢慢做。

项目地址: https://github.com/smzxtv/Global-Link

No comments:

Post a Comment