---
title: "Import subscriptions and configurations"
description: "How to import a Clash / Mihomo, V2Ray / Xray or Surge subscription or configuration into Potatso on iPhone and iPad, and keep it updated."
---

> Documentation Index
> Fetch the complete documentation index at: https://potatso.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Import subscriptions and configurations

Potatso imports servers, proxy groups, rules and DNS settings from a link, pasted text, a file or a QR code. It detects the format on its own, shows you a preview, and lets you choose what to import and where it goes. A subscription imported from a URL keeps updating.

## Supported formats {#formats}

| Format | What Potatso imports |
| --- | --- |
| Share links (`ss://`, `vless://`, `trojan://`, …) | One server per link. Paste several links at once to import them together. |
| Base64 subscriptions | The servers in the list. This is the usual V2Ray / Xray and Shadowsocks subscription format. |
| Shadowsocks JSON and SIP008 | The Shadowsocks servers. |
| Mihomo / Clash YAML | Proxies, proxy providers, proxy groups, rules, rule providers, DNS settings and the outbound mode. |
| V2Ray / Xray JSON | Outbounds as servers, and routing rules that match domains or IP addresses. |
| Surge profiles | Proxies, proxy groups, rules, rule sets and DNS settings. See [Surge profiles](#surge). |
| Rule lists | The rules in the list. |

When Potatso downloads a subscription, it identifies itself to the server as `clash.meta`. Subscription servers that choose the format by app usually send their Clash / Mihomo configuration, which brings proxy groups and rules along with the servers.

Potatso supports the protocols listed in [Protocols](/docs/protocols/). A server whose protocol or settings Potatso doesn't support is skipped, and the preview says why.

## Import a subscription {#import}

1. On **Home**, tap the **+** button at the top right.
2. Tap **Import via Link/File**.
3. Under **Source**, keep **Link** and paste your subscription URL into the field. You can also paste a share link or a whole configuration.
4. Tap **Continue**. Potatso downloads and reads the subscription, then shows the preview.
5. Check the preview, then tap the button at the bottom to import.

To import a configuration file instead, choose **File** under **Source** and tap **Choose File…**. Potatso reads YAML, JSON, CONF and text files. A file must be UTF-8 text and no larger than 5 MB.

To scan a QR code, tap **Scan QR Code** instead of **Import via Link/File**. To read a QR code from a picture, tap the photo button in the corner of the scanner.

During first-run setup, a pasted or scanned link is imported into your new profile without a preview. See [Getting started](/docs/guides/getting-started/).

## The import preview {#preview}

The top of the preview shows the import's name, its format and the server it came from.

If the subscription server reports your data allowance, the preview shows it:

| Row | Shows |
| --- | --- |
| **Data Used** | Data used so far, and the total when the plan has one, with a progress bar. |
| **Data Remaining** | Data left in the plan. |
| **Expires** | When the subscription expires. The date is red once it has passed. |

If something couldn't be imported, a **Compatibility Issues** row shows how many problems there are. Tap it to see each one. Unsupported content is skipped, and the list says what was skipped and why. Skipped rules are listed with their rule number. **Import Notices** are for your information only, such as a configuration downloaded over plain HTTP.

### Choose what to import {#contents}

Under **Import**, each part of the import has its own row: **Proxies**, **Proxy Groups**, **Rules** and **DNS**, with a count or summary. Tap a row to include it or leave it out. Rules need their proxy groups, and proxy groups need proxies, so they're selected together.

Tap **View All Contents** to see everything in the import: subscription details, proxies, proxy providers, proxy groups, rules and rule providers. You can view each proxy's fields, and edit them before importing unless a subscription manages them.

Entries that only show subscription information, like traffic left or the expiry date, are skipped when you import proxies on their own.

### Choose where it goes {#destination}

Under **Import To**, choose a destination. The choices depend on what you import:

| Destination | What happens |
| --- | --- |
| **Update “…”** | Shown when a profile already follows this subscription. That profile is updated, and your local changes are kept. |
| **New Profile** | Creates a profile from the import. The current profile stays as it is. |
| **Replace Current Profile** | Replaces the proxies, proxy groups and rules of the current profile. Potatso asks you to confirm first. |
| **Add to Current Profile** | Adds the import to the current profile. A configuration with groups or rules is merged once. |

Proxies on their own can go to a new profile or into the current one. When you add them to the current profile, choose under **Add Proxies To** which group lists them: a new group named after the import, one of your existing groups, or **None**. A new group also comes with a `-auto` group that picks the fastest proxy.

Adding a profile needs Potatso Pro. Without Pro, import into the current profile with **Replace Current Profile** or **Add to Current Profile**.

The button at the bottom says what it does, such as **Create “…”**, **Replace “…”** or **Add 12 Proxies**. Tap it to import.

## Automatic updates {#updates}

An import from a URL shows an **Auto Update** switch, on by default, with an **Update Interval** of **Daily**. Whether an import can keep updating depends on what you import:

| What you import | Updates |
| --- | --- |
| A whole configuration into a new or replaced profile | The profile follows the subscription and updates daily. |
| Proxies on their own, with **Auto Update** on | They're added as a proxy subscription that updates daily. You can't edit these proxies. |
| Proxies on their own, with **Auto Update** off | They're added as standalone proxies you can edit. They don't update. |
| Part of a configuration | A one-time copy. Only a complete configuration can keep updating. |
| Rules and proxy groups added to an existing profile | Imported once. |
| A file or pasted text | Imported once: there's nothing to update from. |

### Update a subscription {#update-now}

1. On **Home**, tap **More Configurations**.
2. The **Configuration** page shows the profile as a **Subscription**, with its data allowance if the server reports it, and when it was **Last Updated** and will have its **Next Update**.
3. Tap **Update Now** to update it straight away.

To change how often it updates, tap **Edit** on the same card. Under **Automatic Updates**, choose an **Update Interval**, or turn **Automatic Updates** off. You can also change the **Subscription URL** there; tap **Update Now** after saving to download from the new URL. Until an update succeeds, the profile keeps what it last downloaded. Background updates run when iOS allows.

## Your changes are kept {#local-changes}

You can edit a profile that follows a subscription: add or change proxies, groups and rules, or change its DNS settings. Potatso records these as overrides and applies them again after each subscription update. The original subscription is never modified.

The **Configuration** page lists them under **My Overrides**. Tap **View** to see each one. From there you can revert a change, restore something you removed, or delete something you added. To see what the subscription itself contains, tap **View Original Configuration File**.

## Surge profiles {#surge}

Potatso reads a Surge profile's `[General]` DNS settings, `[Proxy]`, `[Proxy Group]` and `[Rule]` sections. It converts what Potatso has an equivalent for:

- `RULE-SET` and `DOMAIN-SET` rules become rule providers.
- `smart` groups become automatic (`url-test`) groups.
- `subnet` and `ssid` groups become manual groups set to their default policy, because Potatso doesn't switch policies by network.
- A group's HTTP(S) `policy-path` becomes a proxy provider.

These parts aren't imported, and the preview lists them:

- Sections Potatso has no equivalent for, such as `[MITM]`, `[Script]`, `[URL Rewrite]`, `[Header Rewrite]`, `[Body Rewrite]`, `[Map Local]` and `[Host]`.
- `#!include` lines. Import the included files on their own.
- `USER-AGENT` and `URL-REGEX` rules, because Potatso doesn't inspect HTTP requests, and `SCRIPT` rules.
- A proxy's `underlying-proxy` chain. The proxy connects to its server directly.

See [Move from Surge](/docs/guides/migrate-from-surge/) for more.

## Move from another app {#migrate}

- [Move from Shadowrocket](/docs/guides/migrate-from-shadowrocket/)
- [Move from Stash](/docs/guides/migrate-from-stash/)
- [Move from Clash Verge, ClashX or Mihomo](/docs/guides/migrate-from-clash/)
- [Move from Surge](/docs/guides/migrate-from-surge/)

Source: https://potatso.com/docs/guides/import-subscriptions/index.mdx
