How cores work

v2rayN manages profiles while a core handles traffic. A per-profile Core type takes precedence over the global selection. Successful import does not guarantee that every core supports the profile’s protocol or transport.

Before switching, check protocol, transport, TLS/REALITY, multiplexing and routing. Keep a working profile and change one component at a time.

Main core families

Releases bundle some Xray, sing-box and mihomo files. Each has its own configuration schema; renaming a custom configuration does not convert it.

CoreClient usage
Xray / v2flyV2Ray-family profiles; match newer configuration, TLS and transports to core version
sing-boxGenerated profiles, groups and TUN; 7.25.6 supports and caps the maximum version at 1.14
mihomoClash-style custom YAML; usually omit an extra Socks frontend when the file supplies its own routing

Other listed cores

The official list also includes Hysteria 2, NaiveProxy, TUIC, Juicity, Brook, OverTLS and ShadowQUIC. These serve their respective protocols or custom configurations; inclusion does not mean Xray supports every protocol.

Use a binary matching your platform and architecture and select the appropriate Core type. For complete custom files, inspect their inbound address/port, routing and DNS, which may be controlled by the file itself.

Custom-profile ports

GEO and rule-set data

geosite classifies domains; geoip classifies IP ranges. Referenced categories must exist in data readable by the active core. Xray DAT resources and sing-box SRS rule sets are not interchangeable.

Common sources include Loyalsoldier/v2ray-rules-dat and 2dust/sing-box-rules. Update data through the client; regional presets influence sources. An interval of 0 disables scheduled updates. For missing categories or files, check source, category name and core format first.

Custom rule sets

Handle version mismatches

Check the actual core/version in logs. An unknown-field error usually points to schema mismatch; an unsupported-protocol error points to missing protocol support.

Use the core version expected by the client, regenerate configuration and temporarily disable a custom template for comparison. Randomly deleting fields may change connection or routing behavior.

Core startup troubleshooting