4.7 KiB
Shadowrocket Correct Setup - Working with Tailscale
Understanding Shadowrocket Architecture
Shadowrocket works as a local proxy server on your iPhone:
- Apps connect to Shadowrocket's local proxy (127.0.0.1:80)
- Shadowrocket forwards traffic to your configured server (server2)
- This way it doesn't need VPN mode!
Step-by-Step Setup
Step 1: Add Server2 as a Server (NOT in Proxy Settings)
- Open Shadowrocket app
- Go to the "Home" tab (house icon at bottom)
- Tap the "+" button in the top right corner
- Select "HTTP" or "HTTPS"
- Fill in:
- Remark:
server2-proxy - Address:
100.70.115.1(your Tailscale IP) - Port:
7890(HTTP) or7892(Mixed) - Username: (leave empty)
- Password: (leave empty)
- Remark:
- Tap "Done"
Step 2: Enable the Server
- Go back to "Home" tab
- You should see
server2-proxyin the server list - Tap on it to select it
- Toggle the switch at the top to ON
Step 3: Configure Proxy Settings (What You Saw)
The "Proxy Settings" you saw (127.0.0.1:80) is Shadowrocket's local proxy that apps connect to. You can configure it:
- Go to "Settings" tab (gear icon)
- Tap "Proxy"
- In "Proxy Settings" section:
- Proxy Type: HTTP (or leave as is)
- Proxy Port:
80(or any port, this is local) - Proxy Address:
127.0.0.1(localhost - this is correct)
Important: These settings are for Shadowrocket's LOCAL proxy. Your apps will connect to this, and Shadowrocket will forward to server2.
Step 4: Configure Apps to Use Shadowrocket's Local Proxy
Now you need to tell your apps to use Shadowrocket's local proxy:
Option A: System-Wide (Limited)
- Settings → Wi-Fi
- Tap ⓘ next to your Wi-Fi
- Scroll to HTTP Proxy
- Select Manual
- Enter:
- Server:
127.0.0.1(orlocalhost) - Port:
80(or whatever you set in Proxy Settings)
- Server:
- Save
Option B: Use Shadowrocket's VPN Mode (But Configured Correctly)
Actually, Shadowrocket's "VPN mode" is how it intercepts traffic. Here's the trick:
- In Shadowrocket "Home" tab
- Make sure your
server2-proxyis selected - Toggle the switch ON
- This will create a VPN connection BUT it's Shadowrocket's VPN, not a conflict
- Shadowrocket's VPN intercepts traffic and routes it through server2
The key: Shadowrocket's VPN mode is fine - it's a different VPN than Tailscale. However, iOS only allows ONE VPN at a time, so:
Solution: Use Shadowrocket's VPN Mode (Disable Tailscale VPN)
Since iOS only allows one VPN:
- Disable Tailscale's VPN mode (but keep Tailscale app running for network access)
- Enable Shadowrocket's VPN mode
- Shadowrocket will route through Tailscale's network to reach server2
Wait - that won't work because Tailscale needs VPN mode to provide network access...
Better Solution: Use Proxy Chain Feature
Looking at your screenshot, I see "Proxy Chain" option! This might be the solution:
- Go to Settings → Proxy Chain
- Enable "Enable Chain" toggle
- Configure:
- Type: HTTP
- Address:
100.70.115.1 - Port:
7890
- This might allow Shadowrocket to use Tailscale's network without VPN conflict
Recommended Approach
Based on your screenshots, here's what to do:
Method 1: Use Proxy Chain (Try This First)
- Keep Tailscale VPN ON
- In Shadowrocket:
- Go to Settings → Proxy Chain
- Enable "Enable Chain"
- Set Type: HTTP, Address:
100.70.115.1, Port:7890
- In Shadowrocket Home tab:
- Add a "Direct" or "Reject" server (or use existing)
- Enable Shadowrocket
- Configure apps to use Shadowrocket's local proxy (127.0.0.1:80)
Method 2: Use Shadowrocket VPN Mode (Disable Tailscale)
- Disable Tailscale VPN (but app can stay installed)
- In Shadowrocket Home tab:
- Add server2:
100.70.115.1:7890 - Enable Shadowrocket VPN mode
- Add server2:
- Shadowrocket will handle routing
Problem: You'll lose direct Tailscale network access, but proxy will work.
Method 3: Use System Proxy Settings
- Keep Tailscale ON
- Don't use Shadowrocket VPN mode
- Configure system proxy:
- Settings → Wi-Fi → ⓘ → HTTP Proxy → Manual
- Server:
100.70.115.1 - Port:
7890
- This works for some apps but not all
Testing
After setup:
- Open Safari
- Visit: https://api.ipify.org
- Should show:
158.101.140.85(server2's IP)
Which Method Should You Use?
Try Proxy Chain first - it might allow both Tailscale and Shadowrocket to work together!
If that doesn't work, you'll need to choose:
- Tailscale VPN = Direct network access, but no proxy
- Shadowrocket VPN = Proxy works, but no direct Tailscale network
Let me know which method works for you!