# 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) 1. Open Shadowrocket app 2. Go to the **"Home"** tab (house icon at bottom) 3. Tap the **"+"** button in the top right corner 4. Select **"HTTP"** or **"HTTPS"** 5. Fill in: - **Remark:** `server2-proxy` - **Address:** `100.70.115.1` (your Tailscale IP) - **Port:** `7890` (HTTP) or `7892` (Mixed) - **Username:** (leave empty) - **Password:** (leave empty) 6. Tap **"Done"** ### Step 2: Enable the Server 1. Go back to **"Home"** tab 2. You should see `server2-proxy` in the server list 3. Tap on it to select it 4. 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: 1. Go to **"Settings"** tab (gear icon) 2. Tap **"Proxy"** 3. 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)** 1. Settings → Wi-Fi 2. Tap ⓘ next to your Wi-Fi 3. Scroll to **HTTP Proxy** 4. Select **Manual** 5. Enter: - **Server:** `127.0.0.1` (or `localhost`) - **Port:** `80` (or whatever you set in Proxy Settings) 6. 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: 1. In Shadowrocket **"Home"** tab 2. Make sure your `server2-proxy` is selected 3. Toggle the switch ON 4. **This will create a VPN connection** BUT it's Shadowrocket's VPN, not a conflict 5. 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: 1. **Disable Tailscale's VPN mode** (but keep Tailscale app running for network access) 2. **Enable Shadowrocket's VPN mode** 3. 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: 1. Go to **Settings** → **Proxy Chain** 2. Enable **"Enable Chain"** toggle 3. Configure: - **Type:** HTTP - **Address:** `100.70.115.1` - **Port:** `7890` 4. 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) 1. **Keep Tailscale VPN ON** 2. In Shadowrocket: - Go to **Settings** → **Proxy Chain** - Enable **"Enable Chain"** - Set Type: HTTP, Address: `100.70.115.1`, Port: `7890` 3. In Shadowrocket **Home** tab: - Add a "Direct" or "Reject" server (or use existing) - Enable Shadowrocket 4. Configure apps to use Shadowrocket's local proxy (127.0.0.1:80) ### Method 2: Use Shadowrocket VPN Mode (Disable Tailscale) 1. **Disable Tailscale VPN** (but app can stay installed) 2. In Shadowrocket **Home** tab: - Add server2: `100.70.115.1:7890` - Enable Shadowrocket VPN mode 3. Shadowrocket will handle routing **Problem:** You'll lose direct Tailscale network access, but proxy will work. ### Method 3: Use System Proxy Settings 1. Keep Tailscale ON 2. Don't use Shadowrocket VPN mode 3. Configure system proxy: - Settings → Wi-Fi → ⓘ → HTTP Proxy → Manual - Server: `100.70.115.1` - Port: `7890` 4. This works for some apps but not all ## Testing After setup: 1. Open Safari 2. Visit: https://api.ipify.org 3. 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!