科学上网跨平台详解:iOS / Android / Windows / macOS / Linux

科学上网的本质是「把流量加密后转发给一台在墙外的服务器」。协议、客户端、平台三者排列组合让新手无从下手。本文从原理讲起,对比 Windows / macOS / Linux / Android / iOS 五大平台的主流客户端,并给出自建节点的完整流程。

本文仅用于学习网络代理技术、访问学术与开发资源等正当用途。请遵守你所在地区的法律法规,并对自己的行为负责。

一、原理与术语

「翻墙」要解决的核心问题是:让你的设备和一台位于审查范围之外的服务器(节点)之间建立一条审查者既看不懂、也不容易识别的通道。

整个链路通常是:

你的设备 → 本地客户端(加密/伪装) → 墙 → 墙外节点(VPS/机场) → 目标网站

代理 vs VPN

很多人把两者混为一谈,其实区别很大:

维度代理(Proxy)VPN
工作层级应用层 / SOCKS / HTTP网络层(虚拟网卡)
分流能力强,可按域名 / IP / 进程精细分流弱,通常全局接管
抗封锁协议可深度伪装(Reality、Hysteria2)特征明显,易被识别封锁
代表Shadowsocks、VLESS、TrojanWireGuard、OpenVPN、IKEv2

在国内长期稳定使用,代理类协议(尤其是 VLESS + Reality)比传统 VPN 协议更难被封。WireGuard 速度快但握手特征明显,更适合自用小流量或配合中转。

常见协议一览

协议传输特点现状
Shadowsocks (SS)TCP/UDP轻量、老牌仍可用,建议配合插件
VMessTCP/WS/gRPCV2Ray 早期主力已逐渐被 VLESS 取代
VLESS + RealityTCP当前抗封锁最优解,无需域名/证书,借用真实网站 TLS 指纹主流推荐
TrojanTLS伪装成 HTTPS,需要域名+证书稳定,需配证书
Hysteria2QUIC/UDP基于 UDP,弱网/高丢包下速度快推荐,注意 UDP QoS
TUICQUIC/UDP同样走 QUIC,低延迟小众但好用
WireGuardUDP速度快、配置简单易被识别,适合中转/自用
Tor多跳匿名性强、速度慢仅适合特定匿名需求

新手结论:如果是自建,优先 VLESS + Reality(无需域名、抗封最强)或 Hysteria2(追求速度);如果是买机场,客户端选 Clash 系(mihomo 内核)即可全协议通吃。

二、先决条件:你得先有一个「节点」

客户端只是「门」,真正翻墙靠的是墙外那台服务器。三种获取方式:

方案 A:购买机场订阅(最省心)

机场提供一条 订阅链接(Subscription URL),里面包含一批节点。客户端导入订阅后自动更新节点列表。

  • 优点:开箱即用、多地区节点、无需运维
  • 缺点:共享 IP 易被封、隐私依赖商家、需甄别跑路风险
  • 选择建议:优先支持 Clash / sing-box 订阅格式、有 Trojan/Hysteria2 节点、按流量计费的中大型机场

方案 B:自建 VPS(最自由,推荐进阶)

自己买一台海外 VPS,独享 IP,协议自己定。见第四节完整教程。

  • 优点:独享、可控、隐私好、成本可低至每月一两美元
  • 缺点:需要一点 Linux 基础;IP 被封需更换

方案 C:商业 VPN(最简单但最不灵活)

下载即用的 App(如各类付费 VPN)。适合完全不想折腾、且对稳定性要求不高的人。在国内封锁严重时段这类服务往往最先挂掉。

三、五大平台客户端对比

先看总览,再看每个平台的细节。

平台首选客户端内核协议支持备注
WindowsClash Verge RevmihomoGUI 友好,支持 TUN 全局
Windowsv2rayNXray/sing-box老牌,节点手动管理强
macOSClash Verge Revmihomo跨平台一致体验
macOSSurge(付费)自研规则与排错能力最强
LinuxClash Verge Revmihomo有 GUI;服务器用 CLI
Linuxmihomo / sing-box CLI-无头服务器/软路由
AndroidClashMetaForAndroidmihomo开源、免费
AndroidNekoBox / v2rayNGsing-box/Xray手动节点党首选
iOSShadowrocket(付费)自研非中国区 Apple ID
iOSsing-box / Stashsing-box免费替代/规则强

下面分平台展开。

3.1 Windows

推荐:Clash Verge Rev(mihomo 内核,开源免费)

  1. 从官方 GitHub Release 下载 .exe 安装。
  2. 「订阅」页粘贴机场订阅链接,或导入自建节点。
  3. 开启 TUN 模式(虚拟网卡)即可全局代理,包括不支持代理设置的程序。
  4. 「设置」里开启「开机自启」和「系统代理」。

v2rayN 更适合喜欢手动逐个管理节点、调试协议参数的用户,内置 Xray 与 sing-box 双内核切换。NekoRay 也曾是跨平台手动配置党的常用选择,但目前已停止维护,新用户建议优先 Clash Verge Rev 或 sing-box。

3.2 macOS

推荐:Clash Verge Rev(与 Windows 体验一致)

  • Apple Silicon / Intel 都有对应安装包,首次打开需在「系统设置 → 隐私与安全性」放行。
  • 同样支持 TUN 全局、规则分流、订阅自动更新。

进阶:Surge(付费)

  • 规则系统、脚本、MitM、网络诊断能力是目前 macOS 上最强的,适合重度玩家与开发者。

轻量:ClashX Meta 曾经流行,但维护趋缓,新用户建议直接上 Clash Verge Rev。

3.3 Linux

桌面端和服务器端走法不同。

桌面(GNOME/KDE):Clash Verge Rev

  • 提供 .deb / .rpm / .AppImage。Arch 系可从 AUR 安装:
yay -S clash-verge-rev-bin

无头服务器 / 软路由:mihomo 或 sing-box CLI

以 mihomo 为例,下载二进制后用配置文件运行:

# 下载 mihomo(按架构选择 release):https://github.com/MetaCubeX/mihomo/releases
sudo install mihomo /usr/local/bin/mihomo

# 配置目录
mkdir -p ~/.config/mihomo
# 把机场提供的 Clash 配置保存为 config.yaml

mihomo -d ~/.config/mihomo

配合 systemd 开机自启:

# /etc/systemd/system/mihomo.service
[Unit]
Description=mihomo proxy
After=network.target

[Service]
ExecStart=/usr/local/bin/mihomo -d /etc/mihomo
Restart=on-failure

[Install]
WantedBy=multi-user.target
sudo systemctl enable --now mihomo

然后让系统/其他设备把 http://本机IP:7890 设为代理即可。

3.4 Android

推荐:ClashMetaForAndroid(CMFA)(mihomo 内核,开源免费)

  1. GitHub 下载 APK 安装。
  2. 「配置」→ 新建 → URL,粘贴订阅链接。
  3. 启动后系统会请求建立 VPN(其实是本地 TUN),授权即可全局。

手动节点党:NekoBox(sing-box 内核)/ v2rayNG(Xray 内核)

  • 支持扫码导入单节点、二维码分享,调参灵活。
  • Surfboard 是 Surge 风格的免费 Android 客户端,规则迁移方便。

3.5 iOS(最麻烦的平台)

iOS 的难点不在客户端,而在 App Store 区域限制:主流代理 App 在中国区下架,需要一个非中国区(如美区)Apple ID 才能下载。

App价格内核说明
Shadowrocket(小火箭)付费自研最经典,协议全、轻量
Stash付费sing-boxClash 风格规则,体验好
Quantumult X付费自研重度玩家,脚本能力强
sing-box(商店名 sing-box VT)免费sing-box官方出品,开源免费
Streisand免费sing-box免费替代,协议齐全

操作流程:

  1. 注册一个美区 Apple ID(地址填美国、无需绑卡)。
  2. App Store 切换到该账号,搜索并下载上述 App。
  3. 打开 App → 导入订阅 / 扫码导入节点 → 连接(首次需允许「添加 VPN 配置」)。

不要在 iOS 设置里手动配 HTTP 代理来翻墙——很多 App 不走系统代理。务必用上面这些基于 NEPacketTunnel 的客户端做全局 TUN。

3.6 客户端下载地址(请认准官方源)

第三方下载站常夹带篡改后门,务必从下面的官方仓库 / App Store 获取。

平台客户端价格下载地址
WindowsClash Verge Rev免费GitHub Release
Windowsv2rayN免费GitHub Release
Windows/LinuxNekoRay(已停更)免费GitHub Release
macOSClash Verge Rev免费GitHub Release
macOSClashX Meta免费GitHub Release
macOSSurge 5付费官网 nssurge.com
LinuxClash Verge Rev免费GitHub Release
Linux(CLI)mihomo免费GitHub Release
Linux(CLI)sing-box免费GitHub Release
AndroidClashMetaForAndroid免费GitHub Release
AndroidNekoBox for Android免费GitHub Release
Androidv2rayNG免费GitHub Release
AndroidSurfboard免费GitHub Release
iOSShadowrocket付费App Store
iOSStash付费App Store
iOSQuantumult X付费App Store
iOSsing-box VT免费App Store
iOSStreisand免费App Store
iOSSurge 5付费App Store

iOS 应用均需非中国区 Apple ID(中国区已下架)。官方 sing-box 旧版曾被下架,现在 App Store 上的官方版本叫 sing-box VT

四、进阶:自建 VLESS + Reality 节点

这是目前性价比与抗封锁兼顾的方案。以一台海外 VPS(Debian/Ubuntu)为例。

4.1 买 VPS 与基础加固

  • 选择延迟低、被封概率低的机房(不同地区差异大,可多对比)。
  • 登录后先更新并配置防火墙、关闭 root 密码登录(改用密钥)。

4.2 用 3x-ui 面板一键搭建(适合新手)

3x-ui 是带 Web 面板的 Xray 管理工具,可视化创建 VLESS+Reality 节点:

bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

安装后访问 http://VPS_IP:面板端口,在面板里:

  1. 新建入站 → 协议选 VLESS
  2. 安全选 Reality,「目标网站(dest)」填一个真实存在、支持 TLS1.3 的境外大站(借用它的握手指纹)。
  3. 生成 publicKey / shortId,保存。
  4. 面板会给出节点链接 / 二维码,导入任意客户端即可。

4.3 用 sing-box 手动搭建(更干净)

不想要面板可以直接用 sing-box 服务端。核心配置(节选):

{
  "inbounds": [{
    "type": "vless",
    "listen": "::",
    "listen_port": 443,
    "users": [{ "uuid": "粘贴你生成的UUID", "flow": "xtls-rprx-vision" }],
    "tls": {
      "enabled": true,
      "server_name": "www.example-bigsite.com",
      "reality": {
        "enabled": true,
        "handshake": { "server": "www.example-bigsite.com", "server_port": 443 },
        "private_key": "服务端私钥",
        "short_id": ["生成的shortId"]
      }
    }
  }]
}
# 生成 UUID 与 Reality 密钥对
sing-box generate uuid
sing-box generate reality-keypair
# 运行
sing-box run -c /etc/sing-box/config.json

客户端用对应的 uuid / publicKey / server_name / short_id 填好即可连上。

追求速度可改用 Hysteria2:基于 QUIC,弱网/跨境高丢包时表现明显优于 TCP 协议。注意有些机房对 UDP 有 QoS 限速,需实测。

五、分流规则:别让所有流量都绕一圈

国内网站走代理既慢又浪费,正确做法是 按规则分流:国内直连、国外走代理、广告拦截。

Clash 系客户端通常用「规则模式 + 规则集(rule-provider)」实现:

rules:
  - GEOIP,CN,DIRECT          # 国内 IP 直连
  - DOMAIN-SUFFIX,cn,DIRECT  # .cn 域名直连
  - MATCH,PROXY              # 其余走代理

机场订阅通常已内置成熟规则集(如 GeoIP/GeoSite 规则),开箱即用。自建则可引入社区维护的规则集。

六、常见问题排查

现象可能原因处理
连上但打不开网站DNS 污染客户端开启 fake-ip / DoH,DNS 用境外解析
全部节点超时节点 IP 被封更换节点/机房;自建则换 IP
时通时断协议特征被识别/限速换 Reality 或 Hysteria2
国内网站也变慢没做分流,全局代理切换规则模式、加 GEOIP,CN,DIRECT
iOS 连不上App 不走系统代理用 TUN 类客户端,别手动设 HTTP 代理
UDP 游戏/通话异常协议不支持 UDP 或被 QoS选支持 UDP 的协议(Hysteria2/TUIC)

七、安全与隐私

  • 机场即中间人:你的明文流量在节点处解密,选商家等于选信任对象,敏感操作仍要靠 HTTPS/端到端加密。
  • 自建更可信,但 VPS 商家依然能看到流量元数据;真正匿名需求请用 Tor。
  • 不要在公共/不信任的代理上登录重要账号、做转账等操作。
  • 定期更换 UUID / 密码,开启服务器防火墙,最小化对外暴露端口。

参考

在 GitHub 上编辑此页

科学上网跨平台详解:iOS / Android / Windows / macOS / Linux
https://asharca.github.io/cross-the-wall/
作者
Ashark
发布于
2026年6月15日
许可协议