This guide is for users downloading v2rayN, moving from the WPF edition, or looking for a consistent workflow across Windows, macOS, and Linux. You’ll learn which environment suits each version and how to migrate subscriptions, routing, ports, and system proxy settings.
What are the Avalonia and WPF desktop editions?
v2rayN's two desktop UI paths are not completely unrelated clients. Both manage server configurations, subscription groups, routing rules, proxy cores, and system proxy status. The main differences come from the GUI technology and operating-system integration. On the download page, “desktop edition” generally means the cross-platform UI built with Avalonia, while “WPF edition” means the traditional Windows interface built with Windows Presentation Foundation.
Avalonia allows the same core UI logic to run on Windows, macOS, and Linux, making it a better fit for users who want a similar workflow across systems. WPF relies on Windows desktop technology and targets Windows only, but it integrates more directly with the Windows notification area, window behavior, and system proxy controls. Users who have worked with older v2rayN releases may also find its menu layout more familiar.
These two numbers need to be understood in context. 10808 is used as the local proxy port in many v2rayN configurations, but an upgrade or backup import may preserve a different value; 127.0.0.1 accepts connections only from the local machine. Check the actual port under Settings → Parameter Settings, rather than changing your browser or other apps based only on a tutorial example.
| Comparison | Avalonia desktop edition | WPF edition |
|---|---|---|
| Supported platforms | Windows、macOS、Linux | Windows |
| UI technology | Avalonia cross-platform UI | Windows WPF UI |
| Best for new installations | Cross-platform use and a consistent workflow | Windows-only use and familiar legacy workflows |
| System integration | Adapted separately for each operating system | Designed around the Windows desktop environment |
What are the practical UI and workflow differences?
The core objects are largely the same in both editions: the main window shows the server list and latency data, subscription management stores remote subscription URLs, routing settings determine where domains or addresses connect, and the system proxy menu controls whether other apps send traffic through v2rayN. Most differences concern button placement, context menus, dialog layouts, and tray-menu hierarchy—not the underlying concepts.
The WPF edition follows the familiar layout of long-established Windows desktop software. The server list is usually the central workspace, and many commands are available from its context menu or the top menu bar. The Avalonia desktop edition must accommodate window conventions across multiple systems, so spacing, dialog styles, keyboard shortcuts, and notification-area behavior may differ from WPF. When following an older screenshot, look for the command name instead of matching the button’s exact location.
Avalonia desktop edition
RecommendedSupports three desktop systems with a similar information structure for core features, reducing the learning curve when switching devices later.
Best for: new installations, cross-platform work, and a consistent UI workflow
WPF edition
Preserves the traditional Windows workflow and is friendlier to legacy configuration procedures, notification-area menus, and established habits.
Best for: a Windows-only setup, staying with the older workflow, and minimizing migration effort
Which commands handle common tasks?
- Add a subscription: Look for “Subscription Group Settings” or a similarly named subscription-management entry. Save the URL, then run an update; do not import a subscription URL as if it were a single server.
- Change the local port: Go to Settings → Parameter Settings and check the local listening port and LAN-access options. The final menu label may change between releases, but Parameter Settings remains the main entry point.
- Switch routing: Choose an existing rule set from Routing Settings or the tray menu. Global, direct, and rule-based routing cover different traffic scopes; changing editions does not automatically change what the rules mean.
- Enable the system proxy: Select an available server and start the core first, then choose a system proxy mode. Launching the main program alone does not mean system traffic is using the proxy.
- Check error details: Open the log area. First confirm that the core started, then check for port conflicts, configuration parsing errors, and connection-handshake details.
Bottom line: follow command names, not old screenshots
Menu locations may differ between Avalonia and WPF, but five task categories remain consistent: subscriptions, parameter settings, routing, system proxy, and logs. During migration, searching by task name is more reliable than following screenshot coordinates.
Are all core features available in both editions?
The UI framework does not define protocol capabilities such as VMess, VLESS, routing, or TLS. The proxy core called by v2rayN establishes the connection; v2rayN generates the configuration, starts the core, and displays its status. To determine whether a node will work, check the v2rayN version, selected core, server parameters, and operating system together—not just whether the UI is Avalonia or WPF.
Subscription import, manual server entry, latency tests, active-profile switching, log viewing, and system proxy controls are baseline features covered by both paths. However, a new feature may receive UI support in one path first, and controls for advanced settings may temporarily use different names. Features requiring administrator privileges, virtual network interfaces, or system-level startup entries are especially dependent on the operating system’s permission model, so results on Windows cannot be assumed for macOS or Linux.
| Feature | How the editions compare | What to check |
|---|---|---|
| VMess and VLESS configuration | Handled by the selected core in both editions | Address, port, transport, TLS, and SNI parameters |
| Subscription updates | Subscription groups can be managed in both editions | Subscription URL, update method, and group-filter results |
| Rule-based routing | Both can generate routing configurations | Rule order, matching scope, and final outbound |
| System proxy | Same goal; implementation depends on the operating system | Proxy mode, local port, and system permissions |
| Startup and notification area | Workflows vary by platform | System authorization, desktop environment, and background runtime state |
Verify the port and LAN access separately
- Open Settings → Parameter Settings and note the current local proxy port. Many configurations use 10808, but an older backup may retain 10809 or a custom port.
- Check the listening address. 127.0.0.1 is for local-machine use only. To let devices on the LAN connect, explicitly enable LAN access and configure the operating system firewall.
- Check proxy ports hard-coded in your browser, download tools, or development tools. These separate settings do not sync automatically when the client port changes.
- After starting the core, review the logs for errors such as “port already in use.” Then switch on the system proxy and test by visiting the target site.
Bottom line: the same UI does not guarantee identical system behavior
Subscriptions and routing can be migrated, but system proxy settings, background operation, permission prompts, and firewall rules must be verified again on each device. Treat cross-platform migration as two separate tasks: configuration data and system integration.
How should you choose between Windows, macOS, and Linux?
Windows users have two options. For a first installation or a workflow that should stay consistent with other desktop systems, start with the Avalonia desktop edition. If you have used WPF for a long time, your subscriptions, routing, and tray workflow are stable, and you do not need cross-platform support, staying with WPF avoids the cost of relearning menus and window behavior.
macOS and Linux users should choose the Avalonia desktop edition because WPF depends on the Windows desktop runtime. Match the download to your processor architecture and read the startup and authorization notes for your platform. On Linux, notification-area support, startup behavior, and system proxy handling may depend on the desktop environment; on macOS, complete the required app authorization the first time you run it.
- New Windows users: Start with the Avalonia desktop edition. Import your subscription, then verify latency tests, the system proxy, and routing; if a specific Windows workflow is not supported, compare it with WPF.
- Existing Windows users: Keep WPF when stability is the priority. Before migrating, export your configuration and record the local port under Parameter Settings.
- macOS users: Choose the Avalonia desktop edition, download the build for your device’s processor architecture, and check after the first launch that the system proxy was actually applied.
- Linux users: Choose the Avalonia desktop edition. In addition to client configuration, check notification-area support in your desktop environment, file-execution permissions, and where proxy settings are managed.
Make the final choice based on your needs
| Use case | Recommended edition | Why |
|---|---|---|
| A similar workflow across three desktop systems | Avalonia desktop edition | The cross-platform UI logic makes features easier to find when switching devices |
| Keeping the established workflow on Windows | WPF edition | The traditional menu, window, and notification-area flow is more familiar |
| Installing v2rayN for the first time | Avalonia desktop edition preferred | Start with the cross-platform path and reduce future adjustment |
| An existing complex Windows setup | Keep WPF initially and test in parallel | Verify subscriptions, routing, ports, and the system proxy before migrating |
Migration checklist: from WPF to the Avalonia desktop edition
The goal of migration is not to re-add every server, but to preserve configuration data without letting both programs modify the system proxy at the same time. Before starting, disable startup and the system proxy, and record the active server, subscription groups, routing profile, local port, and selected core. Keep complex custom rules separately so you can verify them one by one after migration.
If you need to test both editions in parallel briefly, do not let them use the same listening port, such as 10808. A port conflict can make the later core fail while the UI still appears to show a selected server. Start only one edition at a time, or assign the test edition a different port, and confirm which port the browser is currently using.
- Stop the old connection: In the WPF edition, disable the system proxy and exit the core. Confirm that no leftover instance is still running in the notification area.
- Organize the configuration: Export the usable configuration and record the subscription-group name, routing rules, local port, and LAN-access status.
- Install the matching edition: Choose the Avalonia desktop edition for Windows, macOS, or Linux and the appropriate processor architecture.
- Restore subscriptions and servers: Import the configuration first, then update the subscription. Check that the server count and groups match expectations.
- Restore parameters: Go to Settings → Parameter Settings and verify listening parameters such as 127.0.0.1 and 10808. Do not assume the import covers every program setting.
- Verify routing: Select the routing profile used previously, then test a direct address and an address that requires the proxy to confirm that traffic follows the intended rules.
- Enable the system proxy last: Once the core logs look normal and there are no port conflicts, enable the system proxy and test your commonly used apps.
Common selection and migration questions
These issues are usually caused not by the protocol itself, but by choosing the wrong edition, a port conflict, or an unsynchronized system proxy state. Checking the symptoms in order is more effective than repeatedly deleting the subscription.
Do Windows users have to switch to the Avalonia desktop edition?
No forced migration is necessary. If WPF is stable and meets your needs, you can keep using it. Move to the Avalonia desktop edition when you want a consistent cross-platform workflow or are ready for the newer UI path, and test it against the migration checklist.
Can both editions be installed at the same time?
You can keep both programs for comparison, but do not start both cores or let both take control of the system proxy at once. Check the ports under Settings → Parameter Settings and make sure both instances are not listening on 10808.
What should I do if the server list is empty after importing a subscription?
First confirm that the subscription URL is complete, then update the subscription and review the logs. If a group filter is active, clear the keyword filter and check again. If the list is still empty, verify that the returned subscription format is supported by the current edition.
Why does it show as connected after migration, but webpages will not open?
Check the core logs and system proxy status first, then verify the local port. If the browser is fixed to 127.0.0.1:10808 while the new edition uses another port, the UI may show a connection even though the app cannot access the network.
Will node speeds differ between the Avalonia and WPF editions?
The UI framework is usually not the main speed variable. Compare the same server, core, protocol parameters, and routing rules, and prioritize checks of network quality, server load, and transport settings.
In short, choose the Avalonia desktop edition directly on macOS and Linux. Windows newcomers should start with Avalonia, while Windows users with a stable workflow built around the older UI can continue with WPF. Whichever path you choose, validate subscription updates, core startup, routing results, local ports, and the system proxy in practice.