Files
server-deploy/vps-xray/client-macos.md

281 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# macOS 客户端使用指南
> 本文档说明如何在 macOS 上使用 V2BOX 或 NekoRay 接入自建的 Xray VLESS-Reality 代理。
---
## 准备工作
部署完成后,服务端脚本会输出类似以下内容的 VLESS 分享链接,**请提前保存**
```
vless://<UUID>@<VPS_IP>:443?encryption=none&flow=xtls-rprx-vision&security=reality&sni=www.microsoft.com&fp=chrome&pbk=<PublicKey>&sid=<ShortId>&type=tcp#VPS-Reality
```
如已遗失,可在 VPS 上执行以下命令重新查看 `.env` 文件:
```bash
cat /opt/vps-xray/.env
```
---
## 方案一V2BOX推荐
V2BOX 是免费的 iOS / macOS 原生客户端,界面友好,完整支持 VLESS + Reality。
### 下载
V2BOX 为闭源应用,**仅通过 App Store 官方分发**,无 GitHub 仓库,请勿从第三方渠道下载以避免安全风险。
- **Mac App Store**[V2Box - V2ray Client](https://apps.apple.com/app/v2box-v2ray-client/id6446814690)开发者Oddba11
- **iOS / iPadOS** 同一链接iPhone / iPad 均可安装
- 需要 macOS 12 Monterey 或更高版本
> **⚠️ 中国大陆 Apple ID 无法下载**
> Apple 已将代理类 App 从中国区 App Store 下架,使用中国大陆账号搜索不到 V2BOX。
> 需要切换到**非中国大陆地区的 Apple ID**(如美区、港区、台区)才能搜索并安装。
>
> **获取非中国区 Apple ID 的方式:**
> 1. 注册一个新 Apple ID注册时将"国家/地区"选为**美国**或**香港**(无需信用卡,可选"无"付款方式)
> 2. 在 App Store → 点击右上角头像 → 退出登录 → 用非中国区账号重新登录
> 3. 搜索并下载 V2BOX 后,可切回原中国区 Apple ID已安装的 App 不受影响
### 导入方式一:粘贴 VLESS 链接(最快)
1. 复制服务端输出的 `vless://` 链接
2. 打开 V2BOX → 点击右上角 **+** → 选择 **Import from Clipboard**
3. 链接自动解析后点击 **Save**
4. 回到主界面,点击刚添加的节点旁的 **Connect** 开关,等待变绿
### 导入方式二:扫描二维码
1.`vless://` 链接粘贴到任意二维码生成网站(如 [qr-code-generator.com](https://www.qr-code-generator.com/))生成图片
2. V2BOX → **+** → **Scan QR Code** → 用摄像头扫描
### 导入方式三:手动填写
1. V2BOX → **+** → **Add Config** → 选择 **VLESS**
2. 按下表填写各字段:
| 字段 | 值 |
|------|----|
| Address | `<VPS_IP>` |
| Port | `443` |
| UUID | `<UUID>` |
| Flow | `xtls-rprx-vision` |
| Transport | `TCP` |
| Security | `Reality` |
| SNI | `www.microsoft.com`(或部署时输出的实际值) |
| Fingerprint | `chrome` |
| PublicKey | `<PublicKey>` |
| ShortId | `<ShortId>` |
3. 点击右上角 **Save**
### 连接与代理模式
V2BOX 在 macOS 上通过系统 **VPN 扩展**Network Extension工作而非传统的 HTTP/SOCKS 系统代理,因此在"系统设置 → 网络"中不会看到代理条目,而是会多出一个 VPN 连接。
**首次连接步骤:**
1. 在节点列表中点击要使用的节点,确认已选中(节点行高亮)
2. 点击主界面底部的大按钮(或顶部的开关)开始连接
3. macOS 首次使用时会弹出提示:**"V2BOX 想要添加 VPN 配置"**,点击 **允许** 并通过 Face ID / 密码确认
4. 状态变为已连接后即可使用
**切换代理模式:**
主界面底部有模式切换(不同版本位置略有差异,也可在"设置"或"更多"中找到):
| 模式 | 说明 |
|------|------|
| `Rule`(规则) | 按内置规则分流,国内直连、国外走代理,**日常推荐** |
| `Global`(全局) | 全部流量走代理 |
| `Direct`(直连) | 全部直连,相当于关闭代理 |
> 若连接后在主界面找不到模式切换,可进入 **Settings设置** 查找 **Proxy Mode** 或 **Route Mode** 选项。
### 只加速国外网站(国内直连)
这是日常最推荐的使用方式:国内网站走本地网络(速度快、不占用 VPS 流量),国外网站自动走代理。
#### 第一步:导入分流规则
复制以下完整链接(包含 `v2box://` 开头):
```
v2box://routes?multi=W3sicmVtYXJrIjoi55u06L+eIiwibGlzdElQIjpbImdlb2lwOkNOIiwiZ2VvaXA6cHJpdmF0ZSJdLCJtYXRjaE1vZGUiOiJrZXl3b3JkIiwidGFnIjoiZGlyZWN0IiwidHlwZSI6IklQIiwiaXNFbmFibGUiOnRydWUsImxpc3QiOlsiZ2Vvc2l0ZTpjbiIsImdlb3NpdGU6cHJpdmF0ZSJdLCJuYW1lIjoicm91dGUuMzE4QTk2OEMtMEE0MC00OEY0LUJCNzgtOEEzRTE5RjAwOUYxIn0seyJyZW1hcmsiOiI5R0YiLCJsaXN0SVAiOlsiZ2VvaXA6OTFGIl0sIm1hdGNoTW9kZSI6ImtleXdvcmQiLCJ0YWciOiJwcm94eSIsInR5cGUiOiJJUCIsImlzRW5hYmxlIjp0cnVlLCJsaXN0IjpbImdlb3NpdGU6OTFGIl0sIm5hbWUiOiJyb3V0ZS4wQzU5QTQwOC0xNkY1LTRFMDAtQkYwMC0wRTk1QzQwQzUxRTIifSx7InJlbWFyayI6IuW3peWFtS6j+W3peWFtSIsImxpc3RJUCI6W10sIm1hdGNoTW9kZSI6ImtleXdvcmQiLCJ0YWciOiJibG9jayIsInR5cGUiOiJkb21haW4iLCJpc0VuYWJsZSI6dHJ1ZSwibGlzdCI6WyJjbiIsImNvbS5jbiIsIm5ldC5jbiIsIm5ldCIsImNvbSIsIm5ldCIsImNvbS5jbiJdLCJuYW1lIjoicm91dGUuQzY5RjE4OTAtQ0UxOC00Q0I4LWEwOTAtQjU5QkI4QzQ2QzJkIn1d
```
然后在 V2BOX 中导入:
1. 打开 V2BOX → 底部导航点 **Home**
2. 进入 **Routing路由** 页面
3. 点右上角**导入图标**(⍗ 箭头朝下)
4. 在弹出框中粘贴上方链接 → 点 **Import**
导入成功后会出现三条规则:
| 规则名 | 说明 |
|--------|------|
| 直连(国内) | geoip:CN + geosite:cn国内流量直连 |
| 代理(国外) | 其余流量走 VPS 代理 |
| 阻止(广告) | 屏蔽常见广告域名 |
#### 第二步:设置域名策略(关键)
**Routing** 页面找到 **Domain Strategy域名策略**,下拉选择:
> ✅ **IPIfNonMatch** —— 国内直连最准确,白名单专用
| 选项 | 是否推荐 | 说明 |
|------|---------|------|
| **IPIfNonMatch** | ✅ 推荐 | 域名无法判断时解析 IP 再匹配,准确率最高 |
| AsIs | ❌ 不选 | 仅匹配域名字符串,国内网站可能误走代理 |
| IPOnDemand | ❌ 不选 | 每次都解析 IP耗电且无必要 |
同时确认开启:
-**Enable Routing**(路由总开关)
-**Apple on direct**App Store / iCloud 直连,避免更新走代理)
#### 第三步:连接并验证
1. 回到 **Home**,选择节点后开启连接
2. 验证分流是否正常:
- 访问百度 / 淘宝 / B 站 → IP 应为本地运营商 IP直连
- 访问 [https://www.ip.sb](https://www.ip.sb) → IP 应为 VPS IP走代理
- 访问 Google / YouTube → 能正常打开
**流量消耗提示:**
Rule 模式下,只有境外流量计入 VPS 月流量,国内视频、音乐、购物等不消耗 VPS 带宽,可大幅节省流量配额。
**常见问题:**
- **导入没反应**:确认链接完整(开头 `v2box://` 不能丢),并更新 V2BOX 至最新版
- **国内网站仍走代理**:确认 Domain Strategy 已选 **IPIfNonMatch**,修改后重启连接
### 验证连接
连接后访问 [https://www.ip.sb](https://www.ip.sb),显示的 IP 应为 VPS 的 IP说明代理成功。
---
## 方案二NekoRay
NekoRay 是开源的跨平台图形客户端(基于 Qt适合需要更精细路由控制的用户。
### 下载
- **GitHub Releases**[github.com/MatsuriDayo/nekoray/releases](https://github.com/MatsuriDayo/nekoray/releases)
- 下载文件名含 `macos``.dmg` 包(如 `nekoray-3.x.x-macos.dmg`
- 需要 macOS 11 Big Sur 或更高版本
> **注意**:首次打开时 macOS 可能提示"来自未知开发者",需在
> **系统设置 → 隐私与安全性 → 安全性** 中点击"仍要打开"。
### 导入方式一:粘贴 VLESS 链接
1. 复制 `vless://` 链接
2. NekoRay 菜单栏 → **程序****从剪贴板添加**(或快捷键 `Ctrl+V`
3. 节点出现在列表中,右键 → **启动**
### 导入方式二:手动添加
1. NekoRay 右键空白处 → **新建配置****VLESS**
2. 按下表填写:
| 字段 | 值 |
|------|----|
| 地址 | `<VPS_IP>` |
| 端口 | `443` |
| UUID | `<UUID>` |
| 流控 | `xtls-rprx-vision` |
| 传输层 | `tcp` |
| TLS 类型 | `reality` |
| SNI | `www.microsoft.com` |
| uTLS 指纹 | `chrome` |
| Reality PublicKey | `<PublicKey>` |
| Reality ShortId | `<ShortId>` |
3. 点击 **OK** 保存
### 启用代理
- **系统代理**NekoRay 菜单栏 → **系统代理****启用系统代理**
自动设置 macOS HTTP/SOCKS 代理(端口默认 `2080`
- **TUN 模式**(全局透明代理,需要管理员密码):
菜单栏 → **VPN****启用 TUN**
适合需要代理所有应用流量(包括不走系统代理的 CLI 工具)的场景
### 路由模式
菜单栏 → **路由** 可切换:
| 模式 | 说明 |
|------|------|
| 绕过局域网和中国大陆 | 国内直连,推荐日常使用 |
| 绕过局域网 | 仅局域网直连,其余全走代理 |
| 全局代理 | 所有流量走代理 |
---
## 常见问题
### 连接后网页无法打开
1. 确认节点状态显示"已连接"
2. 检查系统代理是否生效:**系统设置 → Wi-Fi → 详细信息 → 代理**,应能看到 HTTP/SOCKS 代理条目
3. 访问 [http://www.ip.sb](http://www.ip.sb) 测试(注意用 http 而非 https部分情况下更直接
### 速度慢
- 在客户端切换到延迟最低的节点(如有多节点)
- 确认 Flow 设置为 `xtls-rprx-vision`(避免双重加密导致性能下降)
- 尝试切换路由模式为**绕过局域网和中国大陆**,减少不必要的代理流量
### 提示 "TLS handshake failed" 或连接超时
- 检查 PublicKey、ShortId、SNI 是否与服务端完全一致
- 检查 VPS 443 端口防火墙是否开放:`ss -tlnp | grep 443`
- 检查服务端 Xray 是否正常运行:`systemctl status xray`
### macOS 15+ 系统代理不生效
macOS Sequoia15+)对系统代理权限有更严格限制:
- 使用 **TUN 模式**代替系统代理(需要管理员授权)
- 或改用 **Proxifier** 等工具强制指定应用走 SOCKS5 代理(`127.0.0.1:1080`
---
## 两款客户端对比
| 特性 | V2BOX | NekoRay |
|------|-------|---------|
| **安装方式** | App Store 一键安装 | GitHub 手动下载 DMG需绕过 Gatekeeper |
| **系统要求** | macOS 12 Monterey+ | macOS 11 Big Sur+ |
| **iOS 支持** | ✅ 同一 App Store 链接 | ❌ 无 iOS 版 |
| **界面风格** | 简洁,移动端原生风格 | 桌面程序风格,信息更丰富 |
| **代理内核** | 内置(闭源) | 可选 Xray-core 或 v2fly-core |
| **VLESS Reality** | ✅ | ✅ |
| **VMess / Trojan / SS** | ✅ | ✅ |
| **TUN 模式** | ✅(全局透明代理) | ✅(全局透明代理) |
| **系统代理** | ✅ 自动设置 | ✅ 自动设置,端口可自定义 |
| **路由规则** | 内置预设CN 直连/全局),不可自定义 | 支持自定义规则集,可加载 geoip / geosite |
| **多节点管理** | 基础列表 | 支持分组、批量导入订阅链接 |
| **订阅链接** | ✅ 支持 | ✅ 支持 |
| **日志 / 调试** | 简单状态显示 | 详细日志面板,便于排查问题 |
| **开源** | ❌ 免费但不开源 | ✅ GPL-3.0[github.com/MatsuriDayo/nekoray](https://github.com/MatsuriDayo/nekoray) |
| **维护状态** | 持续更新 | 原仓库已归档(停止维护),建议评估替代方案 |
| **适合人群** | 普通用户,快速上手 | 进阶用户,精细控制 |
### 选择建议
- **只需快速可用**:选 **V2BOX**App Store 安装,粘贴链接即用,维护活跃。
- **需要自定义路由 / 多节点管理**:选 **NekoRay**(注意原项目已停止维护,可关注社区 fork
- **同时使用 iPhone**:选 **V2BOX**iOS / macOS 共用同一 App配置可通过 iCloud 同步。
- **在意开源审计**:选 **NekoRay**,代码公开可查。