4a78c165bc4ea92f727bd35abccd5e20b2f3cab6
Rework CoreConfigContextBuilder and CoreConfigManager to centralize and simplify outbound resolution and runtime config assembly. Key changes: handle CUSTOM profiles early, introduce ResolvedOutbound and resolvedOutbounds list, resolve routing-target outbounds separately, and unify normal/group/chain build flows into buildUnifiedConfig. Routing, DNS, inbounds, outbounds and balancer logic were modularized (configureInbounds/configureRouting/configureDns/configureFakeDns/configureLocalDns/etc.), balancer strategies and observability are consolidated, and domain pre-resolution/hosts handling preserved. Also added new balancer tag naming (TAG_BALANCER_PRE) and small API/utility adjustments across CoreOutboundBuilder, DTOs and enums to support the new flow. These changes improve clarity of the build pipeline, make custom/routing outbounds handling explicit, and prepare for richer policy-group balancing behavior.
v2rayNG
A V2Ray client for Android, support Xray core and v2fly core
Telegram Channel
Usage
Geoip and Geosite
- geoip.dat and geosite.dat files are in
Android/data/com.v2ray.ang/files/assets(path may differ on some Android device) - download feature will get enhanced version in this repo (Note it need a working proxy)
- latest official domain list and ip list can be imported manually
- possible to use third party dat file in the same folder, like h2y
More in our wiki
Development guide
Android project under V2rayNG folder can be compiled directly in Android Studio, or using Gradle wrapper. But the v2ray core inside the aar is (probably) outdated.
The aar can be compiled from the Golang project AndroidLibV2rayLite or AndroidLibXrayLite.
For a quick start, read guide for Go Mobile and Makefiles for Go Developers
v2rayNG can run on Android Emulators. For WSA, VPN permission need to be granted via
appops set [package name] ACTIVATE_VPN allow
Languages
Kotlin
95.5%
HTML
4.2%
Shell
0.3%