mirror of
https://github.com/2dust/v2rayNG.git
synced 2026-10-29 06:31:54 +00:00
4c9c9afdc9863bd2eef13fe2c791e647aa0dffb0
In root mode, DNS (port 53) is marked into the tun and reaches the
core's SOCKS inbound as a UDP relay to the original resolver address
(e.g. 192.168.1.1:53). The core's routing rule
{inboundTag=socks, port=53, outboundTag=dns-out} should intercept it
and resolve via the configured remote DNS (e.g. Cloudflare DoH).
However, when the system DNS server is a private/LAN IP and the user
has a geoip:private → direct routing rule, that rule matches the
destination IP (192.168.1.1) and sends the DNS query straight to the
LAN resolver (ISP DNS) — bypassing dns-out entirely. This causes:
- DNS poisoning for domains the ISP blocks/poisons
- CDN mis-resolution (wrong POP)
- Intermittent 'some sites work, some don't' behavior
Fix: add iptables nat OUTPUT DNAT to rewrite DNS queries destined for
private/LAN CIDRs to the configured remote DNS server (or 1.1.1.1
fallback), mirroring the existing tethered-client DNAT in
buildLanShareSetup. This prevents geoip:private from matching, so
dns-out can resolve via the proxy.
Verified on OnePlus 13R (OxygenOS 16, WildKernel v2.2.0-r4):
- Before: youtube.com → 185.45.5.35 (fake ISP IP), timeout
- After DNAT to 1.1.1.1: youtube.com → 142.251.45.14 (real), 301
- tcpdump confirms response source changes from 192.168.1.1 to
correct resolution through the proxy
v2rayNG
A V2Ray client for Android, support Xray core and v2fly core
Download / 下载
Download the latest release here:
在这里下载最新版本:
https://github.com/2dust/v2rayNG/releases
Tip
v2rayNG is the mobile version. For the desktop version, please visit the v2rayN
v2rayNG 是手机版,电脑版请访问 v2rayN
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 needs a working proxy)
- latest official domain list and ip list can be imported manually
- possible to use a third-party dat file in the same folder, like h2y
More in our wiki
Geoip 与 Geosite
- geoip.dat 和 geosite.dat 文件位于
Android/data/com.v2ray.ang/files/assets(部分设备路径可能不同) - 下载功能将获取该 仓库 中的增强版本(注意:此功能需要一个可用的代理)
- 最新官方 域名列表 和 IP 列表 可手动导入
- 也可在同一文件夹中使用第三方 dat 文件,例如 h2y
更多内容请见我们的 wiki
Development guide / 开发指南
Note
- Android project under the V2rayNG folder can be compiled directly in Android Studio, or using the 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 the guides for Go Mobile and Makefiles for Go Developers.
- v2rayNG can run on Android Emulators. For WSA, VPN permission needs to be granted via
appops set [package name] ACTIVATE_VPN allow.
提示
- V2rayNG 文件夹下的 Android 项目可直接在 Android Studio 中编译,或使用 Gradle wrapper 编译。但 aar 内置的 v2ray core(可能)已过时。
- aar 可由 Golang 项目 AndroidLibV2rayLite 或 AndroidLibXrayLite 编译而成。快速入门可参考 Go Mobile 指南和 Makefiles for Go Developers。
- v2rayNG 可在 Android 模拟器上运行。对于 WSA,需要通过
appops set [package name] ACTIVATE_VPN allow授予 VPN 权限。
GPG Verification / GPG 签名校验
Release files are signed with GPG to verify authenticity and integrity, helping prevent mirror, ISP, or CDN hijacking.
发布文件已使用 GPG 签名,可用于校验文件真实性与完整性,预防镜像站、运营商或 CDN 劫持。
Fingerprint / 公钥指纹
7694 5E9F 3E9A 168F 8070 F195 805D 661C
134D FAF6 8903 C199 463C 31E5 AE90 3AE0
Community / 社区
Telegram Group / Telegram 群组:
Telegram Channel / Telegram 频道:
Languages
Kotlin
95.6%
HTML
4.1%
Shell
0.3%