iTXTech / Daedalus

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

Feature request: separately run Daedalus service and VPN interface #105

Open solarelf opened 5 years ago

solarelf commented 5 years ago

Hi all!

I would like to suggest a change in how user can use D.,

Consider this: if a possibility to run D. service and VPN interface separately existed (the way it is implemented in Orbox), we could use D. as a DNS proxy server, and forward DNS requests to it without occupying VPN. So, I can see how D. can be used side-by-side a firewall app, or SSH client or VPN client etc., which all occupy VPN (and only one is available on non-rooted devices).

PeratX commented 5 years ago

Nice suggestion! I will work on it when I passed NCEE in July. The technology has already implemented, but it need adjustments to support advanced protocols, such as DNS over HTTPS/TLS/TCP.

PeratX commented 5 years ago

now working on it

solarelf commented 5 years ago

Excellent! We are all looking forward for this feature, thank you!

PeratX commented 5 years ago

I am wondering which ip address should DNS Server listening on? I think those apps won't support uncommon port.

solarelf commented 5 years ago

@PeratX Simple. Daedalus DNS server should definetely listen on 127.0.0.1, and optionally on enumerated NICs ip's, like 192.168.0.1, 10.1.10.1 etc. The best (and most suitable option) could be letting user make a choice: ip's to run on, and port number to serve. In my case, 127.0.0.1 and Port 5353 will do the trick (NetGuard defaults). Thank you for your prompt answer!

PeratX commented 5 years ago

Seems I need to write a separate server with different handlers again! These providers cannot be reused in this mode. I will offer an option to let user customize ip and port. Should I use Netty? But if I do that, apk size will increase a lot.

solarelf commented 5 years ago

@PeratX Humm... I did not know that an option that seems so simple and obvious could require so much efforts to implement.. apk size is not any problem for majority of contemporary devices though. IP should be selected from enumerated interfaces list (127.0.0.1 included), while the serving port indeed should be selected arbitrary by user from higher ports (>1024). Thank you very much for your ongoing interest in this valuable feature!

PeratX commented 5 years ago

Starting implementing it to Android

solarelf commented 5 years ago

@PeratX Hurray!

PeratX commented 5 years ago

Tracking in https://github.com/iTXTech/Daedalus/tree/dns-server

solarelf commented 4 years ago

@krissada983 Hi, I did not really understand why this quotation, it was me whò addressed the #10t, but as far as I know, it is not released yet, although PeratX invested much efforts into it.