Installation and migration
Post-download checklist
Install the client and load a configuration before changing how traffic is routed. Change one setting at a time to make issues easier to track down.
Installation files and permissions
After downloading, check that the file format matches your operating system: EXE for Windows installers, DMG for macOS, APK for Android, and DEB or RPM for the corresponding package manager. Archives need to be extracted; they aren’t installers.
If the system reports an incompatibility, note the full message and check the architecture, OS version, and dependencies. Installation steps that request permission should have a clear purpose. Don’t disable all system security features to work around an unknown error, or install extra components from an unclear prompt.
Importing a configuration and making your first connection
After installing the client, open the configuration page and import a subscription link or local YAML file. Confirm that it parses successfully and select it. Check that the proxy groups contain a usable outbound, choose a rule mode, then start the proxy or VPN feature appropriate for your platform.
Finally, verify the connection using the logs and the app’s actual network behavior. A successful latency test only means that the test request received a response; it doesn’t verify app traffic. If a site behaves unexpectedly, check the matched rule, selected proxy group, and DNS behavior.
Migrating from an older client
Before switching clients, keep your subscription URL, local rules, override files, and any interface settings you need. Remote subscriptions can usually be imported again, but script paths, rule-set caches, and client-specific fields may need separate handling. Verify everything in the new setup before removing the old client.
While testing the migration, disable the old app’s system proxy, TUN, and auto-start to prevent multiple clients from routing traffic at once. Archived apps can help you compare configurations, but don’t assume they support current protocols and configuration fields.
Client version and core version
The client version describes the interface and bundled features; the core version determines support for many protocols and configuration options. They may not advance in sync. After updating the interface, check which core the client actually uses. Replacing the core alone may not change the version shown in the interface.
Cards on this page display a version only when non-empty version information is available. No version shown doesn’t mean the installer won’t work, and it doesn’t indicate when it was last updated. Check the package’s release notes, in-app information, and runtime logs for changes and compatibility details.