2dust 3e823a7440 Pre-resolve and inject custom outbounds
Pre-resolve outbound profiles referenced by routing rules and pass them through the runtime context so they can be injected into generated V2ray configs.

Key changes:
- Added customOutboundProfiles: Map<String, ProfileItem> to CoreConfigContext.
- CoreConfigContextBuilder: new resolveCustomOutbounds() to collect non-builtin outbound tags from routing rulesets and build the map; builder now populates customOutboundProfiles and simplifies resolvedProfiles/type handling.
- CoreConfigManager: refactored many APIs to accept CoreConfigContext instead of raw Context/guid (toConfigResult, initV2rayConfig, getRouting, getOutbounds, getBalance, etc.), and uses the pre-resolved customOutboundProfiles when injecting custom outbounds.
- injectCustomOutbounds now accepts the pre-resolved map and converts ProfileItem -> Outbound only for missing tags.
- Added logging/error handling and minor tidying to avoid repeated lookups and ensure custom outbounds are available before routing is applied.

Rationale: ensure outbounds referenced by rulesets are available early in the build pipeline, reduce duplicate lookups, and centralize runtime data in CoreConfigContext.
2026-05-02 14:47:03 +08:00
2025-03-28 10:56:59 +08:00
2026-01-12 19:33:15 +08:00
2023-11-17 14:15:29 +08:00
.
2023-01-12 14:35:38 +08:00
2026-01-12 19:33:15 +08:00

v2rayNG

A V2Ray client for Android, support Xray core and v2fly core

API Kotlin Version GitHub commit activity CodeFactor GitHub Releases Chat on Telegram

Telegram Channel

github_2dust

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

S
Description
A V2Ray client for Android, support Xray core and v2fly core
Readme GPL-3.0 908 MiB
2.2.2 Latest
2026-06-01 11:02:15 +03:00
Languages
Kotlin 93.4%
HTML 6.5%
Shell 0.1%