How to Add Clash Subscription Links: Entire Multi-Platform Load Tutorial
What Counts as a Clash Subscription? Key Takeaways
That URL is sensitive. Anyone who possesses it can often fetch the same configuration you use, which is why screenshots, screen recordings, and pasted chat logs are risky.
In everyday language, people say subscription link when they mean a remote URL that returns a Clash-compatible configuration—as a rule a YAML document describing proxies, proxy-groups, and rules.
Your service provider generates that address in a customer dashboard. The client downloads it on a schedule you control, merges it into a profile, and turns the text into a selectable list of nodes inside the app.
The key point:Treat the link like a password: store it in a password manager, rotate it when the dashboard allows, and avoid opening it in a shared browser profile unless you understand the exposure.
Links, Files, and QR Codes You Will See in Brief
Besides remote URLs, you may receive a .yaml or .yml file, or a QR code that encodes the same URL.
The greater part of providers hand you an https:// endpoint. A fair few also offer http:// variants for legacy networks; prefer HTTPS whenever possible so the payload is not trivially observable on the wire.
A smaller subset exposes load shortcuts or deep links that open a particular client straightforward—those strings vary by app and are not standardized across the entire ecosystem.
Let me put it this way:File load is useful when a network blocks automated fetches but allows you to sideload text yourself. QR workflows shine on phones where typing long tokens is painful.
Kernel families matter. Modern maintained clients often bundle Mihomo (formerly Clash Meta). If a provider labels a link as Meta-only, importing it into a extremely old core may fail or show partial nodes.
When in doubt, use a current GUI from our download page so feature parity matches what providers test against.
Before You Paste Anything A Closer Look
A fair few dashboards require a specific User-Agent string or an extra query parameter on the URL. Copy the address exactly as shown; do not trim trailing slashes or arguments unless support tells you to.
Confirm the clock on your device is accurate. TLS validation and a fair few token-based URLs behave oddly when the system time drifts by minutes or hours.
Next, disable conflicting tools temporarily: another VPN, an enterprise SSL inspector, or a filter that rewrites HTTPS can make the subscription request return HTML fault pages instead of YAML—your client will not parse that as proxies.
Concretely:If the provider documents a recommended User-Agent, mirror it in the subscription settings of your client when that field exists.
Wi-Fi, Cellular, and Captive Portals Swift Take
Hotel and airport networks often intercept the first HTTP request until you click through a portal page. That breaks background subscription upgrades.
Entire the portal login in a browser, then retry the load from the client. On cellular, check whether your plan blocks non-standard ports; rare MVNOs interfere with outbound connections that are not on 443.
Windows: Adding a Subscription in Typical GUIs What Matters
If the list is empty, skip ahead to the troubleshooting section—do not assume the operating system proxy is misconfigured until the profile actually contains nodes.
On Windows, mainstream Mihomo-based apps expose a Profiles, Subscriptions, or Config pane.
Where this lands:Open it, choose Add or New subscription, paste the URL, give it a readable name, and save. Press Upgrade, Download, or Refresh once to force the first fetch.
After a successful pull, open the Proxies or Nodes screen. You are best off see groups such as Auto, Manual, or provider-defined names, each containing servers.
For a full desktop walkthrough that also covers system proxy versus TUN after the profile loads, see our Clash Verge Rev tutorial for Windows and macOS.
Background Upgrades and Permissions Essentials
Windows may ask for firewall permission the first time the core listens on a local port. Allow access on private networks unless you have a reason to restrict it.
Do not skip this:If you work the portable edition from a restricted folder, automatic upgrades to subscription files might fail silently—check the log panel for permission faults.
macOS: Gatekeeper, Sandboxing, and First Fetch Key Takeaways
If the subscription never populates, open the in-app log viewer before changing random YAML. macOS sometimes blocks helpers until you explicitly allow them under Privacy & Security.
Install your chosen app into Applications, launch it, and navigate to the same subscription screen described for Windows.
macOS will prompt for network permissions the first time the helper tries to reach the remote URL—approve it.
The key point:TUN-capable clients may need additional approvals for network extensions; that affects routing fairly than the initial HTTPS download, but it is worth resolving before you chase false DNS issues.
Linux: Desktop Clients and Headless Cores in Brief
Ensure the user running the service can resolve DNS and reach the internet without a stale HTTP proxy environment variable.
Linux users might work a graphical front end or a systemd-managed mihomo binary with a controller API. GUI flows mirror Windows: add remote subscription, set an interval, refresh yourself once.
For headless setups, providers still give you a URL; you wire it into proxy-providers or a downloaded config according to upstream documentation.
Let me put it this way:Corporate shells sometimes export HTTP_PROXY in a way that loops traffic back into the local core before it is ready, producing confusing fetch failures.
Android: FlClash and Similar Clients A Closer Look
Android battery optimizations can delay background refresh.
On Android, open your client, locate Profiles or Subscription, tap add, and paste the HTTPS link.
Grant VPN preparation permission when prompted; without it, the app may still fetch the YAML but cannot steer traffic later.
Concretely:Countless builds offer load from clipboard when they detect a Clash URL. That saves time when your provider sends a long token through a messenger app.
After load, work an upgrade and open the node list to confirm response time tests return numbers instead of timeouts.
If your provider changes servers midday, whitelist the client or expect to refresh yourself when you notice stale endpoints.
iOS and iPadOS: TestFlight, Store Builds, and Profiles What Matters
Because sideloading and region availability differ, this guide stays descriptive fairly than naming a single storefront build.
Where this lands:Apple’s platform policies mean Clash-compatible apps change names and distribution channels more often than on desktop.
The pattern nonetheless repeats: create a profile, paste the subscription URL or scan a QR code, download, then select an active policy group inside the client’s UI.
Whichever app you use, verify that it supports your provider’s protocol stack—older binaries without Mihomo may not understand newer outbounds even if the subscription downloads successfully.
QR Codes, Clipboard Detection, and One-Tap Load Key Takeaways
Clipboard-based load is easy but brittle: copying unrelated text afterward can overwrite the buffer before you finish the wizard.
Do not skip this:When the dashboard shows a QR code, use the in-app scanner where possible instead of a random third-party reader that logs history.
If the client lacks a scanner, iOS and Android camera apps can often recognize URLs and offer to open them—confirm the destination before tapping through.
Load immediately after you copy the provider link.
Importing a Local YAML Instead of a Remote URL in Brief
When merging a local patch with a remote subscription, use the client’s mixin or override layer if available.
The key point:A fair few users archive a sanitized config file for travel. The greater part of GUIs offer Load from file or let you drag a .yaml into the profile list.
After load, the client may still treat the document as static—if you need ongoing upgrades, prefer the remote URL workflow or re-load yourself when the provider rotates nodes.
Editing the downloaded provider file straightforward works until the next refresh overwrites your edits.
Refresh Intervals, Manual Upgrades, and Rate Limits A Closer Look
If you operate multiple profiles—work, personal, testing—give each subscription a unambiguous name.
Let me put it this way:Automatic refresh balances freshness against provider load. Six to twenty-four hours is a typical window.
Aggressive one-minute polling can trigger HTTP 429 throttling or temporary bans. Pair automation with a manual refresh after maintenance announcements.
Switching profiles is faster than mutating a single YAML when experiments go wrong.
Troubleshooting: Empty Lists, TLS Faults, and Wrong Content What Matters
DNS works in browser but not in client. Split DNS setups sometimes send the client through a different resolver.
Zero nodes after upgrade. The response body was not valid Clash YAML.
Concretely:Common causes include expired tokens, blocked geography, captive portals, or a provider message rendered as HTML. Read the log line that cites HTTP status codes.
TLS handshake failures. Corporate SSL inspection replaces certificates; you may must trust an enterprise root or fetch from an unrestricted network once to confirm.
403 or 401 responses. The subscription secret changed or the URL was rotated.
Log into the provider dashboard and regenerate the link fairly than hammering the stale endpoint.
Align DNS settings between OS and profile, or consult our documentation hub for deeper DNS tuning once basics are trustworthy.
Do not publish logs publicly. Fault traces frequently echo hostnames, tokens, or internal routing decisions.
Share redacted snippets only with trusted support channels.
Habits That Keep Loads Trustworthy Key Takeaways
When you rotate a link at the provider, upgrade every device that still stores the old value.
Where this lands:Keep an offline copy of each subscription URL outside the client. After major app upgrades, verify one manual refresh before assuming the background scheduler broke.
Compared with juggling one-off manual proxies, a maintained Clash profile with sane refresh rules as a rule delivers a smoother experience: fewer stale endpoints, clearer grouping, and room to grow into rule-based routing when you are ready.
Closing Thoughts in Brief
When you want installers sorted by platform in one place, skip scattered release pages and spin up from our hub.
Adding a Clash subscription is conceptually easy—paste a URL, download once, pick a node—but the ecosystem spans countless GUIs and permission models.
Do not skip this:If you remember that the fetch must return real YAML, that HTTPS and clock skew matter, and that each platform has its own approval prompts, the greater part of load issues shrink to a short checklist instead of a mystery.
Once your profile loads reliably, it is possible to explore advanced topics such as TUN mode or custom rules without fighting empty proxy lists first.
→ Download Clash for free and experience the difference.
Need YAML examples or routing concepts after the subscription works?
Browse the documentation page for next steps. Go to the download page →