Shadowrocket can use a subscription URL to add server profiles to your iPhone, but importing a profile and routing traffic through it are two separate steps. First obtain the subscription URL from your provider, add it in Shadowrocket, and check that the imported list contains usable profiles. Then select a profile, start the connection, approve iOS’s VPN permission prompt, and verify the result with a few ordinary network checks. Menu names and icons can vary between Shadowrocket versions, so follow the function described here if your screen looks slightly different.
Before You Import: Check the URL and Account
A subscription URL is a private link that lets a compatible client retrieve connection profiles. It is not usually the same thing as your account password, and it may grant access to configuration information associated with your account. Treat it like a credential: do not post it publicly, send it in an open chat, or paste it into a website you do not trust. If you think someone else has obtained the link, check whether your provider lets you reset or refresh it.
Sign in to your provider’s account area and look for the subscription or client-configuration section. Select the option intended for Shadowrocket or for compatible iOS clients, if one is offered. Some services provide a universal subscription URL; others show different links or formats for different clients. Use the URL and format the provider identifies for your setup rather than substituting a dashboard address, a web page URL, or a link copied from an unrelated configuration guide.
Before copying the link, confirm that your account is active and that you are using the current subscription address. A URL copied with a missing character, an extra space, or a line break may fail to import. If the provider displays a copy button, use it when possible. When copying manually, make sure the complete link is selected, including its beginning and end. Avoid sharing screenshots that reveal the full address.
Also confirm that Shadowrocket is installed and opens normally on your iPhone. App availability can depend on your App Store region and current store policies. If you have not installed it, check the official App Store listing for your region; do not rely on an unfamiliar download site or a configuration file supplied by an unknown person. A subscription URL does not install the app and does not, by itself, grant iOS permission to create a VPN connection.
iOS
Target platform
120+
Countries covered by VPNSR
170+
Routes listed by VPNSR
Coverage figures describe the service’s overall selection, not a promise that every route will be suitable for every network, app, or location. The profiles available to you depend on your account and the subscription information currently provided by the service.
Add the Subscription in Shadowrocket
Shadowrocket’s layout can change between releases, but the workflow is generally to add a subscription or configuration source, enter the URL, save it, and update the source so the app can retrieve profiles. The app may label this area as subscriptions, configuration, or a similar term. Look for an add control in the relevant list rather than adding the URL as if it were a single server profile.
- Copy the provider’s subscription URL. Return to your account area, choose the client-compatible subscription option, and copy the complete address. Keep the address private while switching between apps.
- Open Shadowrocket. Go to the screen that manages subscriptions or configuration sources. If the app asks for permission to paste from the clipboard, allow it only when you have just copied the intended link.
- Create a subscription entry. Use the add action and choose the subscription or remote-source option if the app offers more than one kind of entry. A single-node entry and a subscription source serve different purposes.
- Enter and save the URL. Paste the link into the address field. If there is a remarks or name field, use a short label that helps you recognize the source later, without putting the private URL in the label.
- Update or refresh the source. Save the entry and run the app’s update action if retrieval does not start automatically. Wait for the result before leaving the screen. Depending on the source and app version, the refreshed profiles may appear in a server list or under the subscription entry.
- Review the result. Check whether profiles were added and whether the app shows an update or parsing error. If no profiles appear, do not repeatedly paste the same address into different fields; first verify that you selected the subscription option and copied the correct URL.
Subscription refreshes and connection attempts are distinct. A refresh retrieves configuration data; it does not necessarily connect the iPhone. Conversely, a profile already stored in the app may remain visible even when a later refresh fails. If a provider changes its available profiles, update the subscription before assuming that an old entry represents the current route list.
If Shadowrocket offers a way to add a subscription from a system share sheet or clipboard action, the same privacy precautions apply. Confirm that the selected text is the provider’s subscription URL and that the receiving app is Shadowrocket. Do not import a file or URL from an unknown source just because it uses a familiar label.
Choose a Profile and Start the Connection
Once the subscription has loaded, select a profile from the list. Names can contain a region, city, route category, or other provider-defined label. Those labels help distinguish entries, but they do not independently prove the profile’s current speed, availability, or compatibility with a particular website. If the provider publishes selection guidance, use that as the starting point and test the profile with the app you actually intend to use.
For a first connection, keep the test simple. Select one profile, use the app’s main connection control, and wait for Shadowrocket to report that it is connected. Avoid changing several routing or DNS settings at the same time. If the result is unexpected, changing one setting at a time makes it easier to identify whether the issue came from the selected profile, the subscription, or the iPhone’s network.
When iOS displays a prompt asking to add VPN configurations or allow Shadowrocket to add VPN settings, read it and approve it only if you initiated the connection in Shadowrocket and trust the app. iOS requires this system permission so an app can create and manage a VPN configuration. Depending on your device and iOS version, you may need to confirm with Face ID, Touch ID, or your device passcode. The prompt is not a request to share your subscription URL with another person.
After approval, iOS may show a VPN indicator or display the active status in system settings, though the exact presentation depends on the iOS version and device state. A permission approval is not proof that the remote route is reachable; it only authorizes the app to establish the local VPN configuration. Wait for the client’s connection status and then verify traffic separately.
For an overview of service options and supported platforms, see VPN for China. Keep setup guidance and profile selection separate: a service overview can explain what is offered, while a successful connection still depends on the specific profile and your current network.
Verify That Traffic Is Routed Correctly
Do not rely on a single status label. Check several independent signs: Shadowrocket reports an active connection, iOS shows that a VPN configuration is active where applicable, and an app or website behaves as expected. A client can be connected locally while a remote profile is unreachable, and a page loading once does not establish that every app is using the same route.
Start by opening a basic website or another low-risk service you normally use. If Shadowrocket provides connection logs or traffic information, use those tools to see whether requests are being handled. You can also use a reputable IP-checking service to compare the apparent public network location before and after connecting. Avoid entering account credentials or payment details into unfamiliar test pages, and remember that IP checks show only one part of a connection. They do not prove that every app, DNS request, or background service follows the same path.
Next, test the particular app you plan to use. Shadowrocket may offer different routing modes, such as proxying selected traffic or applying a broader proxy rule. The exact names and available controls can vary by version and configuration. In a rule-based setup, some requests may be sent through the proxy while others use a direct route according to the rules. A global-style setting may route a wider range of traffic, but it should not be assumed to capture every kind of device traffic in every circumstance.
Compare behavior with and without the connection only when doing so is appropriate for your network and the service you are testing. If one app fails while ordinary browsing works, the issue may be specific to that app, its rules, or its service. If nothing loads, check whether the profile remains connected, whether the iPhone has a working Wi-Fi or cellular connection, and whether another profile behaves differently. Test one variable at a time and note the result so that you do not mistake a temporary network change for a configuration fix.
- ✅ Confirm Shadowrocket shows an active connection after you select a profile.
- ✅ Check a normal webpage and the specific app you need, rather than relying on the VPN indicator alone.
- ✅ If available, review the client’s logs or traffic information for clues about failed requests.
- ✅ Change one profile or routing setting at a time, then repeat the same test.
- ❌ Do not assume that a successful IP check proves every app and request uses the same route.
- ❌ Do not leave two VPN or proxy apps competing to control the iPhone’s network at the same time.
Common Import and Connection Problems
The subscription import fails
First check for a truncated URL, leading or trailing spaces, and accidental line breaks. Then confirm that the link comes from the provider’s subscription section and is intended for a compatible client. A dashboard login page, a generic account link, or a single server address may not work as a subscription source. If the address is correct, check whether the device can reach the internet without Shadowrocket and try the app’s refresh action again. If the error persists, consult the provider’s help instructions rather than altering the URL by guesswork.
The subscription loads, but no profile connects
Try another profile from the refreshed list, if one is available, and check the provider’s current guidance. Confirm that the iPhone’s Wi-Fi or cellular connection is working independently of the proxy. If a profile fails on one network but not another, the local network may be affecting the connection. Disconnect cleanly before switching profiles, then reconnect and wait for the client’s status to settle. Avoid editing protocol fields or server details unless the provider specifically instructs you to do so; changing a single value can make an otherwise valid profile unusable.
The client says connected, but apps still fail
Check the app’s routing behavior and whether its traffic is included in the selected rules. Some applications use multiple connections or background services, so a browser test may not represent their behavior. Close and reopen the affected app after connecting, then test again. If only one service fails, compare it with another app and check whether the service itself is available on your current network. Do not treat a client’s connected label as a guarantee that all traffic is routed or that a particular service will work.
The iOS permission prompt does not appear
If you previously approved the configuration, iOS may not show the prompt again for every connection. Check the client’s status and the VPN area in iOS settings rather than repeatedly tapping the permission control. If the app reports that it cannot create a configuration, close and reopen Shadowrocket, verify that you are using the intended app, and follow its current in-app instructions. Do not remove system configurations unless you understand which app created them and are prepared to set them up again.
Keep the Subscription and iPhone Configuration Safe
Because the subscription URL can retrieve profile data, avoid storing it in shared notes, public screenshots, or messages that may be forwarded. If you need to send a diagnostic report to support, remove the full URL, account credentials, and any other private values first. A screenshot of a profile list can also reveal details you may not want to share, so review it before sending.
Use the subscription refresh mechanism provided by the app rather than manually editing each profile when the provider updates its configuration. Manual edits can be overwritten on refresh or create a mismatch between the profile and the source. If a provider instructs you to use a different subscription address, update the stored source carefully and remove obsolete entries only after you confirm the replacement works.
When finished, disconnect using Shadowrocket’s control and confirm the status changes. If you switch to another VPN app, close or disconnect the current session first to avoid confusing connection states. Keep iOS and Shadowrocket reasonably up to date through their official update channels, and review the app’s permissions if its behavior changes after an update.
A reliable setup is a sequence, not a single tap: obtain the right URL, import it as a subscription, refresh the profiles, choose one, approve the iOS VPN request, and verify the traffic you care about. If a step fails, return to that step and check its inputs before changing unrelated settings. This makes troubleshooting more precise and helps you keep both the subscription link and your iPhone configuration under control.