How to Use Airport Subscriptions in Clash: Update Guide
What an Airport Subscription Actually Does Explained
Buying an airport proxy plan gives you access to a service, but it does not automatically configure every device or application. The provider usually gives you an airport subscription URL: a long HTTPS address containing an account identifier, an access token, or both. When Clash downloads that address, the server returns a profile containing proxy nodes, proxy groups, routing rules, DNS settings, and sometimes provider-specific metadata. Clash then turns that profile into the configuration used by your browser, terminal, games, and other applications.
This distinction explains why an account can be active while Clash still shows no usable nodes. The plan may be valid, but the URL may have been copied incorrectly, the provider may have returned a format that your selected core does not understand, or the client may still be using an old local profile. A subscription is therefore better understood as a remote configuration feed, not as a one-time license file. The remote content can change whenever the provider adds nodes, removes an expired server, changes a certificate, adjusts traffic limits, or reorganises proxy groups.
Modern clients such as Clash Verge Rev, Mihomo Party, and other Mihomo-based applications normally separate three things: the subscription source, the downloaded profile, and the currently active profile. The source is the private URL. The profile is the local YAML or database representation downloaded from that source. The active profile is the configuration currently loaded by the Mihomo core. If you refresh the source but do not activate the updated profile, the client may continue routing through yesterday’s node list. If you activate a profile but never refresh it, the client may keep displaying nodes that the provider has already removed.
Security rule: Treat an airport subscription URL like a password. Do not paste it into a public issue, send it in a screenshot, or place it in a world-readable configuration repository. Anyone who obtains the URL may be able to consume your traffic quota or download your complete node list.
Before troubleshooting, identify which type of link your provider gave you. A normal subscription URL often starts with https:// and returns a complete Clash-compatible profile. A conversion service URL may include parameters for a target format, rule provider, or client type. A single-node URI such as vmess://, vless://, ss://, or trojan:// is not the same thing as a subscription and may need to be imported through a different menu. Copying a single-node link into a subscription manager can produce an empty profile or an apparently successful import with no selectable proxies.
Prepare the Client and Import the Subscription in Detail
The most reliable Clash subscription setup starts with a clean client state. Choose one primary Clash-compatible application on the device and temporarily disable other clients that may be running a system proxy, mixed port, service helper, or TUN adapter. Two clients can both appear connected while competing for port 7890, rewriting the operating system proxy, or installing different virtual interfaces. That creates misleading symptoms: the subscription looks correct in one interface, but applications are actually talking to another core.
Also check the device clock before importing. HTTPS certificate validation and provider-side access policies depend on reasonably accurate time. A computer several minutes behind can report a TLS error even when the link is valid. Corporate Wi-Fi, hotel networks, and captive portals deserve special attention as well. If a network first requires you to accept a login page, Clash may receive HTML instead of YAML. The import button can still report a generic download failure because it expected configuration text but received a portal page.
- Choose a maintained client and core. Use a current Clash Verge Rev, Mihomo Party, or another client that matches the provider’s documented format. If the provider requires Mihomo features such as Hysteria2, TUIC, rule providers, or modern DNS options, confirm that the Mihomo core is selected rather than an obsolete legacy core.
- Copy the complete URL. Copy directly from the provider dashboard or password manager. Make sure the address begins with the expected protocol, includes all query parameters, and does not contain spaces, quotation marks, or line breaks introduced by a messaging application.
- Open the Profiles or Subscriptions page. Look for a control named Import, New Profile, Add Remote, or Subscribe. The exact label varies by client, but the correct area normally distinguishes remote URLs from local YAML files.
- Paste and save the address. Give the entry a recognisable name such as the provider name and plan tier. Avoid naming every profile “config.yaml”; clear names make it easier to identify an old test link when several profiles exist.
- Download the profile and inspect the result. A successful download should show a recent update time, a non-zero proxy count, and visible proxy groups. If the client offers a preview, check that it contains sections such as
proxies,proxy-groups, orrulesinstead of an HTML error page. - Activate the downloaded profile. Select the new profile and use Set Active, Use, or the equivalent action. Importing a profile and activating it are separate operations in many Clash clients.
After activation, open the Proxies page and choose a proxy group. Many providers include a group named Proxy, 节点选择, Auto, or Fallback. The group may initially be set to DIRECT, which means Clash is working but deliberately sending traffic outside the proxy. Select a real node or an automatic group, then test a simple website before testing a demanding application. A successful profile download does not prove that every node is reachable; it only proves that the provider endpoint returned data.
System proxy mode is usually sufficient for browsers and applications that respect operating-system proxy settings. The mixed port, commonly shown as 7890 or another configured value, accepts HTTP and SOCKS-style traffic through one local listener. Terminal tools can use that listener through environment variables such as HTTP_PROXY and HTTPS_PROXY. Applications that ignore system proxy settings may require TUN mode, but TUN should not be enabled merely because a subscription was imported. It adds a system-level routing layer and may require administrator permission, a helper service, or an approved network extension.
Use a controlled test: First test the active node with a browser and the client’s built-in connectivity check. Then test the exact application that failed. This separates subscription problems from capture problems, DNS problems, and application-specific proxy behaviour.
Refresh Profiles Without Creating Duplicates Made Clear
A good Clash subscription update workflow keeps the private URL stable while replacing the downloaded content on a predictable schedule. Do not add the same URL again every time the provider publishes a change. Repeated imports create duplicate profiles with similar names, and eventually you may activate an old copy by mistake. Keep one remote entry per plan unless you intentionally maintain separate provider formats for different clients.
Most clients expose a manual refresh action beside the remote profile. Use it after the provider announces a node change, after a plan renewal, or when the client shows stale traffic information. Some applications also support an automatic refresh interval. A daily interval is usually reasonable for a normal personal plan; a shorter interval may waste requests or trigger provider rate limits, while a very long interval leaves expired nodes in the local profile. Follow the provider’s recommended interval instead of assuming that more frequent updates are always better.
Automatic refresh requires more than an open Clash window. If the client is fully closed, its background service must be enabled for scheduled downloads to run. Sleep mode, battery optimisation, firewall rules, and a disconnected network can all postpone the refresh. On Windows, a service-mode client may continue working in the background. On macOS, a login item or helper may be needed. On Android, battery restrictions can stop background work even though the profile updates correctly when you open the application manually.
| What you observe | Likely explanation | First action |
|---|---|---|
| Update time never changes | Scheduled task is disabled, the client is closed, or the URL request failed | Run a manual update and read the result message |
| Update succeeds but nodes remain unchanged | The provider returned the same list, or an old profile is still active | Compare the profile timestamp and activate the refreshed copy |
| Nodes disappear after refresh | The provider removed expired nodes or the response is filtered by a target format | Check the provider dashboard and inspect the downloaded profile |
| Traffic quota looks wrong | A duplicate client or profile is using the same subscription | Disable unused clients and review active devices in the provider portal |
Do not edit the downloaded profile casually if it is managed by a remote subscription. Manual changes may be overwritten during the next refresh, and editing a generated YAML file can break anchors, indentation, proxy groups, or rule providers. If you need a persistent customisation, use the client’s override, mixer, or patch feature when available. A small override can select a preferred group or change a local DNS option without modifying the provider’s source. Keep local changes documented so you can remove them when diagnosing a provider-side issue.
When a provider gives separate URLs for different clients, choose the endpoint intended for Mihomo or Clash Meta rather than blindly using the first link on the page. Some dashboards provide a universal link, a Surge link, a sing-box link, and a legacy Clash link next to one another. The wrong endpoint may still return text, but it may contain unsupported fields or a completely different configuration model. If you are unsure, download the response once and ask the provider which target format matches your client.
Diagnose Missing Nodes, Expired Links, and Empty Profiles Under the Hood
When a Clash subscription fails, begin with the smallest useful question: did the client reach the provider URL, and what did the server return? An error such as timeout, connection refused, DNS failure, HTTP 403, or HTTP 410 points to different causes. A timeout often indicates network reachability or DNS trouble. A 403 may indicate that the URL was revoked, the account is not authorised, or the provider blocks the current network. A 404 or 410 commonly means the endpoint expired. A successful HTTP response containing a login page means a captive portal or reverse proxy intercepted the request.
Copy the URL into a private browser window only if you understand the security implications and the browser is not going to sync its history or URL to a shared account. A safer method is to use the client’s built-in response preview or a local command that does not print the complete URL to a shared terminal history. Do not post the full address when asking for help. Redact the hostname path and every token-like query value before sharing logs.
If the profile downloads but the node count is zero, inspect the raw response format. A valid YAML profile generally has a recognisable top-level structure. If the content begins with <html>, <!DOCTYPE html>, or a human-readable account message, the provider did not return a Clash configuration. If it is a base64-encoded list of node URIs, the endpoint may be intended for a different client or may require a conversion step. If the YAML contains nodes but no groups, the profile may be a node-only export that needs local groups or a provider-side conversion template.
Missing nodes can also be intentional. Providers often use region filters, device limits, expiry dates, or traffic tiers to decide which nodes appear. A plan that previously included a large list may show fewer entries after renewal because the account moved to another product. Compare the provider dashboard with the profile returned to Clash. If the dashboard shows the nodes but the downloaded profile does not, confirm that no country, keyword, or “exclude unavailable nodes” filter is active in the subscription URL.
Expired links require account-side action rather than repeated clicking in Clash. Renewing a plan may extend the same URL, or the provider may issue a new token for security reasons. After renewal, check whether the dashboard displays a “reset subscription,” “refresh token,” or “copy new link” control. Replace the remote URL only when the provider confirms that the old one is no longer valid. Repeatedly retrying a revoked endpoint cannot restore access and may cause temporary rate limiting.
Do not confuse a dead node with a dead subscription. A profile can download normally even when several individual servers are offline. Test multiple nodes, check the client connection log, and verify the selected proxy group before replacing a private URL or buying another plan.
For a profile that updates successfully but cannot connect to any node, check the core log and the device clock, then test DNS resolution and local port availability. A port conflict may prevent the core from listening even though the graphical interface says “running.” Another VPN, antivirus web shield, Docker service, or previous Clash installation may already occupy the configured mixed port. If system proxy mode works but a terminal or game does not, the subscription is probably healthy and the missing piece is application capture. In that case, configure the application’s proxy variables or evaluate TUN mode separately.
Protect the URL and Maintain a Recoverable Setup Explained
The subscription link controls access to a valuable account resource, so handle it with the same care as an API key. Store it in a password manager or an encrypted note, and avoid leaving it in plain text inside cloud documents, screenshots, shell history, bug reports, or shared team chat. Browser extensions and clipboard managers can also retain copied URLs. After importing the link, clear the clipboard if your operating system or security policy requires it.
Use the provider’s account panel to monitor traffic and active devices. Unexpected consumption may mean that the URL leaked, a family member imported it elsewhere, or an old client is still running in the background. If you suspect exposure, revoke or rotate the subscription token instead of merely changing the active node. After rotation, remove the old remote profile from every device and confirm that the new URL works before deleting your backup notes.
Keep a small recovery record that does not expose the token itself. Record the provider name, plan type, supported client format, preferred update interval, and any local override files. Export custom rules separately from the provider profile. This makes migration easier when moving from Clash for Windows to a maintained Mihomo client, reinstalling an operating system, or setting up a second device. Never assume that a copied local YAML file can replace the private subscription forever: it may contain old credentials, expired nodes, and no future updates.
Review the setup after a major client upgrade. A new core may change the handling of DNS, TUN mode, rule providers, or transport options. Start with the provider’s unmodified profile, confirm that a normal browser request works, and then reapply local overrides one at a time. This is much faster than debugging a configuration that combines an old profile, an old override, a new core, and several competing network services.
Frequently Asked Questions in Detail
Is it safe to share a Clash subscription URL with support? Explained
Do not share the complete URL unless you have explicitly revoked it and the provider confirms that it is no longer usable. The address may function as a bearer credential and can expose your node list, account quota, or renewal status. For troubleshooting, share the client name, core version, HTTP status, redacted hostname, and a short error message. Replace the path and query token with placeholders such as https://example.invalid/subscription/REDACTED.
Why does Clash still show old nodes after I click Update? in Brief
The update may have refreshed a remote entry that is not currently active, or the provider may have returned an unchanged profile. Check the remote profile’s timestamp, compare the proxy count, and explicitly activate the refreshed profile. Also verify that another Clash client is not running in the background and presenting a separate node list.
What should I do when the subscription downloads but contains zero nodes? in Detail
Check the raw response for an HTML error, account message, or a format intended for another application. Then review provider-side expiry, traffic limits, region filters, and client-format options. If the dashboard shows a valid plan but the endpoint still returns an empty profile, ask the provider for a fresh Mihomo or Clash-compatible link rather than repeatedly importing the same response.
Do I need TUN mode to use an airport subscription? Notes
No. System proxy mode is enough for browsers and many applications that honour operating-system proxy settings. TUN mode is useful when an application ignores those settings, but it requires more permissions and can introduce DNS or routing interactions. Confirm that the subscription and normal proxy mode work first, then enable TUN only for a specific coverage requirement.
Many lightweight proxy managers and legacy Clash forks make subscription handling look simpler than it really is: they may hide whether a profile was refreshed, whether the active core changed, or whether a private URL was stored securely. Generic VPN dashboards can be easier for one-click use, but they often expose less detail when a node disappears or an application bypasses the proxy. Clash keeps the workflow transparent with clear profile management, practical Mihomo compatibility guidance, and troubleshooting steps that distinguish an expired link from a local port or capture problem. If you want a maintained Clash setup where importing, refreshing, and checking an airport subscription remain understandable, download Clash and apply the workflow above.