Giter Site home page Giter Site logo

itxtech / daedalus Goto Github PK

View Code? Open in Web Editor NEW
1.4K 105.0 202.0 1.73 MB

No root required Android DNS modifier and Hosts/DNSMasq resolver.

Home Page: https://itxtech.org

License: GNU General Public License v3.0

Java 96.50% HTML 3.50%
dns-proxy android java

daedalus's Introduction

iTXTech Daedalus

No root required Android DNS modifier and Hosts/DNSMasq resolver.

Installations

Get it on Google Play Get it on F-Droid

Useful links

Introduction

This application creates a VPN tunnel to handle all DNS requests.

Features:

  • No root access required, no ads contained
  • Functional under data connection
  • A tester for DNS servers
  • IPv6 support (including Rules!)
  • Custom DNS server
  • Custom hosts and DNSMasq configuration
  • EXTREME LOW power consume
  • Material Design

Supported DNS Query Methods:


Users must comply with local laws and regulations.

DNS Server Providers

  • CuteDNS - Shutdown according to regulations
  • FUN DNS - Shutdown according to regulations
  • Pure DNS - Shutdown according to regulations
  • PdoMo-DNS - Shutdown according to regulations
  • rubyfish - Free DoT/DoH DNS

Rule Providers

Requirements

  • Minimum Android version: >= 5.0 (API 21)
  • Recommended Android version: >= 7.1 (API 25) - Launcher shortcuts

Open Source Licenses

Credits

License

Copyright (C) 2017-2022 iTX Technologies <[email protected]>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

daedalus's People

Contributors

hhhaiai avatar licaon-kter avatar notly avatar peratx avatar poussinou avatar yi-frank avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

daedalus's Issues

TODO List

  • IPv6 Support (Resolving) (#7)
  • IPv6 Support (Rules)
  • Update activated rules when service activated
  • Import local rule files
  • Add Theme settings (#47)
  • Reformat language profiles (simple but ...)
  • Add support for DNSCrypt (#30) - REMOVED DUE TO DoH & DoT
  • App Filter (#95)
  • WiFi exclusion list (#15)
  • Add an option for automaically update rules when activated
  • Check rule file when import (#55)
  • Add Rule Editor
  • Add support for enable multi types of rules together

Google Play cannot download anything

As long as Daedalus is activated, no matter how you set the DNS severs and rules, no a single combination can let users to download/update apps in Google Play. (Only with a message "Downloading....")
From the log, there should be a request to android.clients.google.com

In other similar apps providing VPN services to non-root android devices, like Transocks, Google Play Download is not affected.

Please fix.

Cannot Connect Google.com & play store

It's strange, same hosts file on PC is normal, can access google.com and play store, but on my phone cannot. Meanwhile, facebook and Youtube is very fast... So, what's the reason?

关于ipv6的问题

在我手机的rom上似乎找到了A记录就不会考虑AAAA,只有像ipv6.google.com这种只有v6的域名才会使用v6,据说在国产rom里边这样的现象很常见?所以我想能不能加一个只使用AAAA记录的功能(在同时有A和AAAA的时候)。

[Rules] Editing hosts file locally

I think it is better to give users to add rules using local text.
In each rule in the [rules] tab
text editor:
@[server1] google.com
@[server2] yahoo.com
@[server1] apple.com

in the [servers]
there are server1 = 111.222.333.444:53; server2 = 101.210.300.405:53

when the texts in [rules] are edited/re-saved,
@[xxxx] get converted to the address internally. (and also check it)

if the text cannot be converted, it cannot be saved. (e.g. no server1 in [servers])

In such a way, users no need to assign urls to download hosts file. and they can easily edit it.
If the server hosts are dead, it can easy to change the host addresses.

Adding English manual to Wiki Page

Actually it is very useful.
For me, I can use proxy server listed in cnproxy with this app to access resources in cn

Give you the translation of the manual. So more people can use it. And you can get improvement.
manual-eng.txt

============

I think there are different purposes to use this tools.
I suggest some DNS and rules that I use.
some built-in rules cause problems for non-cn users.

UltraDNS1: 156.154.70.1:53
UltraDNS2: 156.154.71.1:53
GoogleDNS1: 8.8.8.8:53
GoogleDNS2: 8.8.4.4:53

rules
adaway - block general ads #
https://adaway.org/hosts.txt

go-hosts-block . - block google ads #
https://raw.githubusercontent.com/Lerist/Go-Hosts/master/hosts-ad

============

and also some rules from "unblockcn" but don't want to talk it here.

关于服务器和规则保存问题

软件不正常返回退出时,已经保存的规则和服务器就会消失,可怜我花了半小时弄的服务器,全没了×_×
希望可以快点修复!!

如果导入自定义host规则

比如我需要添加一条host规则 106.186.27.62 wheel-soft.com
请问该如何操作?
选导入-外部 没法选择文档
我手机是一加3T

功能需求

能否加入对ipv6的DNS服务器支持?谢谢!

我的编译器报错缺少google-services.json

Error:Execution failed for task ':app:processDebugGoogleServices'.

File google-services.json is missing. The Google Services Plugin cannot function without it.
Searched Location:
C:\Users\dsres\Downloads\GitHub\Daedalus\app\src\debug\google-services.json
C:\Users\dsres\Downloads\GitHub\Daedalus\app\google-services.json

使用非标端口无效

非标端口在测试中有效,实际使用上还是走了53
用只支持5353的dns测试的

能否增加dark theme?

首先感謝開發者製作如此方便的應用!
請問能不能增加dark theme? 萬分感謝。

please integrate dnscrypt

isp in my country tampering its users dns, making internet experience horrible.

we can't just use other dns server by change to its ip, because the isp transparently intercept and redirect those ip to their own isp dns server.

please make dnscrypt as an option for the dns provider.

thank you for your great work.

Sent from my EVERCOSS S50D using FastHub

dnsmasq泛解析问题

我在dnsmasq的配置文件中有一条:address=/gvt1.com/10.0.0.1 但是我发现解析r2---sn-i3b7kn76.gvt1.com的时候并不会解析到10.0.0.1

How to add local rules?

when I'm trying to add a rule(DNSmasq) it seems I need to fill "下载地址" but I only want to add local rules.

优化规则保存逻辑

我添加完hosts文件后,我把软件退出重进,hosts文件一个都没有了,还得重新添加,,,

现在还能用吗?

貌似大会以后已经失效了?
在软件内部测试Google显示可以,但是在浏览器无法访问
是否这种通过dns解析的方式已经失效?
谢谢!

建议

增加一种策略让首选DNS解析失败或无效地址时尝试让备选DNS来解析,另外这个功能如能实现希望能继续开发个桌面版,谢谢

配置规则时建议添加验证规则文件是否正常

在配置时使用的github文件地址,刚开始没有选择Raw地址,添加后不能用。看了下载后的文件发现是html文件,才想起来需要Raw地址。 更改后hosts解析正常。

建议 同步规则 时添加下验证文件是否正确。

这个坑找的啊

使用中的小问题

系统 7.1.1 xperia xz premium

  1. 当我在使用移动数据时切换到WLAN,程序VPN模式会自动停止
  2. 程序运行一段时间之后,VPN模式也会自动停止
    2017-07-21 15:38:07 [INFO] Daedalus VPN service has stopped 2017-07-21 15:38:06 [ERROR] java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.String java.lang.CharSequence.toString()' on a null object reference at de.measite.minidns.util.InetAddressUtil.ipv4From(InetAddressUtil.java:23) at org.itxtech.daedalus.provider.UdpDnsProvider.handleDnsRequest(UdpDnsProvider.java:317) at org.itxtech.daedalus.provider.UdpDnsProvider.readPacketFromDevice(UdpDnsProvider.java:208) at org.itxtech.daedalus.provider.UdpDnsProvider.process(UdpDnsProvider.java:150) at [org.itxtech.daedalus.service.DaedalusVpnService.run(DaedalusVpnService.java:237)] at java.lang.Thread.run(Thread.java:761)

另外,在 #19 中我提到了一个泛解析问题,最后我发现域名能正确解析,是因为android.clients.google.com默认以HTTP方式连接,会被GFW重设,使用HTTPS正常连接

提一个小建议,只使用hosts/dnsmasq文件,而不设置服务器地址,便于切换网络时使用运营商的DNS

Add WiFi exclusion list

It would be nice if an exclusion list was added that lets users exclude certain WiFi networks from having their DNS server changed from what they originally provide.

Windows?

Can you create one application and for Windows 10? :D

failed to reactivate itself

Daedalus is not reactivate itself after the network state changed.

case in point:

  • after the phone start in tethering, Daedalus is stopped by system (as in android design, vpn can't be used in tethering mode), and when the tethering is stopped Daedalus is not reactivate itself.
  • when airplane mode invoked, Daedalus is stopped, but when airplane mode is off Daedalus is not reactivate itself.

all other apps that make use the vpnservice has no problem with those cases. they reactivated themselves just fine.

Pure DNS目前已停止服务

腾讯云隔离了Pure DNS的服务器,Pure DNS服务目前已完全不可用!请您替换掉Pure DNS以免无法正常上网,对此造成的不便深表歉意!感谢一路有你!

详见官网https://puredns.cn/

Add backend socks5 proxy support

It's known that this tiny tool help get rid of DNS pollution so users can access some regulated websites.However, this app can't deal with 2 special situations.

  1. Specific IP are banned by ISP or authorities.
  2. Some websites actively refused connection from a certain region or country.

For the 2 situations above, the only solution is to change external IP, or in other words, go through a socks5 proxy in order to bypass these limitations. And here's my idea of solution:

  • A bypass list must be built and users can add IP/domains to it
  • When resolving domains, check if this domain is in bypass list, if true, resolving the domain through socks5 proxy, and let all the data to this websites go through socks5 proxy.
  • When accessing a specific IP directly instead of resolving from a domain, check if the IP is in bypass list, if true, redirect all the data to socks5 proxy

Theoretically speaking, the enhancements above aren't too hard to implement. And I'm also glad to contribute for the features.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.