This guide explains how to add a subscription URL supplied by your own provider in Shadowrocket, refresh the subscription, and check why an update may fail or show no new nodes. The basic path is Home → + → Type → Subscribe: enter the URL, save it, and refresh the list. A subscription URL is sensitive account information, so use the address supplied for your own service and do not post it in screenshots or messages. Adding a subscription does not itself guarantee that its servers are reachable or that a connection will work.
What a subscription URL does
A subscription URL is an address that Shadowrocket can use to retrieve connection information from a provider. Depending on the provider’s setup, the response may contain server entries or other configuration data. The URL is not a website to browse for general information, and it is not the same thing as a single server address entered manually. Shadowrocket uses the subscription entry to request updates; the provider controls which information is returned and whether the URL remains valid.
This guide assumes you already have your own provider and have received a subscription URL from that provider. Shadowrocket is a paid app, and purchasing the app does not include a proxy service plan, subscription, server, or credentials. If you do not have a URL, ask your own provider where to find the subscription address and whether it is intended for Shadowrocket. Do not use an address copied from an unrelated person or website.
It helps to separate the subscription from the entries it provides. The subscription is the saved source address; the server list is the information retrieved from that source. Updating the source may change the list, but it does not necessarily change every entry each time. A successful refresh can return the same data if the provider has not changed it. Likewise, seeing entries in Home does not prove that each entry is currently reachable.
Prepare the provider URL
Before opening Shadowrocket, locate the subscription address in the account or instructions supplied by your provider. Copy the complete address, including its beginning and any characters after the final slash. Some links contain a long token or other account-specific value; shortening the address, removing query text, or replacing special characters can make it invalid. If the provider supplies more than one kind of link, confirm which one is intended for a subscription import rather than a single server or a web page.
Keep the address private. Anyone who can use an active subscription URL may be able to retrieve information associated with it, subject to the provider’s controls. Avoid placing the full link in a public support post, an unredacted screenshot, or a shared note. If you need help from the provider, use their designated support channel and follow their instructions for sharing account details securely. If a link has been exposed, ask the provider whether it can be replaced or revoked.
Two checks before and after adding the URL
Before adding
- Confirm the URL came from your own provider
- Copy the full address without trimming characters
- Check that your device has internet access
After adding
- Refresh the saved subscription in Home
- Check whether the server list has entries
- Ask the provider if the link or service has changed
A saved URL, a successful update, and a working connection are separate checks.
For a first import, it is useful to know the expected result. Ask the provider whether the link should return server entries, whether the provider requires a particular update method, and whether the subscription has an expiry or device limit. These details are provider-specific; Shadowrocket cannot establish them from the appearance of the URL alone. If the instructions use a different label from the English interface, follow the function they describe and verify that the saved item is a subscription.
Add the subscription in Shadowrocket
Use the steps below on the device where you want the subscription to be available. The interface wording can vary slightly between app or system languages, but the key controls are in Home and the add menu. You do not need to paste the address into a rule file or into a browser. If you already added the same subscription, check the existing entry before creating a duplicate.
-
Open Home
Launch Shadowrocket and go to Home. Confirm that the device has an internet connection. If you are on a network that requires a sign-in page, complete that sign-in before attempting to retrieve the subscription.
-
Choose Subscribe
Tap the + button in the upper-right corner. In the add screen, open Type and select Subscribe. This identifies the item as an updateable subscription rather than a manually entered server. If you see an existing matching subscription, inspect it first to avoid maintaining duplicate entries.
-
Enter the URL
Paste the complete subscription URL supplied by your provider into the URL field. Check that the first and last characters are present and that no spaces were added before or after the address. Do not add a display name or other text to the URL field unless the provider’s instructions specifically require it.
-
Save the entry
Save or confirm the form using the control shown in the app. Return to Home and locate the subscription or the entries associated with it. If the form reports an error immediately, check the copied address and Type selection before retrying.
-
Refresh the list
On Home, pull down to refresh the subscription list. Wait for the update attempt to finish before pulling down again. Check for a completion result or an error, then inspect whether the returned server entries are present. A refresh updates information from the provider; it does not test every server’s connectivity.
If the provider gives a recommended update interval or a specific method for maintaining the link, use that guidance. Avoid repeatedly refreshing in quick succession: it can make it harder to tell whether the latest attempt completed and may be subject to provider-side limits. When the saved item is visible but the list remains empty, record the exact result shown in the app and ask the provider whether the URL is active and expected to return entries.
Refresh and verify the server list
After adding the URL, refresh from Home whenever you want Shadowrocket to request the latest information. A refresh is a retrieval step, not an automatic promise that the provider has added new nodes. If the update completes but the list appears unchanged, compare the entries before and after only if you have a safe record of them. The provider may have returned the same list, made changes that are not obvious from the display name, or provided an update that requires you to check a different group or section.
Verify the result in stages. First, confirm that the subscription entry is still present in Home. Second, look for an update result or error rather than treating the pull gesture itself as proof of success. Third, inspect the available entries and, if needed, select an entry that your own provider says is active. A successful subscription refresh means that information was retrieved; it does not by itself confirm that a server is reachable, that credentials are valid for a connection, or that a website will load under the current routing settings.
- Subscription entry missing: Check whether the form was saved and whether you are viewing the expected Home list. Add the URL again only after confirming that a matching entry is not already present.
- Entry present, no update result: Wait for the current request to finish and check the connection to the internet. Do not assume that a quick screen change means the provider responded successfully.
- Update succeeds, no new nodes: The returned information may be unchanged. Ask the provider whether new entries were published, whether the subscription is still active, and whether any account or device limit applies.
- Entries appear, connection fails: Treat this as a separate connection issue. Check the provider’s instructions and the relevant connection record; refreshing the subscription cannot repair an unavailable server or a provider-side account problem.
When you are checking connectivity, change one variable at a time. For example, first confirm that the subscription refresh completes; then test one provider-designated entry; then review the active routing mode and rules if traffic still does not behave as expected. This makes it easier to identify whether the issue is retrieving data, selecting an entry, or routing a particular connection. Do not delete a working configuration merely because one refresh attempt fails.
Troubleshoot a failed update
Start with the exact message shown by Shadowrocket, if any. A failure can come from a mistyped or expired URL, an unavailable network, a provider response, or a restriction set by the provider. The same visible symptom can have different causes, so check the URL and network first, then confirm the provider-side status. If the provider has recently changed its subscription address, the saved entry may still point to the old one.
Why does the update say the URL is invalid?
Open the saved subscription entry and compare its URL with the address currently supplied by your provider. Recopy the full URL, check for missing characters or extra spaces, and confirm that Type is Subscribe. If it still fails, ask the provider whether the link expired, was replaced, or requires a different address.
Why do I see no new nodes after refreshing?
A successful update may return the same list. Check whether any entries are present, then ask your provider whether the subscription content changed and whether your account is entitled to the expected entries. Do not infer that the link is broken just because the list has no new names.
What if it keeps timing out?
Confirm that ordinary internet access works on the device, then retry once from Home. If your provider documents a specific update method or proxy requirement, follow that instruction. If the request continues to time out, send the provider the error text and approximate time of the attempt without exposing the full subscription URL in an insecure channel.
Can I use the URL on another device?
That depends on the provider’s account and device rules. Ask the provider before copying the address to another device, especially if the link includes a private token or the service has a device limit. A successful import on one device does not establish that simultaneous use or additional devices are permitted.
When contacting your provider, include the app name, whether the entry is saved as Subscribe, the exact error wording, and whether other internet access works. Redact the subscription URL and any account-specific token from screenshots. This gives support useful troubleshooting details while reducing the chance of exposing a link that can retrieve your configuration.
Keep the three outcomes distinct: adding a URL stores the update source; refreshing asks that source for current information; connecting uses an available entry under the active configuration and routing settings. If the first two steps work but the third does not, investigate the connection separately. If the refresh itself fails, confirm the URL and provider status before changing unrelated rules or settings.