Installer Selection Checklist
When several download buttons are available, use the order below to avoid treating platform, architecture, and client route as one choice.
Check the operating system
First confirm whether the device runs Windows, macOS, Android, or Linux. Each system has different file formats, permission models, and proxy settings; even when the client name is the same, installers cannot be used across platforms.
File format examples: Windows uses a compressed installer, macOS uses DMG, Android uses APK, and Linux uses deb or rpm.
Check the processor architecture
x64 generally means an Intel or AMD 64-bit desktop processor; arm64 covers Apple M-series chips, mainstream Android devices, and some ARM Linux devices. Use the architecture shown in system settings or by system commands.
On Android, use the universal build when the architecture cannot be confirmed; on other platforms, choose the exact architecture whenever possible.
Check the client route
Start with v2rayN on desktop platforms. On Android, v2rayNG is usually preferred; choose v2flyNG only when you specifically need the V2Fly kernel route. Check the protocol, subscription format, and kernel capabilities together.
The GUI client and proxy kernel are different layers; similar interfaces do not mean identical capabilities.
Check existing settings
Before updating or switching clients, record the local listening port, system proxy status, routing rules, per-app settings, and DNS options. If the port changes, update browser extensions, terminal environments, and other apps with manually entered proxy addresses.
Copying only the subscription URL may not restore all local custom settings.