Skip to main content

Shadowrocket on iPhone: Beginner Setup Guide for VPN Subscriptions

Set up Shadowrocket on your iPhone from scratch. This walkthrough covers adding a subscription link, updating server profiles, selecting a node, and checking that the connection works, with practical fixes for common import issues.

Shadowrocket is an iPhone network client that can use compatible proxy or tunnel profiles. It does not provide a subscription or server by itself: you need a subscription link or configuration from a provider, and the profile must use a protocol the app supports. The labels and buttons may vary slightly between app versions, but the setup process is generally the same: add the subscription, download its profiles, choose a node, and verify that traffic follows the route you intended.

Keep the subscription link private. It can act like a credential that grants access to your configuration, so avoid posting it in screenshots, messages, or support requests. If you need help, describe the error and share only information that does not expose the full link.

What You Need Before Starting

First, confirm that Shadowrocket is available to install from the App Store in your region. App availability and store listings can vary, so use the official listing and check that the app name and publisher match before installing. After installation, obtain a subscription URL or a configuration file from a provider. A subscription URL is not a server address that you can make up: it must be issued by the service and formatted for a client that can read it.

It also helps to understand the difference between a subscription and a node. The subscription is a source of configuration information. When the client updates it, the app may add or refresh a collection of server profiles, often called nodes. You then select a node for the connection. Updating the subscription does not necessarily connect the phone automatically, and selecting a node does not renew an expired subscription.

Shadowrocket is a client rather than a general-purpose guarantee that every iPhone app will use a particular route. The outcome depends on the profile, the selected node, the app’s routing settings, and the behavior of the app you are testing. If you are comparing setup options or looking for general service information, the Free VPN for China homepage is a separate place to review the available service details; it is not a substitute for a valid Shadowrocket subscription URL.

  • ✅ Install Shadowrocket from the App Store listing available to your account.
  • ✅ Get the subscription link or configuration from the provider that issued it.
  • ✅ Check that the provider supports Shadowrocket and the profile format it supplies.
  • ❌ Do not treat a server name, website address, or account password as a subscription URL.
  • ❌ Do not import configuration text from an unknown source or share a full subscription link publicly.

Add and Update a Subscription

Before importing, copy the complete subscription URL exactly as supplied. Make sure you have selected the whole link, including its beginning and any characters after punctuation. Do not add spaces, remove query parameters, or edit the address to make it look shorter. If the provider supplies a QR code or a dedicated import action, use that method as described by the provider instead of trying to reconstruct the URL manually.

Open Shadowrocket and look for the add control, commonly shown as a plus sign. In the add menu, choose the option for a subscription or remote configuration rather than adding an individual server manually. Paste the URL into the address or URL field. If the screen offers a remarks or name field, enter a label that helps you recognize the subscription; the label is for your reference and does not change the link. Save the entry, then return to the configuration or home screen.

Next, refresh or update the subscription. The wording can differ between versions, but the relevant action is usually associated with the saved subscription entry or a refresh control. Wait for the request to finish and check whether profiles appear in the list. If the provider gave you several subscriptions, add each one separately and use clear labels so that you can distinguish them later.

To keep profiles current, refresh the subscription when the provider changes its available configurations or when a profile stops working. An update normally replaces or refreshes the data obtained from that subscription; it is different from manually editing the details of an individual node. If the provider says a link has been renewed, make sure the new link is saved rather than assuming the old one has changed by itself.

Connect and Check the Route

Once the subscription has populated the profile list, choose one node and start with the default or recommended settings. Avoid changing several options at once: if the connection fails, you will have a harder time identifying which change caused it. You can compare another node later, after you have confirmed that the initial profile imports and connects.

  1. Select a profile. Tap the node you want to try. Check its name and any region or protocol details shown in the app. A displayed location is a label for that profile, not proof of the route your traffic will take.
  2. Start the connection. Tap the connect control. The first time, iOS may ask permission to add a VPN configuration. Review the system prompt and approve it only if you intended to connect through this profile. iOS may also request device authentication.
  3. Wait for a connected state. Check Shadowrocket’s connection indicator and iOS’s VPN status. If the app returns to a disconnected state or reports an error, note the message before changing settings.
  4. Test a destination. Open a browser and visit a site you can normally reach. If you are checking whether the public route changed, use a reputable IP-checking service and compare the result with the expected behavior. Avoid relying on one page alone: cached content or a browser’s own network settings can affect what you observe.
  5. Test the app that matters. If your goal is to use a particular work, media, or messaging app, test that app separately. A browser loading successfully confirms only that the browser test worked; it does not establish that every app uses the same route.

During testing, keep the selected node and routing mode unchanged until you have recorded the result. If the browser works but a target app does not, the issue may be that the app handles network traffic differently, that a rule excludes it, or that the destination is unavailable from the selected route. If nothing connects, investigate the profile and network first rather than assuming that the phone needs a different setting.

Practical rule: confirm that the subscription imports, connect with one profile, and test the exact app you care about before changing routing options.

Subscription Formats and Profile Choices

Different providers and clients may use different subscription formats. A link intended for one client is not automatically compatible with every other client, even if both applications support some of the same protocols. Shadowrocket can work with supported profile types, but the provider’s output, the app version, and the configuration details all matter. If the import produces no profiles, ask the provider whether the URL is specifically intended for Shadowrocket or whether it requires a client-specific conversion.

What you see What it usually means What to check
The subscription saves, but no profiles appear The URL may be incomplete, expired, or in a format the app cannot parse Copy the original URL again and confirm client compatibility with the provider
Profiles appear, but one node fails to connect The selected profile may be unavailable or its details may have changed Refresh the subscription and try another profile without changing unrelated settings
Shadowrocket reports a connection or permission error The connection did not complete, or iOS permission or network conditions may be involved Read the exact message, approve the intended iOS prompt, and retry on a different network
The browser works, but a specific app does not The app may use different routing behavior or be affected by profile rules Check the app’s behavior and profile rules; do not assume the entire phone is routed identically
A previously working profile stops working The subscription or individual profile may have changed Refresh the subscription and check for provider notices before editing the profile manually

Protocol names describe how a profile establishes or carries a connection; they do not by themselves indicate that a profile is compatible with every client. Providers may offer protocols such as Shadowsocks, VMess, Trojan, or WireGuard, but the exact set available depends on the provider and the configuration it supplies. Do not choose a protocol merely because its name appears in an online tutorial. Import the format that your provider documents for Shadowrocket, and avoid manually converting or mixing configuration fields unless you understand the format.

Fix Common Import and Connection Problems

If an import fails, start with the least disruptive checks. Confirm that the phone has an internet connection, that the copied URL is complete, and that there are no accidental spaces or line breaks before or after it. If you copied the link from a note, email, or chat app, copy it again from the provider’s original source. Some apps wrap long links visually; a wrapped display does not necessarily mean the copied value is complete.

  • Nothing happens after saving: reopen the subscription entry and check whether it was saved. If it was, trigger an update and wait for the result. If no profiles appear, ask the provider to confirm that the link is active and formatted for Shadowrocket.
  • The URL is rejected immediately: check whether you selected the subscription import option rather than a manual server form. A subscription URL and an individual server configuration have different purposes and may not belong in the same field.
  • The import works on another device but not on the iPhone: compare the client format and app versions. A link may be generated for a particular client, or a configuration may use options that one app handles differently. Request the provider’s iOS-specific import instructions rather than editing unknown fields.
  • The profile imports but will not connect: refresh the subscription, try another profile from the same subscription, and check that the iPhone is not in airplane mode or on a network that blocks the connection. If the app shows a specific error, keep its wording for troubleshooting.
  • The connection works on Wi-Fi but not cellular, or the reverse: test each network separately and note the difference. Network restrictions, DNS behavior, or local filtering can vary. Avoid changing several app settings at once, because that can hide the original cause.
  • The connection appears active but the destination behaves unexpectedly: test a second browser destination and the intended app, then review the profile’s routing rules. A connected indicator means the client reports an active connection; it does not prove that every request from every app followed the same path.

If you contact support, include the iPhone model only if relevant, the iOS and Shadowrocket versions, the profile type if known, the network you tested, and the exact error text. Do not send your full subscription URL, account password, or screenshots that reveal credentials. A provider can usually check link status or compatibility using a description of the issue without receiving the secret link in an open channel.

Keep the Setup Manageable

After the initial test, keep a simple record of which subscription entry you added, when you last refreshed it, and which profile worked for your intended task. This makes later troubleshooting more systematic. If you change a routing rule, node, or connection option, change one item at a time and test again. When a profile stops working, refreshing the provider-issued configuration is generally a safer first step than copying settings from an unrelated guide.

When you finish using the connection, disconnect it from Shadowrocket if you do not want that profile active. If you remove the app or configuration, review the iOS VPN settings as well so you know whether a VPN configuration remains installed. For a clean reset, remove only the profile or subscription you intend to replace, then import the provider’s current information again.

The reliable beginner workflow is straightforward: obtain a compatible subscription from its source, import it without altering the URL, refresh the profiles, select one node, approve the iOS permission prompt, and test both a browser and the app you actually plan to use. If a step fails, isolate that step and verify the subscription format before making broader changes to the phone.

Try it free