This guide is for iPhone users who already have a proxy provider and their own subscription URL. It explains how to add that URL in Shadowrocket, refresh the imported server list, and check why an update may not show new entries. Keep the URL private: it may identify your account or grant access to your subscription. Adding or refreshing a subscription imports connection configurations; it does not by itself establish a VPN connection or confirm that a particular server is working.
1. What a subscription does—and what it does not do
A subscription URL is an address supplied to you by your own provider. Shadowrocket uses it to retrieve connection configurations, which then appear as entries you can review and select in Home. The URL is not the same thing as an individual server address, and it is not a configuration file such as a .conf file. Treat it as account-related information rather than a public web link.
Adding a subscription and starting a connection are separate actions. Importing the URL can populate the server list, but you still need to select an available entry in Home and turn on the connection when you want to connect. Global Routing also affects how traffic is handled: Config follows the active configuration’s rules, while Proxy and Direct represent different routing choices. A populated list alone does not show that the VPN is connected or that a request is using a particular route.
Before you begin, make sure you have the subscription URL from your own provider and a working internet connection on the iPhone. If you are unsure whether a link is current, ask that provider to confirm the correct address and whether your account is active. Do not try to repair an unknown or incomplete URL by guessing its path or changing its parameters. A URL can look like a normal web address while still containing an account-specific token.
- Keep the subscription URL out of screenshots, public posts, and messages to people who do not need it.
- Use the URL as supplied, including its full path and any required characters.
- Do not confuse the subscription entry with an individual server entry in Home.
- After importing, verify that entries appear before testing a connection.
2. Add your subscription from Home
In Shadowrocket, open Home and tap the + button in the upper-right corner. In the add screen, set Type to Subscribe. Enter the subscription URL supplied for your own account, then save the entry. Labels and the exact arrangement of controls can vary with the app interface, but the important check is that the new item is a subscription rather than a manually entered server.
Use the provider’s complete URL. Avoid adding spaces before or after it, omitting a trailing section, or replacing punctuation that may be part of the address. If you copied it from a message or account page, check that the first and last characters were included. A URL may contain a long token that is difficult to verify visually, so copying it again from the original source is usually safer than editing it by hand.
-
Open Home
Go to Home and tap the + button in the upper-right corner to open the add screen.
-
Choose Subscribe
Set Type to Subscribe. This identifies the entry as a subscription that can be refreshed, rather than a single server configured field by field.
-
Paste the URL
Paste the complete URL supplied for your own account. Check that there are no accidental spaces, missing characters, or extra text around it.
-
Save and verify
Save the entry, return to Home, and check that the subscription and its imported server entries are visible. If no entries appear, continue with the checks below.
Once saved, distinguish the subscription record from the server entries it provides. The subscription is the source used for later refreshes; the entries are the current imported configurations. A provider may change the available entries without changing the subscription’s display name. Conversely, seeing the subscription record does not prove that the latest update succeeded. Check the server list and any update result shown in the app.
If the add screen rejects the URL or nothing appears after saving, avoid creating several duplicate subscription records. First confirm the selected Type, then compare the pasted address with the original source. If the provider supplies separate links for different purposes, use the one explicitly identified as the subscription URL for Shadowrocket.
3. Refresh an existing subscription
When your provider says that configurations have changed, refresh the existing subscription rather than adding the same URL again. In Home, locate the subscription or its associated entry and use the app’s refresh action. Depending on the interface, a pull-down gesture on the list may also start a refresh. Wait for the operation to finish, then check whether the server entries have changed. Avoid repeatedly triggering refresh while a request is still in progress.
A successful refresh retrieves the subscription response that is available to your account at that moment. It does not necessarily create a new entry every time. The provider may have made no changes, may have kept the same server names, or may have updated details behind an existing name. Compare the result with the provider’s notice, if there is one, rather than assuming that a familiar label means the update failed.
Subscription record
- Entry type
- Subscribe
- Source
- Your provider-supplied URL
- Purpose
- Retrieve the current subscription data
- After refresh
- Check the result and imported entries in Home
Keep the existing record when refreshing the same subscription; avoid unnecessary duplicate entries.
Connection test
- Selection
- Choose an available entry in Home
- Connection
- Turn it on separately when ready to test
- Routing
- Check the current Global Routing choice
- Result
- Test with a new request after connecting
A refreshed list and an active, usable connection are different results to verify.
For a clean check, note the selected server before refreshing, complete one refresh, and then review the list again. If you need to test a newly imported entry, select it deliberately rather than assuming the app switched to it. Turn on the connection and wait for the system VPN status to update. Then make a new request in the app you are testing. A request that was already open may continue using an existing connection and may not immediately reflect the newly selected entry.
Subscription refreshes depend on both the device’s network and the availability of the supplied URL. A temporary network interruption can prevent a request from completing even when the URL is correct. If the refresh does not finish, check that the iPhone can reach the internet, wait briefly, and retry once. If the provider requires access through a proxy, follow its instructions for that requirement; do not assume that every subscription must be fetched through the VPN.
4. When new entries do not appear
Start by identifying what happened: did the refresh finish with an error, finish without visible changes, or fail to start? Those outcomes point to different checks. A blank or unchanged list is not enough to conclude that a particular server is unavailable. Check the subscription update result, the selected subscription record, and whether the provider actually announced changes.
Next, confirm that you refreshed the intended subscription. If more than one record is present, compare its label with the account or link you meant to update. Check that the entry was created as Subscribe and that its URL is still the one supplied for your account. If the provider has replaced or renewed a link, an older address may no longer return the current data.
- Refresh does not start: Check that the iPhone has internet access, then return to Home and retry after the connection is stable.
- Refresh reports an error: Record the exact message. Recheck the URL and ask your provider whether it is valid, current, and available to your account.
- Refresh completes but the list looks unchanged: Check for a provider update notice and compare the full list, not only the previously selected entry.
- Entries appear but cannot connect: Select an entry, turn on the connection, and test a new request. A successful import does not validate every connection configuration.
Do not paste a private subscription URL into a public diagnostic service or send it to someone who is not responsible for your account. If you contact your provider, describe the time of the refresh, the network type you used, and the displayed error. Share the exact URL only through a support channel the provider identifies as appropriate, and avoid exposing it in screenshots that may be forwarded.
5. Frequently asked questions
I saved the URL, but no servers appeared. What should I check?
In Home, confirm the entry was added with Type set to Subscribe. Check that the complete URL was pasted, then refresh once. If the list remains empty or an error appears, ask your provider to confirm that the URL is current and returns data for your account.
Should I add the same subscription again to get new entries?
Usually, refresh the existing subscription record in Home instead. Adding the same URL a second time can make it harder to tell which record you are updating. Create another record only when you have a separate subscription URL or a clear reason to keep two subscriptions distinct.
The refresh completed, but I cannot find the new server. What now?
Review the full server list and any provider notice about the change. Check that you refreshed the intended subscription, then compare its update result. If the expected entry is still missing, ask your provider whether it is included in the subscription response for your account.
Does updating the subscription connect me automatically?
No. Refreshing retrieves subscription data; choosing an entry and starting a connection are separate actions. After a refresh, select the entry you want in Home, turn on the connection, and verify the result with a new request.