# Shadowrocket Proxy Mode Setup Guide ## Understanding Shadowrocket Modes Shadowrocket has two main modes: 1. **VPN Mode (TUN Mode)** - Creates a VPN connection (conflicts with Tailscale) 2. **Proxy Mode** - Routes traffic through proxy without VPN (works with Tailscale) ✅ **Use This!** ## Reference Article For additional details, see: https://privateproxy.me/blog/how-to-use-proxies-with-shadowrocket/ ## Step-by-Step: Enable Proxy Mode ### Step 1: Install Shadowrocket - Download from App Store (~$3) - Open the app ### Step 2: Add Your Proxy Server 1. Open Shadowrocket app 2. Tap the **"+"** button in the top right corner 3. You'll see different server types - select **"HTTP"** or **"HTTPS"** ### Step 3: Configure Proxy Settings Fill in the details: - **Type:** HTTP (or HTTPS) - **Remark:** `server2-proxy` (or any name you prefer) - **Address:** `100.70.115.1` (your Tailscale IP) - **Port:** `7890` (HTTP) or `7892` (Mixed port) - **Username:** (leave empty) - **Password:** (leave empty) - **Method:** (leave as default) 4. Tap **"Done"** or **"Save"** ### Step 4: Enable Proxy Mode (NOT VPN Mode) **This is the critical step!** 1. In Shadowrocket main screen, you'll see your proxy server listed 2. Tap on your proxy server to select it 3. **Important:** Look for these settings: **Option A: Global Routing Mode** - Tap the three dots (⋯) or "Edit" next to your proxy - Look for **"Routing"** or **"Mode"** setting - Select **"Proxy"** or **"Global Proxy"** (NOT "VPN" or "TUN") **Option B: Settings Menu** - Go to **Settings** (gear icon at bottom) - Find **"Proxy"** or **"Routing"** section - Enable **"Use Proxy"** - Make sure **"VPN" mode is OFF** or **"TUN" mode is OFF** - Select **"Proxy Mode"** instead ### Step 5: Enable the Connection 1. Go back to main screen 2. Find the toggle switch at the top 3. **Toggle it ON** 4. You should see a checkmark next to your proxy server 5. **Important:** You should NOT see a VPN icon in status bar (that means VPN mode is active) ### Step 6: Verify It's Working in Proxy Mode **Check for VPN icon:** - ✅ **Correct:** No VPN icon in status bar = Proxy mode active - ❌ **Wrong:** VPN icon appears = VPN mode active (will conflict with Tailscale) **Test the connection:** 1. Open Safari 2. Visit: https://api.ipify.org 3. Should show: `158.101.140.85` (server2's IP) ## Alternative: Using Configuration File If the UI is confusing, you can use a config file: 1. In Shadowrocket, tap **"Config"** tab at bottom 2. Tap **"+"** to add new config 3. Create a config with: ```yaml # Shadowrocket Config [Proxy] server2 = http, 100.70.115.1, 7890 [Rule] FINAL,server2 ``` ## Troubleshooting ### Problem: VPN icon appears (conflicts with Tailscale) **Solution:** - Go to Settings → Routing - Disable "TUN Mode" or "VPN Mode" - Enable "Proxy Mode" only - Restart Shadowrocket ### Problem: Can't connect to proxy **Check:** 1. Is Tailscale connected? (Required to reach 100.70.115.1) 2. Is server2 online? `ssh server2 'sudo systemctl status clash-meta'` 3. Try different port: 7890, 7891, or 7892 ### Problem: Some apps don't work **Solution:** - Some iOS apps ignore system proxy - You may need to use Shadowrocket's VPN mode for those apps - But then you'll need to disable Tailscale temporarily ## Visual Guide Reference Look for these in Shadowrocket: - **"Proxy"** or **"HTTP Proxy"** option (use this) - **"TUN"** or **"VPN"** option (avoid this when Tailscale is on) - **"Global Proxy"** or **"Proxy Mode"** (this is what you want) ## Key Differences | Mode | VPN Icon? | Works with Tailscale? | Use Case | |------|-----------|----------------------|----------| | **Proxy Mode** | ❌ No | ✅ Yes | Use this! | | **VPN Mode** | ✅ Yes | ❌ No | Only when Tailscale is off | ## Quick Checklist - [ ] Tailscale is ON and connected - [ ] Added HTTP proxy: `100.70.115.1:7890` - [ ] Enabled "Proxy Mode" (NOT VPN mode) - [ ] Toggle switch is ON - [ ] No VPN icon in status bar - [ ] Test: Visit https://api.ipify.org shows server2 IP