First make sure the app opens, then set up the config. Get a subscription URL or file from a trusted source and import it using the appropriate option in the client. If the link contains access credentials, paste it directly into the client; don’t submit it to a public website to troubleshoot. After a successful import, you should see proxy groups or nodes. An empty config entry alone doesn’t mean you have a working exit node.
Next, select the config, keep rule mode enabled, and start the service. On Android and iOS, approve the VPN permission prompt; on desktop, enable the system proxy if needed. Test a site that should use the proxy, then a site that should connect directly. Once both work, configure TUN, launch at startup, access controls, or DNS overrides one at a time so you can undo changes easily.
When moving from an older client, migrate the subscription URL and custom rules first rather than copying the entire app data directory. Clients store proxy ports, system services, auto-updates, and local overrides differently. Once the new client works, quit the old one and check that the system proxy no longer points to its port. Running both at once can cause port conflicts or intermittent connections.
Troubleshoot installation and connection failures separately. For installation issues, check the OS version, CPU architecture, signature conflicts, and whether the file downloaded completely. For connection issues, check subscription parsing, exit node status, proxy mode, DNS, and traffic routing. If the app opens, reinstalling it usually won’t fix an expired subscription or unreachable node.