Files
nas-tools/shadowrocket_proxy_mode_guide.md
T

4.0 KiB

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)
  1. 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:
# 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