3.1 KiB
3.1 KiB
Shadowrocket Setup for Cellular Data
The Solution
Since iOS doesn't support HTTP proxy for cellular data, you need to use Shadowrocket VPN mode. Here's how:
Setup Steps
Step 1: Configure Server (Already Done ✅)
- Clash now listens on all interfaces
- Firewall allows Tailscale network (100.x.x.x) only
- Proxy accessible at:
100.70.115.1:7890
Step 2: On Your iPhone
Option A: Use Shadowrocket VPN Mode (Recommended for Cellular)
-
Disable Tailscale VPN:
- Open Tailscale app
- Toggle VPN OFF (but keep app installed/running)
- This frees up the VPN slot for Shadowrocket
-
Configure Shadowrocket:
- Open Shadowrocket
- Go to Home tab
- Tap "+" to add server
- Select HTTP
- Enter:
- Address:
100.70.115.1 - Port:
7890 - Remark:
server2-proxy
- Address:
- Tap Done
-
Enable Shadowrocket:
- Select
server2-proxyin Home tab - Toggle switch ON
- VPN icon should appear in status bar
- Select
-
Test:
- Open Safari
- Visit: https://api.ipify.org
- Should show:
158.101.140.85(server2's IP) - Works on both Wi-Fi and cellular! ✅
How it works:
- Shadowrocket creates a VPN connection
- It routes all traffic (Wi-Fi + cellular) through the proxy
- Traffic goes: iPhone → Shadowrocket VPN → Tailscale network → server2 proxy → Internet
Note: You'll lose direct Tailscale network access (can't SSH to other Tailscale devices), but proxy will work on both Wi-Fi and cellular.
Option B: Keep Tailscale VPN, Use System Proxy (Wi-Fi Only)
If you need Tailscale network access:
- Keep Tailscale VPN ON
- Don't use Shadowrocket VPN mode
- Configure system proxy for Wi-Fi:
- Settings → Wi-Fi → ⓘ → HTTP Proxy → Manual
- Server:
100.70.115.1 - Port:
7890
- Cellular won't work with this method (iOS limitation)
Recommendation
Use Option A (Shadowrocket VPN mode) if you:
- Need proxy on cellular data
- Don't need direct Tailscale network access while using proxy
- Want it to work everywhere
Use Option B (System proxy) if you:
- Only need proxy on Wi-Fi
- Need direct Tailscale network access
- Can live without cellular proxy
Switching Between Modes
You can easily switch:
- Need proxy on cellular? → Disable Tailscale VPN, enable Shadowrocket VPN
- Need Tailscale network? → Disable Shadowrocket VPN, enable Tailscale VPN
- Need both? → Use system proxy on Wi-Fi (but no cellular proxy)
Testing
After setup:
- Turn OFF Wi-Fi (use cellular only)
- Open Safari
- Visit: https://api.ipify.org
- Should show server2's IP:
158.101.140.85 - If it shows your cellular IP, proxy isn't working
Troubleshooting
Proxy not working on cellular?
- Make sure Shadowrocket VPN is enabled (VPN icon in status bar)
- Check that server2 is online:
ssh server2 'sudo systemctl status clash-meta' - Verify Tailscale network is reachable (even with VPN off, the network should exist)
Can't reach other Tailscale devices?
- That's expected when Shadowrocket VPN is on
- Disable Shadowrocket VPN and enable Tailscale VPN when you need direct access