AndroidLibV2ray
                                
                                 AndroidLibV2ray copied to clipboard
                                
                                    AndroidLibV2ray copied to clipboard
                            
                            
                            
                        hello, could you please say the meaning or according of this dir? @xiaokangwang https://github.com/xiaokangwang/AndroidLibV2ray/blob/master/interact.go#L288
貌似不支持x86模拟器运行呢,能把x86架构编译进库里吗?
在模拟器(Nexus 6P API 27(Android 8.1.0,API 27))上运行一会之后,vpnservice会被杀,期间网络不能正常访问。已测试多款模拟器,都出现该情况。但真机实测是正常的。出现的崩溃日志如下: 11-13 01:00:37.957 8316-0/com.package.test:V2RayVPN E/Go: (0x0,0x0) 11-13 01:00:37.957 8316-8354/com.package.test:V2RayVPN E/GoLog: (0x0,0x0) 11-13 01:00:37.961 8316-0/com.package.test:V2RayVPN E/Go: panic: runtime error: invalid memory address or nil pointer dereference...
Android 6.0以后系统支持多用户,分别为"主要用户"、"次要用户"、“访客”。以前的手机用户内置存储区在/data/data/packagename/中。但是现在的用户内置存储区在/data/user/userId/packagename/目录。比如,“主要用户”的userid为0,则它的私人内部存储区在/data/user/0/com.v2ray.ang/目录,而第一个“次要用户”的userid为10,它的私人内部存储区在/data/user/10/com.v2ray.ang/目录,以此类推。手机/data/data/packagename/目录仍然存在,应该是为了兼容性考虑,但是这个目录只有“主要用户”可以访问。所以导致了“次要用户”安装这个应用的时候,无法成功启动vpn服务。通过logcat可以看到,提示“fork exec /data/data/tun2sock : permission denied”。 希望作者能修改这个问题,让多用户的手机也可以安装使用。 获取用户内部存储目录有相关函数,但方便起见我做了如下修改,并测试,已经测试通过。“主要用户”、“次要用户”都可以成功运行。用户的userid可以通过uid/100000得到。CoreI/Status.go中的getDataDir()函数修改如下: func (v *Status) getDataDir() string { var datadir = "/data/data/org.kkdev.v2raygo/" if v.PackageName != "" { datadir = "/data/user/" + strconv.Itoa(os.Getuid()/100000) +...
在Android中,开启VPN后,OS仍会负责发起域名解析请求。libv2ray会将DNS请求当作UDP报文直接进行路由,而在默认使用8.8.8.8访问geoip:cn的情况下,在远端发送DNS请求会导致返回不适合本地的IP地址,导致网页访问缓慢或者返回了面向海外的页面。而在PC上,Socks客户端向服务端发送的只有域名信息,域名的解析由v2ray全权负责。tun2socks虽然将tun界面转换为了socks界面,却并不能良好的处理DNS请求,导致DNS请求全部被无脑转发、返回了不适合直连的CDN。比如,通过Actinium访问淘宝,在全局代理下会被重定向到国际版,而在PC上是正常的。原文一开始发在了v2ray/core下,但我感觉应该是libv2ray的实现方式有问题,和v2ray本身应该没有关系。所以稍加编辑、发在了这里。 环境: - 服务器端:2.47 - PC端:2.47,传入连接使用Socks协议。 - Android端:2.50+libv2ray 25+Actinium。 下面是我的猜测。 首先,Firefox在创建连接时是直接向v2ray发送的域名,本身并没有生成DNS请求。Socks协议允许客户端建立TCP连接时直接请求域名而无须预先将域名解析成IP地址,而Firefox则完全没有参与域名的解析过程,在访问某个页面时只是把域名直接发送给了Socks服务器。若访问的域名属于`geosite:cn`,则wireshark中可发现对该网站的DNS请求。若访问的域名不属于`geosite:cn`,wireshark中就不能发现对该网站的DNS请求,而v2ray的log中可见通过隧道向`8.8.8.8:53`发起的的DNS请求。真正生成DNS请求的应该是v2ray本身。V2ray将会通过路由规则来选择将DNS请求送给OS中设置的DNS服务器或v2ray的配置文件中指定的DNS服务器。 PC环境下Wireshark所获取的Socks报文如下。 ``` Transmission Control Protocol, Src Port: 14696, Dst Port: 1082, Seq: 1, Ack: 1, Len: 3 Socks Protocol...
见 https://github.com/2dust/v2rayNG/issues/26
在conf目录里conf_vpnservice.json conf_ws_vpnservice.json config_mobile.json三个配置文件中的#lib2ray里配置的是什么信息
LoadJNI里 System.loadLibrary("gojni")加载so库时报错 is missing DT_SONAME will use basename as a replacement: "libgojni.so"
虽然Actinium凉了很久 还有就是有具体编译教程吗 我编译总报错 怀疑是环境变量不对