iTXTech / Daedalus

No root required Android DNS modifier and Hosts/DNSMasq resolver.
https://itxtech.org
GNU General Public License v3.0
1.39k stars 203 forks source link

[Advice]Local listening mode #73

Closed JiaJiaJiang closed 5 years ago

JiaJiaJiang commented 5 years ago

I hope a mode that listens on a local port(such as 0.0.0.0:53 or other ports) can be added. This may be able to solve the confliction with other apps which uses VPN mode.

PeratX commented 5 years ago

Please tell me which app can customize DNS server on Android? Android will query the default DNS server directly if not using VPN.

JiaJiaJiang commented 5 years ago

Some proxy apps can set an upsteam dns server for dns querying (such as BifrostV), if Daedalus can listen on a local port as a dns server, Daedalus will be able to cooperate with other proxy apps which use VPN mode.

PeratX commented 5 years ago

never heard that. btw, you can implement it yourself.

JiaJiaJiang commented 5 years ago

OK, i just have to learn android developing before that. btw,how do you use Daedalus and an proxy app at the same time?

PeratX commented 5 years ago

If you want to setup a local DNS server, netty is a good choice and it does not require any Android programming knowledge. The following content is written in Chinese. Please let me know if you cannot understand. 其实,我不会混用他们。fq用shadowsocks一般情况下已经够了。国内环境用Daedalus过滤就行了。

PeratX commented 5 years ago

而且我猜你在用v2ray吧

JiaJiaJiang commented 5 years ago

是呀,我部署的ss连着被封死好几次不想再搬家了,所以我换了v2ray。v2ray的客户端还没见有用root模式的,所以打开他们就用不了Daedalus。我感觉Daedalus能比较有效解决dns污染的问题,所以才提了这个建议。

PeratX commented 5 years ago

但是我记得fq之后是可以用远程DNS解析的,本身也不会有污染了。 ss被封是正常,你需要阿里云CN2,人有多大胆,ss有多快。

JiaJiaJiang commented 5 years ago

为了防止出现国内服务被解析到境外服务器导致国内服务体验变差的问题感觉还是同时使用本地和远程解析比较靠谱。可以本地先解析了,然后只代理国外ip这样,如果全部都是远程解析那么会导致部分有国外节点的国内网站被解析到国外去。

PeratX commented 5 years ago

ss我记得可以设置pac,不知道v2ray可以不

JiaJiaJiang commented 5 years ago

可以是可以,但是这国内运营商访问境外网都会有一定程度抽搐,像是最近移动到cloudflare的线路又在抽了,所以我就没用pac,直接代理了所有境外ip。这么做就必须要自己搞定能正确解析网站ip还不能被污染的问题。 你没兴趣加这个功能的话我再想想其它方案吧,要关闭issue吗。

PeratX commented 5 years ago

本身其实不难,但是我感觉不太合适,而且适用面不大。 如果你有netty的编程基础的话,一点都不难。 可以加入tg群组讨论,如果你在编写的时候遇到了问题。

JiaJiaJiang commented 5 years ago

看了看发现netty是java的框架,我java虽然学过不过没啥实际开发经验,估计会比较困难吧。要是node.js的话我可能可以写得出来。 我只是觉得这个app里已经做了这么些实用功能了,在这上面加一个入口总比自己从头研究开发好。那我有空的时候看看能不能自己在上面实现它吧。 issue关闭咯

PeratX commented 5 years ago

nodejs当然也可以实现,那直接termux吧 ┑( ̄Д  ̄)┍