v2fly / v2ray-step-by-step

This repo is a fork of ToutyRater/v2ray-guide, we aim to provide a new step-by-step guide of v2ray
https://guide.v2fly.org
Creative Commons Attribution 4.0 International
745 stars 425 forks source link

android without root use v2ray #219

Closed CalmLong closed 3 years ago

elvisw commented 3 years ago

感觉用Termux更方便一些……

CalmLong commented 3 years ago

~有 Root 怎么都方便~

elvisw commented 3 years ago

~有 Root 怎么都方便~

Termux不需要root……

CalmLong commented 3 years ago

~有 Root 怎么都方便~

Termux不需要root……

关掉它会影响程序运行吗

elvisw commented 3 years ago

~有 Root 怎么都方便~

Termux不需要root……

关掉它会影响程序运行吗

关了里面的进程肯定也没了,不过可以用这个: https://wiki.termux.com/wiki/Termux-wake-lock

CalmLong commented 3 years ago

~有 Root 怎么都方便~

Termux不需要root……

关掉它会影响程序运行吗

关了里面的进程肯定也没了,不过可以用这个: https://wiki.termux.com/wiki/Termux-wake-lock

那就见仁见智了,用 adb 后台运行 core 之后无需外挂程序

elvisw commented 3 years ago

~有 Root 怎么都方便~

Termux不需要root……

关掉它会影响程序运行吗

关了里面的进程肯定也没了,不过可以用这个: https://wiki.termux.com/wiki/Termux-wake-lock

那就见仁见智了,用 adb 后台运行 core 之后无需外挂程序

但是需要电脑 😄

CalmLong commented 3 years ago

~有 Root 怎么都方便~

Termux不需要root……

关掉它会影响程序运行吗

关了里面的进程肯定也没了,不过可以用这个: https://wiki.termux.com/wiki/Termux-wake-lock

那就见仁见智了,用 adb 后台运行 core 之后无需外挂程序

但是需要电脑 😄

用户会自己选择合适的方案

CalmLong commented 3 years ago

还是感觉适合自己独享

nicholascw commented 3 years ago

感觉没啥大问题呀为啥突然又自己关闭了QAQ

elvisw commented 3 years ago

感觉设置APN代理还是有一些兼容性问题的,不知道有没有Android app能把socks代理甚至http代理转化成VPN

CalmLong commented 3 years ago

感觉设置APN代理还是有一些兼容性问题的,不知道有没有Android app能把socks代理甚至http代理转化成VPN

我用了几天没发现什么兼容性问题,上银行软件也没发现什么,那你能举几个例子吗

CalmLong commented 3 years ago

感觉没啥大问题呀为啥突然又自己关闭了QAQ

杠精太多,懒的伺候

CalmLong commented 3 years ago

HTTP代理顾名思义只在HTTP场景下才会使用,要说兼容性问题那也应该是 SOCKS 代理带来兼容性问题的可能更大

对于使用 SOCKS 还是 HTTP,core 又不会因为在安卓上功能受限制,例如 Telegram 支持 SOCKS 代理,填写上 127.0.0.1 加端口号不就行了,要是改变成别的还不如直接用套壳App

CalmLong commented 3 years ago

APN 选项又不是非得设置,只是一个解决方案而已,core 已经跑起来了,怎么用不全看个人选择吗

有电脑没电脑那是个人问题,和翻墙、教程有什么关系

至于觉得操作复杂那完全是不适合看这个,又没人逼你用;考虑到是白话文,不然我都觉得写的已经很啰嗦了

你要是有什么可以免 Root 的并能全局代理的方案可以直接提出来,而不是在这里总是当杠精和搞玄学

elvisw commented 3 years ago

淡定,我没有说你写的教程不好,只是讨论一下嘛。至于免root和全局代理,V2RayNG这个app不就可以么

sensitive-account commented 3 years ago

大佬您好 看到您的文档 我才意识到以往忽略了freedom出口默认(不使用useip)需要依赖系统DNS解析 如您所说: 而Android没有/etc/resolve.conf go默认会指向127.0.0.1:53 Android默认也是没有本地DNS监听127.0.0.1:53的 然后就产生了一个以前没有的疑惑 termux直接跑core的话 因为termux环境是有/etc/resolve.conf的 没有问题可以理解 那v2rayNG和v2ray的magisk模块 为什么在访问国内时候正常呢?也许v2rayNG编译时候也进行了修改 但是模块使用的都是预编译的core自己替换即可 这就很奇怪了。。。

nicholascw commented 3 years ago

magisk有root啊可以直接加resolv.conf

sensitive-account notifications@github.com 于 2020年12月29日周二 11:01写道:

大佬您好 看到您的文档 我才意识到以往忽略了freedom出口默认(不使用useip)需要依赖系统DNS解析 如您所说: 而Android没有/etc/resolve.conf go默认会指向127.0.0.1:53 Android默认也是没有本地DNS监听127.0.0.1:53的 然后就产生了一个以前没有的疑惑 termux直接跑core的话 因为termux环境是有/etc/resolve.conf的 没有问题可以理解 那v2rayNG和v2ray的magisk模块 为什么在访问国内时候正常呢?也许v2rayNG编译时候也进行了修改 但是模块使用的都是预编译的core自己替换即可 这就很奇怪了。。。

— You are receiving this because your review was requested. Reply to this email directly, view it on GitHub https://github.com/v2fly/v2ray-step-by-step/pull/219#issuecomment-752160542, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABYSFKUFV3OWCW2S57UDYRDSXIDN3ANCNFSM4VGKXF4A .

CalmLong commented 3 years ago

大佬您好 看到您的文档 我才意识到以往忽略了freedom出口默认(不使用useip)需要依赖系统DNS解析 如您所说: 而Android没有/etc/resolve.conf go默认会指向127.0.0.1:53 Android默认也是没有本地DNS监听127.0.0.1:53的 然后就产生了一个以前没有的疑惑 termux直接跑core的话 因为termux环境是有/etc/resolve.conf的 没有问题可以理解 那v2rayNG和v2ray的magisk模块 为什么在访问国内时候正常呢?也许v2rayNG编译时候也进行了修改 但是模块使用的都是预编译的core自己替换即可 这就很奇怪了。。。

奇怪的是 Android

直接把二进制程序放到 Android 系统里面运行其实就相当于程序在一个阉割版的 Android 环境中,打包成 APK 的应用程序运行才能享受 "完整" 的 Android 的环境;"完整" 的环境内就可以使用 Android 的许多接口,这其中就包含获取系统 DNS 的接口

APK 的应用程序是通过 Android 提供的接口的方式获取到系统的 DNS 的

所以,v2rayNG 是一个 APK 程序它可以通过接口获得系统的 DNS,其他程序也是如此

二进制程序本身什么都不包含,也就无法使用这些接口了

CalmLong commented 3 years ago

不过让人不解的是为什么 Android 要把系统的 DNS 删掉,然后让 APK 通过接口获取

sensitive-account commented 3 years ago

magisk有root啊可以直接加resolv.conf sensitive-account notifications@github.com 于 2020年12月29日周二 11:01写道: 大佬您好 看到您的文档 我才意识到以往忽略了freedom出口默认(不使用useip)需要依赖系统DNS解析 如您所说: 而Android没有/etc/resolve.conf go默认会指向127.0.0.1:53 Android默认也是没有本地DNS监听127.0.0.1:53的 然后就产生了一个以前没有的疑惑 termux直接跑core的话 因为termux环境是有/etc/resolve.conf的 没有问题可以理解 那v2rayNG和v2ray的magisk模块 为什么在访问国内时候正常呢?也许v2rayNG编译时候也进行了修改 但是模块使用的都是预编译的core自己替换即可 这就很奇怪了。。。 — You are receiving this because your review was requested. Reply to this email directly, view it on GitHub <#219 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABYSFKUFV3OWCW2S57UDYRDSXIDN3ANCNFSM4VGKXF4A .

啊这 好久没用模块了 其实我没验证 刚才看了下模块路径 {MODDIR}/system/etc 是有一个resolve.conf去挂载.... 我憨了 不好意思😂

sensitive-account commented 3 years ago

不过让人不解的是为什么 Android 要把系统的 DNS 删掉,然后让 APK 通过接口获取

可能是逐步限制了吧...昨晚隔壁群看到他们在讨论如何在Android端热更新/替换 core 说到以前app的obb里是可以直接跑二进制的...

elvisw commented 3 years ago

大佬您好 看到您的文档 我才意识到以往忽略了freedom出口默认(不使用useip)需要依赖系统DNS解析 如您所说: 而Android没有/etc/resolve.conf go默认会指向127.0.0.1:53 Android默认也是没有本地DNS监听127.0.0.1:53的 然后就产生了一个以前没有的疑惑 termux直接跑core的话 因为termux环境是有/etc/resolve.conf的 没有问题可以理解 那v2rayNG和v2ray的magisk模块 为什么在访问国内时候正常呢?也许v2rayNG编译时候也进行了修改 但是模块使用的都是预编译的core自己替换即可 这就很奇怪了。。。

如果没有root的话,termux一样也读不到/etc/resolv.conf,所以DNS也会出同样的问题。不过如果是termux的话,可以考虑用proot模拟一个“真正的”Linux发行版环境。proot是不需要手机的root权限的。

sensitive-account commented 3 years ago

话说我又有了个疑问... freedom加一个useip调用内置的 是不是就好了 不用折腾( 但是好像您这个和 NG/模块 都没有这样做 不是很理解 可能是因为: 您这个不用说 肯定是要自己提供json的 NG可能会有用户导入自定义json 模块肯定也是用户自己的json 一般大家的json默认又不加useip 到时候用户会出问题?

sensitive-account commented 3 years ago

大佬您好 看到您的文档 我才意识到以往忽略了freedom出口默认(不使用useip)需要依赖系统DNS解析 如您所说: 而Android没有/etc/resolve.conf go默认会指向127.0.0.1:53 Android默认也是没有本地DNS监听127.0.0.1:53的 然后就产生了一个以前没有的疑惑 termux直接跑core的话 因为termux环境是有/etc/resolve.conf的 没有问题可以理解 那v2rayNG和v2ray的magisk模块 为什么在访问国内时候正常呢?也许v2rayNG编译时候也进行了修改 但是模块使用的都是预编译的core自己替换即可 这就很奇怪了。。。

如果没有root的话,termux一样也读不到/etc/resolv.conf,所以DNS也会出同样的问题。不过如果是termux的话,可以考虑用proot模拟一个“真正的”Linux发行版环境。proot是不需要手机的root权限的。

如果是不su直接运行的话 应该是用的termux的$PREFIX/etc/resolve.conf吧?(

elvisw commented 3 years ago

话说我又有了个疑问... freedom加一个useip调用内置的 是不是就好了 不用折腾( 但是好像您这个和 NG/模块 都没有这样做 不是很理解 可能是因为: 您这个不用说 肯定是要自己提供json的 NG可能会有用户导入自定义json 模块肯定也是用户自己的json 一般大家的json默认又不加useip 到时候用户会出问题?

你可以参考这个:https://github.com/v2ray/v2ray-core/issues/1909#issuecomment-685821188

CalmLong commented 3 years ago

话说我又有了个疑问... freedom加一个useip调用内置的 是不是就好了 不用折腾( 但是好像您这个和 NG/模块 都没有这样做 不是很理解 可能是因为: 您这个不用说 肯定是要自己提供json的 NG可能会有用户导入自定义json 模块肯定也是用户自己的json 一般大家的json默认又不加useip 到时候用户会出问题?

问题就诡异在这里,Freedom 使用 UseIP 时 V2Ray 确实会使用内置的 DNS 来解析,但是一段时间后就会出现请求 127.0.0.1:53 的情况,然后就完了。。但是如果修改了 Go 语言的源码后,这个问题就不存在了

sensitive-account commented 3 years ago

话说我又有了个疑问... freedom加一个useip调用内置的 是不是就好了 不用折腾( 但是好像您这个和 NG/模块 都没有这样做 不是很理解 可能是因为: 您这个不用说 肯定是要自己提供json的 NG可能会有用户导入自定义json 模块肯定也是用户自己的json 一般大家的json默认又不加useip 到时候用户会出问题?

问题就诡异在这里,Freedom 使用 UseIP 时 V2Ray 确实会使用内置的 DNS 来解析,但是一段时间后就会出现请求 127.0.0.1:53 的情况,然后就完了。。但是如果修改了 Go 语言的源码后,这个问题就不存在了

原来是这样.... 还有历史bug在这里等着....

elvisw commented 3 years ago

大佬您好 看到您的文档 我才意识到以往忽略了freedom出口默认(不使用useip)需要依赖系统DNS解析 如您所说: 而Android没有/etc/resolve.conf go默认会指向127.0.0.1:53 Android默认也是没有本地DNS监听127.0.0.1:53的 然后就产生了一个以前没有的疑惑 termux直接跑core的话 因为termux环境是有/etc/resolve.conf的 没有问题可以理解 那v2rayNG和v2ray的magisk模块 为什么在访问国内时候正常呢?也许v2rayNG编译时候也进行了修改 但是模块使用的都是预编译的core自己替换即可 这就很奇怪了。。。

如果没有root的话,termux一样也读不到/etc/resolv.conf,所以DNS也会出同样的问题。不过如果是termux的话,可以考虑用proot模拟一个“真正的”Linux发行版环境。proot是不需要手机的root权限的。

如果是不su直接运行的话 应该是用的termux的$PREFIX/etc/resolve.conf吧?(

标准的go运行环境没法检测到termux的$PREFIX,除非你像楼主一样修改源码重新编译go,或者用proot

sensitive-account commented 3 years ago

大佬您好 看到您的文档 我才意识到以往忽略了freedom出口默认(不使用useip)需要依赖系统DNS解析 如您所说: 而Android没有/etc/resolve.conf go默认会指向127.0.0.1:53 Android默认也是没有本地DNS监听127.0.0.1:53的 然后就产生了一个以前没有的疑惑 termux直接跑core的话 因为termux环境是有/etc/resolve.conf的 没有问题可以理解 那v2rayNG和v2ray的magisk模块 为什么在访问国内时候正常呢?也许v2rayNG编译时候也进行了修改 但是模块使用的都是预编译的core自己替换即可 这就很奇怪了。。。

如果没有root的话,termux一样也读不到/etc/resolv.conf,所以DNS也会出同样的问题。不过如果是termux的话,可以考虑用proot模拟一个“真正的”Linux发行版环境。proot是不需要手机的root权限的。

如果是不su直接运行的话 应该是用的termux的$PREFIX/etc/resolve.conf吧?(

标准的go运行环境没法检测到termux的$PREFIX,除非你像楼主一样修改源码重新编译go,或者用proot

嗯嗯 我termux下还有个arch 那个应该符合 然后我刚才termux试了下 无提权cat /etc/resolv.conf 好像是读取到了模块挂载的那个系统环境的resolv.conf....

CalmLong commented 3 years ago

话说我又有了个疑问... freedom加一个useip调用内置的 是不是就好了 不用折腾( 但是好像您这个和 NG/模块 都没有这样做 不是很理解 可能是因为: 您这个不用说 肯定是要自己提供json的 NG可能会有用户导入自定义json 模块肯定也是用户自己的json 一般大家的json默认又不加useip 到时候用户会出问题?

问题就诡异在这里,Freedom 使用 UseIP 时 V2Ray 确实会使用内置的 DNS 来解析,但是一段时间后就会出现请求 127.0.0.1:53 的情况,然后就完了。。但是如果修改了 Go 语言的源码后,这个问题就不存在了

原来是这样.... 还有历史bug在这里等着....

或许是 Go 语言对 Android 支持的问题吧,关于 Android 没有 /etc/resolv.conf 的问题很早就有人提了,但是Go官方好像不理会

sensitive-account commented 3 years ago

话说我又有了个疑问... freedom加一个useip调用内置的 是不是就好了 不用折腾( 但是好像您这个和 NG/模块 都没有这样做 不是很理解 可能是因为: 您这个不用说 肯定是要自己提供json的 NG可能会有用户导入自定义json 模块肯定也是用户自己的json 一般大家的json默认又不加useip 到时候用户会出问题?

问题就诡异在这里,Freedom 使用 UseIP 时 V2Ray 确实会使用内置的 DNS 来解析,但是一段时间后就会出现请求 127.0.0.1:53 的情况,然后就完了。。但是如果修改了 Go 语言的源码后,这个问题就不存在了

原来是这样.... 还有历史bug在这里等着....

或许是 Go 语言对 Android 支持的问题吧,关于 Android 没有 /etc/resolv.conf 的问题很早就有人提了,但是Go官方好像不理会

这就很尴尬了 自家不兼容自家( 😂