Files
nas-tools/iphone_proxy_setup.md
T

125 lines
4.1 KiB
Markdown

# iPhone Proxy Setup Guide
## Prerequisites
- ✅ Tailscale installed and connected on iPhone
- ✅ server2 proxy running at `100.70.115.1`
## Option 1: System-Wide Proxy (Limited Support)
iOS has limited system-wide proxy support. This works for some apps but not all browsers.
### Steps:
1. Open **Settings****Wi-Fi**
2. Tap the **ⓘ** icon next to your connected Wi-Fi network
3. Scroll down to **HTTP Proxy**
4. Select **Manual**
5. Configure:
- **Server:** `100.70.115.1`
- **Port:** `7890` (HTTP) or `7892` (Mixed)
- **Authentication:** Off
6. Save
**Note:** This only works when connected to that specific Wi-Fi network. It won't work on cellular or other Wi-Fi networks.
## Option 2: Proxy App (Recommended)
**⚠️ Important: VPN Conflict Solution**
iOS only allows **one VPN connection** at a time. Since Tailscale uses VPN mode, you have two options:
### Solution A: Use Shadowrocket in Proxy Mode (Recommended)
Shadowrocket can work **WITH Tailscale** if configured correctly:
1. **Keep Tailscale ON** (for network access)
2. Install **Shadowrocket** from App Store
3. Open Shadowrocket
4. Tap **+** (Add Server)
5. Select **HTTP** (not VPN mode)
6. Configure:
- **Type:** HTTP
- **Address:** `100.70.115.1` (Tailscale IP)
- **Port:** `7890`
- **Name:** server2-proxy
7. Tap **Done**
8. **Important:** In Shadowrocket settings:
- Go to **Settings****Proxy**
- Enable **"Use Proxy"** but **DO NOT enable VPN mode**
- Or use **"Proxy" mode** instead of **"VPN" mode**
9. Enable the proxy
**How it works:** Shadowrocket routes traffic through the proxy, but uses Tailscale's VPN connection to reach the proxy server. Both work together!
### Solution B: Use Shadowrocket VPN Mode (Disable Tailscale)
If you need Shadowrocket's VPN mode:
1. **Disable Tailscale** temporarily
2. Use Shadowrocket in VPN mode
3. Shadowrocket will handle both VPN and proxy routing
**Note:** You'll lose direct Tailscale network access, but can still reach server2 via proxy.
### Surge (Paid, ~$10)
Similar setup process - supports more advanced features.
### Potatso Lite (Free)
1. Install **Potatso Lite**
2. Add proxy with same settings
## Option 3: Safari Browser Extension
Some browsers support proxy extensions, but iOS Safari doesn't support system proxies well.
## Option 4: Clash Client for iOS
If you want to use Clash directly on iPhone:
### Clash Meta for iOS (Stash)
1. Install **Stash** from App Store (or use TestFlight)
2. Add your server2 as an HTTP proxy
3. Configure routing rules
## Quick Test
After setup, test if proxy is working:
1. Open Safari or your browser
2. Visit: https://api.ipify.org
3. It should show server2's IP: `158.101.140.85` (not your iPhone's IP)
Or visit: http://100.70.115.1:9090/ui to see Clash dashboard
## Recommended Setup
**Best Solution: Use Both Together**
- **Keep Tailscale ON** (for network connectivity)
- Use **Shadowrocket in Proxy mode** (not VPN mode)
- Configure HTTP proxy: `100.70.115.1:7890`
- Shadowrocket will route through Tailscale's connection
- Works on both Wi-Fi and cellular
**Alternative: Use Shadowrocket VPN Mode**
- Disable Tailscale when using Shadowrocket VPN mode
- Shadowrocket handles both VPN and proxy
- You'll need to manually switch between them
## Troubleshooting
### VPN Conflict?
- **If both Tailscale and Shadowrocket show VPN icons:** You can only have one active
- **Solution:** Use Shadowrocket in **Proxy mode** (not VPN mode) while Tailscale is active
- **Or:** Disable Tailscale and use Shadowrocket VPN mode
### Can't connect?
1. Verify Tailscale is connected on iPhone (needed to reach `100.70.115.1`)
2. Check Tailscale status: Open Tailscale app, verify you see "oracle-tokyo" device
3. Test connection: Open Safari, visit `http://100.70.115.1:9090/ui`
4. If dashboard loads, proxy is reachable via Tailscale
### Proxy not working?
1. Check if proxy app is enabled/running
2. Verify server2 is online: `ssh server2 'sudo systemctl status clash-meta'`
3. Try different port: 7890 (HTTP), 7891 (SOCKS5), or 7892 (Mixed)
4. Make sure Tailscale is connected (required to reach the proxy server)