Before and after installation
Choose the right package and migrate your configuration
Get the app running first, then handle configuration and connectivity. Troubleshooting one issue at a time makes it easier to find the cause.
Check what type of file you downloaded
Installers, disk images, archives, and core binaries serve different purposes. On Windows, an EXE usually starts an installer; on macOS, a DMG is a disk image that contains an app; on Android, an APK is installed by the system installer. On Linux, both the distribution’s package format and the architecture must match. The file extension alone doesn’t tell you whether a package will work.
Don’t keep opening a file while your browser is still downloading it. If the system says the package isn’t compatible, note the full message and check your system type instead of repeatedly switching clients. Installation failures and invalid subscriptions happen at different stages and should be troubleshot separately.
Keep your configuration; don’t copy the whole data directory
Before upgrading, save your subscription URL, local YAML, custom rules, and overrides. Note your ports, DNS mode, and whether TUN is enabled. Subscription URLs may contain credentials, so don’t post them on public forums or include them in screenshots. When switching clients, rebuild the configuration using the import feature, then check any local changes manually.
Automatic subscription updates may overwrite directly edited settings. For changes you need to keep, use the client’s supported override or extension mechanism. A new client may not recognize the old client’s database, cache, or service state. Copying the entire directory can carry old problems over too.
Know the difference between system proxy and TUN
The system proxy affects apps that read the system proxy settings. TUN uses a virtual network interface to handle matching traffic and involves additional permissions, routes, and DNS settings. Start by testing the system proxy. Once the configuration works, decide whether to enable TUN based on the needs of your apps.
Fully quit the old client before switching, including any background process in the system tray or menu bar. Two clients changing proxy settings at the same time can leave the switch enabled while traffic still goes through the old port. If installation requires permission, check which app and action the prompt refers to first.
Check startup and connectivity separately
If the client opens, the app is running—but that doesn’t mean you’re connected. Next, check that the subscription updates, the configuration is enabled, the proxy mode is right, and the system or app is using the selected traffic-routing method. Rule mode routes traffic based on rule order; it doesn’t send every connection through the proxy.
When something goes wrong, check the error type in the logs first. Configuration parsing, port conflicts, permission failures, and remote connection failures call for different fixes. Note the relevant error, then change one setting at a time. Changing DNS, mode, and routing together makes it harder to identify the cause.