Shadowrocket Subscription Updates: Manual Refresh, Update on Open, and Troubleshooting

Learn how to refresh a Shadowrocket subscription manually, enable Update on Open, and troubleshoot failures caused by invalid links, network issues, or unsupported formats.

At a glance

This guide is for users who already have a service provider and subscription link and need to refresh their server list. First, refresh manually from Home and confirm the link returns data. Then go to Settings → Subscribe and enable Update on Open. If an update fails, check access permissions, the network path, and the response format in that order. Updating a subscription, updating Config, and updating the app are separate actions; one does not replace another.

What a Subscription Update Changes

After you save a subscription URL in Shadowrocket, the app fetches server information from that address. Each refresh visits the same URL and updates the server list and connection parameters based on the response. So a list with no new entries does not necessarily mean the update failed—the provider may have returned the same content as before.

Read the subscription URL Request subscription data Parse server details Update the local list Check connection status

Check each operation separately to avoid repeated refreshes in the wrong place. This guide focuses on Home and Settings on iPhone and iPad. Layouts may differ on other platforms, but the same sequence for checking network requests and subscription responses still applies.

What you’re updatingPurposeWhat it does not replace
Subscriptions in HomeFetch the server list and connection parameters again.Does not renew your provider account or update rules.
Configuration in ConfigManage the configuration file and settings such as rules and DNS.Does not refresh the subscription list in Home.
The Shadowrocket appUpdate the client app itself.Does not make an expired subscription URL valid again.

Refresh a Subscription Manually in Home

Start with a manual update to confirm that the URL and network are working, then enable automatic updates. Don’t delete the existing subscription first: its servers may still work, and if the new URL is unreachable, you’ll lose the old entries that could help with troubleshooting.

  1. Check your subscription

    Open Home, find your subscription group, and make sure it’s a subscription—not just a manually added server. An individually entered server has no subscription URL to refresh a list from.

  2. Add a URL

    If you haven’t added a subscription yet, go to Home → “+” in the top-right corner → Type → Subscribe. Enter your complete subscription URL, add a name you’ll recognize, and save it.

  3. Pull to refresh

    Return to the server list in Home, pull down from the top, and release. Wait for the update to finish. If the list is long, scroll to the top first. Pulling down Notification Center does not refresh the app.

  4. Check the result

    Look for an error message, then check the server names and count in the target subscription. If you have multiple subscriptions, check each relevant group; a change in one group doesn’t mean every subscription updated successfully.

  5. Test the connection

    Select an updated server and test the connection. If the server or connection parameters changed, disconnect and reconnect before testing web access so you’re checking the new settings, not an existing connection.

Subscription URLs often contain account credentials. For example, https://example.com/sub?token=xxxx is a dummy value that cannot retrieve a service. When copying the actual URL, keep the entire query string, including everything after the question mark. Don’t include quotation marks, spaces, or extra text added by a messaging app.

Enable Update on Open

Update on Open is useful if you want the latest list when you open the app. It runs when the app opens; it does not mean the system will fetch the subscription on a schedule while the app is closed, and it cannot guarantee a successful refresh when the network is unavailable.

  1. Open Subscribe settings

    Go to Settings → Subscribe and find Update on Open. The displayed wording may vary by interface language, so look for the setting that controls updates when the app opens.

  2. Turn on updates

    Enable Update on Open, then return to Home. This switch changes when updates are triggered; it does not replace the URL or fix expired account credentials.

  3. Reopen the app

    With a working network connection, reopen the app and check the refresh result. Switching between Home and Settings inside the app does not verify that an update is triggered when the app is reopened.

  4. Keep checking manually

    If your provider says the list has changed but yours hasn’t, pull down to refresh in Home. If an error appears, note it down instead of retrying rapidly.

Settings → On Demand manages VPN connections that start under specified conditions; it is not a scheduled subscription task. Enabling On Demand does not enable Update on Open, and a successful automatic update does not mean the VPN is connected. Check the subscription refresh result and the connection status in Home separately.

Update Through a Proxy or Directly

Whether the subscription URL is reachable and whether servers in the list can connect are separate issues. A working server does not mean the subscription site is currently reachable. A successful subscription download does not mean every server in the response can connect. Identify where the failure occurs before changing the request path.

SettingPurposeWhen to use it
Settings → Subscribe → Update via ProxyControls whether subscription updates are requested through a proxy.If direct access fails and you already have a working proxy, enable it and try again.
Home → Global RoutingChoose a routing mode such as Proxy, Direct, Config, or Scene.Note the original setting; don’t change your usual routing long-term just to refresh a subscription.
Settings → On DemandStarts a VPN connection when specified conditions are met.When troubleshooting direct access while disconnected, check whether it reconnects automatically.

If your current network cannot access the subscription URL directly, connect using an existing server that still works. Then enable Update via Proxy in Settings → Subscribe and refresh from Home. If none of your existing servers work, updating through a proxy is not a viable fix. Try a trusted network or ask your provider whether the URL can be accessed directly.

Find the Cause from the Error Message

Error messages can come from the app, the system’s network layer, or the subscription server, and their wording may vary by language. The examples below cover common messages and HTTP status codes; use the actual message you see as your guide. Don’t assume that an “update failed” message means your account has expired.

Error: The request timed out.

Cause and fix: The request did not finish within the allowed time, possibly because the network path is unavailable or the server is slow to respond. Switch networks and try once. If you have a working connection, compare the result with Update via Proxy enabled. Avoid repeated refreshes, which can add unnecessary load.

Error: A server with the specified hostname could not be found.

Cause and fix: The subscription domain could not be resolved. Check that you copied the hostname in the URL correctly, confirm that the current network can resolve other domains, and ask your provider whether the subscription domain has changed.

Error: 401 Unauthorized

Cause and fix: The server did not accept the credentials in the request. Check your provider account to see whether the link has been reset, then copy the complete URL again. Don’t just replace the domain in the URL and keep using an old token.

Error: 403 Forbidden

Cause and fix: The server rejected the request, possibly because of account permissions or access restrictions. Check the service status and give your provider the status code and time of the error. Repeatedly changing rules will not remove a server-side permission restriction.

Error: 404 Not Found

Cause and fix: The requested resource could not be found at this path. The URL may have been truncated, or the original address may have been revoked. Get the complete subscription URL again; don’t use your account login page URL as a subscription URL.

Error: 429 Too Many Requests

Cause and fix: The server’s request limit has been reached. Stop pulling to refresh repeatedly and wait until the server allows another attempt. If the response includes Retry-After, wait for the specified time before trying once more.

Handle certificate verification errors separately. First check that your device’s date and time are correct, then try a trusted network. Ask your provider to check the certificate’s validity period and whether it matches the domain. Don’t disable certificate verification to hide the problem; doing so prevents you from reliably confirming that the response came from the expected server.

Format Errors and Unchanged Lists

A successful network request does not mean the subscription was parsed successfully. HTTP 200 only means the server returned a response. Its body could still be an account login page, an access verification page, an expiration notice, or empty content. Check the response type instead of continuing to change Global Routing.

Subscription Update FAQs

Why is my list still out of date after enabling automatic updates?

First, pull down to refresh in Home and check for an error. Then check Settings → Subscribe → Update on Open. If a manual refresh also fails, troubleshoot the URL or network. If a manual refresh succeeds but returns the same content, ask your provider whether the source list has actually changed.

The update succeeded. Why can’t I open web pages?

A successful update only confirms that the list was fetched and parsed. In Home, select a working server and reconnect, then check Global Routing. If you use Config, also check the DNS, rules, and FINAL policy in the relevant configuration. Don’t assume a web access issue is a subscription problem.

Do I need to import the link again every time I update?

No. If the subscription URL is still valid, refresh it from Home. Edit the URL only if your provider has changed it, reset its credentials, or revoked the old link. Adding the same link repeatedly can create multiple groups that are hard to tell apart.

Why does my subscription say it has expired after I bought the app?

Buying the app is separate from paying for a service plan. The iPhone / iPad version costs $2.99 as a one-time App Store purchase; the Mac, Windows, Android, and Linux versions are free. None of these options renews your provider account. Ask your provider about subscription access and expiration.

After troubleshooting, note the network type that worked, whether Update via Proxy was enabled, and whether Update on Open was on. If an update fails again, compare those known-good settings first; this is usually more effective than changing DNS, routing mode, and the subscription URL all at once. This site does not provide, sell, or recommend servers, subscriptions, or proxy services.

Download Shadowrocket