Shadowrocket 实现 iOS 链式代理:VPS 中转住宅 IP
我这次要解决的是一个很具体的问题:iPhone 直接连住宅 IP,经常慢、断、甚至根本连不上;但如果先走一个稳定 VPS,再从 VPS 转到住宅 IP,成功率会高很多。
在 Shadowrocket 里,这个功能叫 relay。最终效果是:iPhone -> VPS 节点 -> 住宅 IP -> 目标网站,网站看到的是住宅 IP。
先说结论
如果你只是普通刷网页,不需要链式代理,直接用一个稳定节点就行。
如果你要做跨境账号环境、AI 服务访问、App Store 区域账号、社媒运营环境隔离,尤其是目标平台对机房 IP 比较敏感,那这套方案更适合:
iPhone
↓
Shadowrocket
↓
第一层:VPS / Reality / Trojan / VLESS
↓
第二层:住宅 SOCKS5 或 HTTP Proxy
↓
目标网站
我的判断是:链式代理不是为了“更快”,而是为了“出口更像真实用户”。速度会比单节点慢一点,但身份更干净。
最新信息核验
我写这篇时重新查了一遍公开页面,时间是 2026-05-25:
- Shadowrocket 在美区 App Store 仍然是付费 App,页面标价
2.99 美元,开发者是Shadow Launch Technology Limited。 - App Store 页面写得很明确:Shadowrocket 是规则代理工具,支持 iPhone、iPad、Mac、Apple TV,可以捕获并转发 HTTP/HTTPS/TCP 流量,也支持多级转发代理、DoH、DoT、DoQ。
- App Store 版本记录里也提醒:Shadowrocket 本身不提供代理服务或服务器资源,用户需要自己准备配置。
- Proxy-Seller 的住宅代理文档显示,住宅代理常见连接方式是
host + port + login + password,类型支持 HTTPS / SOCKS5,并且可以通过用户名后缀控制国家、城市、ISP、会话保持时间。
官方链接:
- Shadowrocket App Store:https://apps.apple.com/us/app/shadowrocket/id932747118
- Proxy-Seller 住宅代理文档:https://docs.proxy-seller.com/residential-proxy/connect-and-target-via-login
- 住宅 IP 购买入口:https://proxy-seller.com/zh/?partner=PVYAOBD3FU2Y0I
注意:Shadowrocket 在不同区的 App Store 可见性、价格、版本可能会变,以 App Store 实际页面为准。
我的实操环境
这里先把环境写清楚,后面你排错才有参照。
- 设备:iPhone【待补充型号】,iOS【待补充版本】
- 客户端:Shadowrocket,美区 Apple ID 下载
- 第一层节点:日本 VPS,协议用 Reality / Trojan / VLESS 均可
- 第二层节点:美国住宅 IP,协议用 SOCKS5 或 HTTP Proxy
- 目标结果:浏览器访问
ipinfo.io,出口显示为住宅 ISP,而不是云服务器机房 - 成本:Shadowrocket 约 2.99 美元;住宅 IP 套餐价格按服务商实时页面算【待补充实际金额】
- 耗时:如果节点信息都准备好了,10-20 分钟能配完;第一次排错可能要 30 分钟以上
适合谁,不适合谁
适合:
- 需要 iPhone 端稳定使用住宅 IP 的人。
- 已经有 VPS 节点,但住宅 IP 直连容易失败的人。
- 需要把 TikTok、X、Telegram、AI 工具、支付或注册环境做得更一致的人。
- 能接受手动编辑 Shadowrocket 配置的人。
不适合:
- 只想一键连接、不想看配置文件的人。
- 对延迟特别敏感的游戏场景。
- 不知道自己的住宅代理是否允许二次转发的人。
- 用来批量注册、垃圾营销、撞库、欺诈、绕过平台风控做违规操作的人。这类用途不建议碰。
准备工作
你至少要准备两个节点。
| 节点 | 作用 | 推荐协议 | 备注 |
|---|---|---|---|
| 第一层代理 | 负责从 iPhone 稳定出境 | Reality / VLESS / Trojan / Shadowsocks / WireGuard | 推荐自建或长期稳定节点 |
| 第二层代理 | 负责最终出口身份 | SOCKS5 / HTTP Proxy | 推荐住宅 IP,最好支持账号密码认证 |
住宅 IP 服务商通常会给你这些信息:
HOST
PORT
USERNAME
PASSWORD
如果是 Proxy-Seller 这类网关型住宅代理,可能不是固定 IP,而是类似:
host: res.proxy-seller.com
port: 10000
username: xxx_c_US_s_100_ttl_30m
password: yyy
这里的关键是用户名后缀。比如 _c_US 指定美国,_s_100 表示会话 ID,_ttl_30m 表示保持 30 分钟。不同服务商写法不一样,不要照抄,按后台文档来。
第一步:先添加 VPS 节点
打开 Shadowrocket:
首页 -> 右上角 + -> 选择协议
如果你的第一层是 Reality / VLESS,就正常填:
- 地址
- 端口
- UUID / 密码
- TLS / Reality 参数
- SNI / Public Key / Short ID
保存以后,先单独点这个节点测试。
这一步不要急着链式。先保证 VPS 自己能通,否则后面的住宅 IP 再干净也没用。
第二步:添加住宅 IP 节点
再次点击:
首页 -> 右上角 + -> Type
常见选择:
Socks5HTTP
按服务商给你的信息填写:
| Shadowrocket 字段 | 填什么 |
|---|---|
| Address | 住宅代理 HOST |
| Port | 住宅代理 PORT |
| User | USERNAME |
| Password | PASSWORD |
保存后,也可以单独测试一次。
但这里有个现实情况:很多住宅代理在国内网络下直连会失败,这不代表住宅 IP 一定坏了。它可能本来就需要先经过第一层 VPS 才能稳定连上。
第三步:创建 Relay 链式代理
Shadowrocket 的链式代理核心在配置文件里,不是在普通节点页面点几下就完事。
进入:
配置 -> 选择正在使用的配置文件 -> 编辑配置
找到:
[Proxy Group]
添加一行:
链式代理 = relay, VPS节点, 住宅IP
这里顺序非常重要。
正确顺序是:
relay, VPS节点, 住宅IP
意思是先走 VPS,再走住宅 IP。
不要写成:
relay, 住宅IP, VPS节点
这样最终出口会变成 VPS,住宅 IP 的意义就没了。
第四步:让规则走链式代理
如果你希望所有流量都走这条链,在 [Rule] 最后加:
FINAL,链式代理
如果你只想让部分域名走链式代理,可以写得更细:
DOMAIN-SUFFIX,openai.com,链式代理
DOMAIN-SUFFIX,anthropic.com,链式代理
DOMAIN-SUFFIX,x.com,链式代理
DOMAIN-SUFFIX,tiktok.com,链式代理
FINAL,DIRECT
我更建议新手先用 FINAL,链式代理 验证通路,确认成功后,再改成按域名分流。
完整配置示例
假设:
- 第一层叫
日本VPS - 第二层叫
美国住宅 - 最终策略组叫
链式代理
配置可以写成这样:
[Proxy]
日本VPS = trojan, xxx.xxx.xxx.xxx, 443, password=123456, sni=example.com
美国住宅 = socks5, res.proxy-seller.com, 10000, username, password
[Proxy Group]
链式代理 = relay, 日本VPS, 美国住宅
[Rule]
FINAL,链式代理
真实配置里,日本VPS 和 美国住宅 这两个名字必须和你 Shadowrocket 里的节点名称完全一致。中文、空格、大小写都要对上。
第五步:打开关键设置
进入:
Shadowrocket -> 设置
我会重点看这几个地方。
1. DNS 尽量远程解析
建议打开远程 DNS,常用写法:
1.1.1.1
8.8.8.8
如果你访问的是对 DNS 很敏感的平台,DNS 和出口 IP 国家不一致,很容易触发风控。比如 IP 是美国,DNS 却是中国,这种环境很别扭。
2. IPv6 先关掉
很多住宅代理不支持 IPv6,或者只处理 IPv4。
如果你打开 IPv6,可能出现:
- IP 检测显示两个国家
- DNS 泄漏
- App 里能打开,浏览器检测结果不一致
- 某些平台一直要求验证
第一次配置时,我建议先关闭 IPv6。跑通后再按需要开启。
3. UDP Relay 按需开启
Telegram、Discord、游戏、语音类 App 对 UDP 更敏感。
如果你只是访问网页、AI 工具、后台系统,不一定要开。开了以后如果变慢,可以再关掉测试。
第六步:验证是否成功
打开 Safari,依次访问:
https://ipinfo.io
https://browserleaks.com/dns
https://ipleak.net
重点看三件事:
- IP 国家是不是你购买的住宅 IP 国家。
- ISP 是否像家庭宽带、移动运营商、住宅网络,而不是
Amazon、Google Cloud、DigitalOcean、Vultr这类机房。 - DNS 国家是否和出口 IP 大体一致。
成功结果应该接近这样:
IP:美国
ISP:Comcast / AT&T / T-Mobile / Verizon 这类住宅或移动运营商
DNS:美国或接近出口所在地
如果 IP 显示的是日本 VPS,那说明 relay 顺序写错了,或者规则没有命中链式代理。
踩坑记录
1. 节点名写错,一个空格都不行
Shadowrocket 的配置里,relay, 日本VPS, 美国住宅 用的是节点名称。
如果节点列表里实际叫 日本 VPS,中间多了一个空格,配置写 日本VPS 就匹配不上。
我建议节点名先写简单一点:
jp-vps
us-res
配置也跟着写:
链式代理 = relay, jp-vps, us-res
2. 住宅代理不允许二次代理
有些便宜住宅 IP 不支持被上游节点转发,表现是:
- 单独测试住宅节点偶尔能通;
- relay 后完全不能联网;
- 网页提示 TLS 失败;
- 速度慢到像断网。
这种不要一直改 Shadowrocket。先问服务商是否支持 SOCKS5/HTTP 上游转发,或者换一个网关型住宅代理测试。
3. DNS 泄漏比 IP 错更隐蔽
很多人只看 ipinfo.io,看到美国 IP 就觉得成功了。
但如果 DNS 检测显示中国、本地运营商,平台还是能判断环境不一致。
我的处理顺序是:
- 关闭 IPv6。
- 开远程 DNS。
- 换成 DoH/DoT。
- 重新连接 Shadowrocket。
- 清理目标 App 缓存或重新安装。
4. 住宅 IP 频繁变化,账号环境会漂
动态住宅 IP 不是越频繁越好。
如果你是登录账号、支付、订阅、KYC、长期运营账号,出口 IP 一会儿纽约、一会儿洛杉矶、一会儿达拉斯,反而容易出问题。
能固定会话就固定会话。比如 Proxy-Seller 文档里的 _s_100_ttl_30m 这类 session / ttl 写法,就是为了让同一段时间内尽量使用同一个出口。
5. 速度慢不一定是 VPS 问题
链式代理慢,可能有三个瓶颈:
- iPhone 到 VPS 慢;
- VPS 到住宅网关慢;
- 住宅 IP 本身质量差。
排查时不要一起测。先单测 VPS,再测住宅,再测 relay。哪一段慢,问题就在那一段。
进阶:只让指定域名走住宅 IP
如果你的目标只是某几个平台,没有必要让所有流量都走住宅。
可以这样写:
[Rule]
DOMAIN-SUFFIX,openai.com,链式代理
DOMAIN-SUFFIX,chatgpt.com,链式代理
DOMAIN-SUFFIX,anthropic.com,链式代理
DOMAIN-SUFFIX,claude.ai,链式代理
DOMAIN-SUFFIX,x.com,链式代理
FINAL,DIRECT
这样普通网页直连或走其他策略,只有指定域名走住宅链路。
但 iOS 上按 App 精准分流并不总是可靠,很多 App 会调用多个域名、CDN、API。真的要做账号环境,还是建议按域名检测日志慢慢补规则。
我更推荐的组合
我现在更倾向这套:
Reality / VLESS VPS -> SOCKS5 住宅 IP
原因很简单:
- Reality / VLESS 适合做第一层出境,中转稳定。
- SOCKS5 住宅代理通用性好,很多服务商都支持。
- Shadowrocket 对多级转发支持比较成熟,iPhone 端不用再额外折腾。
不太推荐:
住宅 IP -> VPS
这个顺序最终出口是 VPS,不适合需要住宅身份的场景。
也不太推荐一开始就搞三层、四层代理。层数越多,排错越麻烦,速度也越不可控。
风险和限制
这套方案解决的是网络路径和出口身份,不是万能解封器。
你还要注意:
- 账号注册地区、手机号、支付卡、设备语言、时区要尽量一致。
- 不要一天内频繁切国家。
- 不要多个账号共用同一个住宅出口做高风险操作。
- 不要买来源不明的超低价住宅 IP。
- 不要拿这套方案做违反平台规则或当地法律的事。
尤其是支付、KYC、订阅类场景,网络只是其中一环。卡、账单地址、手机号、设备记录都会影响结果。
总结
iPhone 上做链式代理,Shadowrocket 的 relay 是最省事的方案。
核心只记住三句话:
- 先保证 VPS 节点单独可用。
- 再添加住宅 SOCKS5/HTTP 代理。
relay顺序必须是VPS -> 住宅 IP。
最后用 ipinfo.io 和 DNS 泄漏检测确认出口。只要最终 IP 是住宅运营商,DNS 没明显漂移,这条链路就算基本跑通了。
后面真正影响稳定性的,反而不是 Shadowrocket,而是住宅 IP 服务商质量、会话保持、以及你账号环境是否一致。
