Match the installer to your device
The architecture in the filename is a more reliable guide than your device’s brand. Check System type on Windows, chip details on Mac, the system ABI on Android, or uname -m on Linux. Each identifies whether a program can run on your system. Even with a matching CPU architecture, older systems may lack dependencies required by newer apps, so check the client’s minimum OS version too.
If the download is unusually small, has an incomplete extension, or the browser still shows it in progress, wait for it to finish before running it. If the system reports incompatibility, don’t try every package in turn. Save the full error message and determine whether the cause is the architecture, OS version, permissions, or a missing dependency.
Migrating an old configuration and connecting for the first time
Before migrating from an older client, back up your subscription URL, local YAML, custom rules, and overrides. Subscription updates often regenerate the remote configuration, so edits to generated files may be overwritten next time. Put any changes you need to keep in the override or merge mechanism supported by the new client.
For your first test, use just one traffic-control method. On desktop, try the system proxy first; on mobile, confirm VPN permission. Enable TUN only if you need it. Visit a site and check the connection log for its domain, matched rule, and outbound policy. That’s a better way to confirm the configuration works than relying on the color of a toggle.