How to Add and Update a Shadowrocket Subscription on iPhone

Follow the Home screen steps to enter a subscription URL, load your server list, and refresh it later. Find quick checks for empty node lists or update errors.

At a glance

This guide explains how to add a subscription URL you already have to Shadowrocket on iPhone, load its connection list, and refresh it later. It also covers what to check when the list is empty or an update fails, how to avoid exposing a subscription URL, and how to tell subscription data apart from routing settings. The steps apply to the English-language interface; labels and available fields may vary by app or system version.

1. What a subscription does—and what it does not do

A subscription is a source of connection details that Shadowrocket can import and refresh. When you add one, the app uses the URL you provide to retrieve the entries associated with it. Those entries can then appear in the list on Home, where you can choose an available connection. The subscription URL belongs to your own service; this guide does not provide or recommend connection services, subscription links, or connection entries.

Keep three separate things in mind while setting up: the subscription, the connection you select, and the way traffic is routed. Updating a subscription refreshes the imported entries. It does not necessarily change the active Config, DNS choices, or rules, and it does not guarantee that a particular entry will connect successfully. If a page still fails after an update, check the connection and routing settings separately instead of repeatedly adding the same subscription.

1 URL
Enter the subscription address you already have
Home → +
Start a new subscription import from the Home screen
3 checks
URL, network access, and the refreshed list

Adding a subscription also does not buy or include a network service. The Shadowrocket app is a paid app obtained through the App Store; any service or subscription is separate. If you still need the app, use the site’s App Store guide to verify the product information. For device compatibility and system requirements, refer to the App Store listing.

2. Add an existing subscription on iPhone

Before starting, make sure the iPhone has internet access and that you can retrieve the subscription URL from the source where you received it. Copy the complete URL, including its scheme and any query string. Avoid manually retyping it: a missing character, an added space, or a truncated ending can prevent Shadowrocket from retrieving the list. Keep the URL in a private place while you work.

  1. Open Home

    Launch Shadowrocket and go to Home. If you have already imported entries, note the existing list before making changes so you can tell which items appear after the import.

  2. Start an import

    Tap + on Home. In the type selector, choose Subscribe. This identifies the item as a subscription source rather than a manually entered connection.

  3. Enter the URL

    Paste your own subscription URL into the subscription address field. Check that the beginning and end of the address are present and that no blank space was copied before or after it. If the screen shows additional fields, use the values supplied with your subscription rather than guessing.

  4. Save the entry

    Save the subscription and return to Home. Allow the app to finish retrieving the list. A first import needs a network connection; if the list does not appear, wait for the request to finish and then follow the checks below.

  5. Check the result

    Look for the imported subscription or its entries on Home. Select an entry only after confirming the list has loaded. A successful import means the data was retrieved; it is not a test of every connection or routing rule.

For a subscription already in your list, don’t add the same URL again just to refresh it. Duplicate entries can make it harder to identify which group you are using. Return to Home and use the refresh action available there—pull down on the list to refresh—then wait for the update to complete. The exact on-screen indicators can vary, so check the entry and any message the app displays rather than assuming that a brief pause means the update succeeded.

Stores a subscription source so its list can be retrieved again when you refresh it. Use this when you already have a subscription URL and want to manage its imported entries as a group.

Best for: importing and refreshing an existing subscription

Represents a single connection entered from details you already have. It is not a subscription source and does not refresh a subscription list.

Best for: one connection that you manage individually

Holds traffic-handling configuration, such as rules used in Config routing. It is distinct from a subscription’s imported connection entries.

Best for: checking rules and configuration separately

3. Refresh the list and verify what changed

Refresh an existing subscription when you need to retrieve its current list again. On Home, pull down to refresh and wait for the result before testing a connection. Avoid rapidly repeating the action: multiple attempts do not fix an invalid address or unavailable network, and they can make it harder to notice which request returned an error.

After refreshing, verify the result in stages. First, check whether the subscription’s entries are visible. Next, select an entry that is available to you and try connecting. If the connection succeeds, check the intended traffic using the current Global Routing mode. For example, Direct is not the same as sending requests through a proxy, and Config follows the rules in the active configuration. A subscription update does not automatically switch these settings to a particular mode.

Practical check: separate retrieval from connectivity

Ask two questions in order: did Shadowrocket retrieve the subscription entries, and can the selected entry establish a connection? A visible list answers only the first question. Keeping the two checks separate points troubleshooting toward the URL and update request, or toward the connection and routing settings, instead of treating every failure as an import problem.

It can help to note the network in use, the time of the refresh, whether the entries changed, and the exact error text. If you switch between Wi-Fi and cellular during an update, repeat the check on one stable network so the results are easier to interpret. Don’t include the subscription URL or other private account details in notes you plan to share.

4. Troubleshoot an empty list or an update error

If the subscription appears on Home but no entries load, first confirm that the URL was entered into the Subscribe type and saved. Then check whether the iPhone can access the network you are using. If you copied the URL from a message or password manager, compare the saved value with the original privately. Look for a missing character, extra whitespace, a line break, or an expired address. Don’t publish the address to test it somewhere else.

If a message appears, use its exact wording when looking for the cause; don’t infer a specific failure from a generic loading delay. Share the error text with your own provider only after removing the subscription URL, account identifiers, and other credentials. If the provider confirms that the link is valid, retry the update on a working network and check whether the entries then appear.

5. Common questions

Do I need to add the same URL again every time?

No. Add the subscription once, then refresh the existing entry from Home. Adding it repeatedly can create duplicates and make it less clear which list you selected.

Why is the list visible if a connection still fails?

Retrieving entries and connecting through one of them are separate steps. Check the selected entry, the current network, and Global Routing. If you use Config, inspect the active rules as well.

Can I share my subscription URL to ask for help?

Keep it private. Send the exact URL only to your own provider through a channel they identify as appropriate, and never post it publicly or include it in an unredacted screenshot.

Does buying Shadowrocket include a subscription service?

No. The app purchase and any network service are separate. Obtain the app through the App Store, and use only subscription details you already have from your own provider.

Once the subscription has loaded, keep its entry on Home and refresh it when needed rather than re-importing it. If an update fails, check the saved URL and network access first; if the list loads but traffic does not work as expected, move on to connection selection and routing. This sequence makes it easier to identify the stage that needs attention while keeping your subscription details private.

Get Shadowrocket on the App StoreVerify the app details first →