What Is a Clash Subscription URL

A Clash subscription URL is an HTTPS address provided by your proxy service provider. When accessed, it returns a YAML configuration file containing all available node information. This file includes:

  • Server address, port, protocol, and authentication details for all proxy nodes (proxies field)
  • Policy group configuration (proxy-groups)
  • Traffic routing rules (rules)
  • Global settings such as DNS and TUN

Proxy providers periodically update their nodes (adding new ones, removing faulty ones, adjusting configurations), so you need to refresh your subscription regularly to use the latest node list.

⚠️
Subscription URL Security: Your subscription URL typically contains your account identifier. Keep it private and never share it publicly or in screenshots. Leaking your subscription URL may allow others to consume your data quota or get your account banned.

Subscription Format Overview

Different providers may support multiple subscription formats. Make sure you are using the Clash format (also called Mihomo format or YAML format), not V2Ray JSON, SS base64, ShadowsocksR, or other formats.

A valid Clash subscription URL typically returns content whose first line is:

mixed-port: 7890
# or
port: 7890
proxies:
  - ...

If your provider offers both a "Clash subscription" and a "Mihomo subscription" option, prefer the Mihomo subscription — it supports newer protocols such as VLESS and Hysteria2.

Desktop Subscription Import (Clash Verge Rev)

Adding a Subscription

  1. Open Clash Verge Rev and click "Profiles" in the left navigation panel.
  2. Click the "New" button in the top right corner and select "Import from URL".
  3. Paste your subscription URL into the "Subscription URL" field.
  4. Enter a profile name (e.g., "My Provider") for easy identification.
  5. Click "Import" and wait for the download to complete.
  6. After a successful import, click the "Activate" button on the profile card (or double-click it) to enable the subscription.

Setting Up Auto-Update

  1. Click the "Settings" icon (three dots or gear) in the top right corner of the profile card.
  2. Set the "Update Interval" to 24 hours (1440 minutes). The minimum recommended interval is 6 hours.
  3. Check "Update on Launch" to automatically pull the latest nodes every time Clash starts.
  4. Click "Save".
💡
To update your nodes immediately, click the "Update" button (refresh icon) on the profile card to trigger a manual update. The node list will refresh automatically once the update completes.

Android Subscription Import (ClashMeta for Android)

Adding a Subscription

  1. Launch CMFA and tap the + button in the bottom right corner.
  2. Select "URL".
  3. Paste the subscription URL into the URL field and enter a profile name.
  4. Tap the save icon in the top right corner and wait for the download.
  5. Return to the main screen, long-press the new profile → "Set as selected" to activate it.

Setting Up Auto-Update

  1. Long-press the profile item and select "Edit".
  2. Find the "Auto Update Interval" field and enter 1440 (minutes, i.e., 24 hours).
  3. Save the settings.

You can also pull down to refresh on the app's main screen to manually trigger an immediate update for all subscriptions.

iOS Subscription Import (Stash / Shadowrocket)

Importing with Stash

  1. Open Stash and tap the "Profiles" tab at the bottom.
  2. Tap "+" in the top right corner and select "Download from URL".
  3. Paste the subscription URL and tap "OK".
  4. Tap the newly downloaded profile in the list and select "Use this profile".
  5. You can set the auto-update interval (recommended: 24 hours) on the profile detail page.

Importing with Shadowrocket

  1. Open Shadowrocket and tap "+" in the top right corner.
  2. Set the type to "Subscribe".
  3. Enter the subscription URL and a display name.
  4. Tap Done, then long-press the subscription group in the server list → "Update".

proxy-providers: YAML-Level Subscription Config

If you use a custom YAML configuration file, you can reference subscription URLs directly via the proxy-providers field, enabling more flexible multi-subscription management:

proxy-providers:
  AirportA:
    type: http
    url: "https://your-airport-a.com/clash/subscription?token=xxxx"
    path: ./providers/airport-a.yaml
    interval: 86400        # auto-update interval (seconds)
    health-check:
      enable: true
      url: "https://www.gstatic.com/generate_204"
      interval: 300        # node health-check interval

  AirportB:
    type: http
    url: "https://your-airport-b.com/api/v1/client/subscribe?token=yyyy"
    path: ./providers/airport-b.yaml
    interval: 86400
    health-check:
      enable: true
      url: "https://www.gstatic.com/generate_204"
      interval: 300

proxy-groups:
  - name: "Proxy"
    type: select
    use:                   # use nodes from proxy-providers
      - AirportA
      - AirportB
    proxies:
      - DIRECT

  - name: "Auto Select"
    type: url-test
    use:
      - AirportA
    url: "https://www.gstatic.com/generate_204"
    interval: 300

The advantages of proxy-providers include:

  • Subscription nodes are separated from rule configuration, allowing node updates without affecting custom rules.
  • Multiple provider subscriptions can be referenced simultaneously and merged into a single policy group.
  • Health check frequency can be configured independently for each provider.
  • The filter field supports regex-based node name filtering.
# Use filter to select nodes from a specific region
  - name: "Hong Kong Nodes"
    type: url-test
    use:
      - AirportA
    filter: "Hong Kong|HK|🇭🇰"    # only use nodes whose names contain "Hong Kong" or "HK"
    url: "https://www.gstatic.com/generate_204"
    interval: 300

Troubleshooting Subscription Update Failures

Update Timeout / Cannot Connect

Subscription URLs are typically hosted on servers overseas and may be inaccessible without an active proxy. Solutions:

  • Make sure Clash has a working old configuration with the proxy enabled before manually triggering an update.
  • Temporarily switch to Global proxy mode, wait for the update to complete, then switch back to Rule mode.
  • Some providers offer a domestically accessible subscription address — check your provider's dashboard.

Format Error / Empty Node List

If the node count is 0 after import, or the client reports a format error:

  • Confirm you selected the Clash/Mihomo format subscription, not V2Ray or ShadowsocksR format.
  • Open the subscription URL directly in a browser and confirm it returns YAML text (starting with proxies:).
  • Check whether the subscription link has expired or your account data quota has been exhausted (providers often return an empty config when traffic runs out).

Nodes Unchanged After Update

  • Verify your network connection and manually visit the subscription URL to check for changes.
  • Clear Clash's configuration cache (location varies by client; usually under Settings → Clear Cache).
  • Check whether the interval setting in your config is reasonable — auto-update will not trigger until the interval has elapsed.

Subscription Format Conversion

If your provider only offers V2Ray or SS format subscriptions, you can use a Subscription Converter to convert them to Clash format:

  • Self-host subconverter (recommended — protects your privacy).
  • Use a public conversion service (poses privacy risks; not recommended for production use).
Download Clash Client — Import Your Subscription and Start Now

Summary

  • Subscription URLs contain all node information and must be refreshed periodically to stay current.
  • Import methods by platform: Clash Verge Rev (Profiles → Import from URL), CMFA (+ → URL), Stash (Profiles → Download from URL).
  • Recommended: set auto-update every 24 hours and enable the "Update on Launch" option.
  • proxy-providers supports multi-subscription merging and region-based node filtering in YAML — ideal for advanced users.
  • When updates fail, first check network connectivity and verify the subscription format is correct.

Further Reading