How to Configure Shadowrocket on iOS: Complete Setup and Optimization Guide
Shadowrocket is an iOS proxy client that supports Shadowsocks, ShadowsocksR, and VMess protocols, which you configure by installing the app from the global App Store, importing a subscription URL into the Server Subscriptions section, and toggling the VPN connection.
This guide walks through configuring Shadowrocket based on the official documentation in the bannedbook/fanqiang repository. Whether you are connecting to a V2Ray airport or a private Shadowsocks server, the steps below cover installation, subscription import, troubleshooting, and performance tuning.
Installation and Availability
Because Shadowrocket is removed from the Chinese App Store, you must obtain it using a global Apple ID. According to ios/AppleID.md in the source repository, download the latest version directly from the App Store and upgrade if you have an older build installed [8†L7-L9].
Obtaining a Subscription URL
Shadowrocket imports subscription links that contain one or many proxy node configurations. Register with your preferred V2Ray provider (or use free subscription sources listed in v2ss/免费ss账号.md) and copy the subscription URL [34†L34-L38]. Treat this URL as sensitive credentials—it grants access to your proxy nodes [44†L44-L45].
Importing Your Subscription into Shadowrocket
Based on the procedures documented in ios/Shadowrocket.md, follow these steps to import your server list:
- Launch Shadowrocket and tap Settings.
- Scroll to Server Subscriptions and enable "Update on open" to ensure the list refreshes automatically each time you launch the app [46†L48] [50†L51].
- Return to the home screen, tap the + button, and select Subscribe as the type [54†L56].
- Enter a descriptive name (for example, My V2Ray Server) and paste your subscription URL into the URL field [58†L60].
- Save—the app fetches the node list immediately [62†L63].
You can manually refresh the subscription at any time by tapping the "i" icon next to the subscription entry and confirming the update [64†L66].
Connecting to Proxy Nodes
Once imported, select a node from the server list on the home screen. Toggle the "Not Connected" switch to On to initiate the VPN connection [67†L68]. iOS will prompt you to allow the VPN configuration on first use.
Manual Node Configuration
If you need to add a single node manually instead of using a subscription, use the ss:// URI format in the URL field:
ss://aes-256-cfb:password@server.example.com:8388?plugin=obfs-local;obfs=http;obfs-host=example.com#MyShadowrocketNode
Replace password, server.example.com, and the obfuscation parameters with values supplied by your provider.
Troubleshooting Common Issues
When connectivity fails or the app behaves unexpectedly, apply these fixes from the repository's troubleshooting section:
- VPN toggle bug: If the connection toggle becomes unresponsive, close the iOS VPN settings panel completely, then return to Shadowrocket [22†L23].
- App freeze: If the interface locks up, restart your iPhone and relaunch Shadowrocket [24†L25].
Advanced Configuration: Split-Routing Rules
Shadowrocket includes basic split-routing, but you can load sophisticated rule sets for finer control over which domains route through the proxy. This improves speed for domestic sites while ensuring foreign traffic uses the tunnel.
- Navigate to the Config tab and tap + to add a new configuration file [89†L91].
- Enter the remote URL:
https://raw.githubusercontent.com/Hackl0us/Surge-Rule-Snippets/master/LAZY_RULES/Shadowrocket.conf[91†L92]. - After download, select Use Config to apply the rule set [93†L94].
- Change the Global Route mode from Proxy to Config [97†L99].
These rules automatically distinguish between domestic and international traffic, routing only necessary requests through your proxy nodes.
Optimizing Performance
To ensure you are using the fastest available server, adjust the latency testing method:
- Go to Settings → Latency Test and change the method to CONNECT [103†L106].
- Return to the home screen and run a Connectivity Test to sort nodes by latency [107†L108].
Select the node with the lowest latency for optimal browsing speeds.
Summary
- Shadowrocket supports Shadowsocks, ShadowsocksR, and VMess protocols and requires a global App Store account to install.
- Import servers via subscription URLs in Settings → Server Subscriptions, enabling automatic updates for convenience.
- Resolve common iOS VPN issues by closing system settings or restarting the device.
- Enhance routing precision by loading third-party rule configurations from remote URLs.
- Optimize connection speeds using the CONNECT latency test method and connectivity testing tools.
Frequently Asked Questions
Why can't I find Shadowrocket in the App Store?
Shadowrocket is unavailable in the Chinese App Store due to regional restrictions. You must use a global Apple ID (such as US, UK, or HK region) to purchase and download the application [8†L7-L9].
How do I update my server list automatically?
Enable "Update on open" in Settings → Server Subscriptions. This triggers an automatic refresh each time you launch Shadowrocket, ensuring your node list stays current without manual intervention [50†L51].
What is the difference between Global Route and Config mode?
Global Route forces all traffic through the proxy, while Config mode applies split-routing rules that direct domestic traffic outside the VPN and international traffic through it. Config mode improves performance for local services while maintaining access to blocked content [97†L99].
Can I use Shadowrocket without a subscription URL?
Yes. You can manually add individual nodes by tapping the + button on the home screen and entering server details directly, or by pasting a standard ss:// or vmess:// URI into the import field [58†L60].
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →