DNS-based Host Blocker (and lightweight ad blocker) for Android

Overview

DNS-Based Host Blocking for Android

This is a DNS-based host blocker for Android. In the default configuration, several widely-respected host files are used to block ads, malware, and other weird stuff.

codecov Build Status

Installing

Get it on F-Droid

You can either install it via F-Droid, using the official F-Droid repository, or you can use my personal repository at https://jak-linux.org/fdroid/repo which gets updates ASAP.

You can also download apk files in GitHub's download section. Currently, these are the same files as in my personal F-Droid repository, but that might change in the future.

XDA: Discussions and preview builds

There is a thread at XDA, where DNS66 can be discussed and I occasionaly post preview builts of the git repository:

https://forum.xda-developers.com/android/apps-games/app-dns66-source-host-ad-blocker-root-t3487497

Using it

On the first start, you must manually update the hosts files (using the refresh button) before the service can work correctly (issue #1); and you must also update the hosts files yourself regularly for now (issue #2).

Items in the hosts and DNS servers lists can be moved around and removed) of the list using standard RecyclerView interactions (long press makes the entry movable, swipe to either side removes it). For hosts, a later entry overrides a previous entry; for DNS servers, the first server is preferred.

Currently, there are some minor usability issues:

  • If you change a setting, you must manually restart the vpn service (issue #3)
  • IPv6 servers are not supported (issue #4)

There's also no validation of input, so DNS servers that are not valid IPv4 addresses are not rejected, neither are URLs for DNS server entries (we intend to support URLs in the future, so you can point the app to a remote list of servers).

How it works

The app establishes a VPN service, with routes for all DNS servers diverted to it. The VPN service then intercepts the packages for the servers and forwards any DNS queries that are not blacklisted.

Custom upstream DNS can be configured. If the feature is turned off, the current connection's DNS servers are used. The app ships are pre-defined list of well known (mostly German) non-logging servers courtesy of the Chaos Computer Club.

Privacy Guarantee

Privacy is the most important aspect of DNS66. Currently, DNS66 is strictly data reducing: Running it can only reduce the amount of data leaving your device, not increase it (except for fetching hosts files, obviously), as for each request, we will either allow it to leave your device or not - we will not send other requests or add other information to the request.

While not yet implemented, future versions of DNS66 might have additional features that might share more data than your phone normally would. Among these features are:

  1. Automatic updates. Your phone might periodically contact servers to query for new upstream versions and new host lists. DNS66 will only include as much data as necessary to complete the request.

  2. Debugging. We hope to have a better way to debug program failures than manually running logcat. Such a feature by definition requires sharing debug logs. Debug logs (including logcat) may include personal information, and you should review them before sharing them publicly.

If such a feature is added, you will be presented with the choice to enable it (it will be disabled by default). No such feature will be turned on without your explicit consent (for example, clicking yes in a dialog asking whether you want to have automatic updates).

Contributing

See CONTRIBUTING.md

License

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.

Parts of the program are licensed under only version 3 of the license, and some parts might be licensed under the terms of other compatible licenses. See the file copyright for further (machine-readable) information.

Binaries also bundle external libraries. To the best of our knowledge those are licensed under the Apache license, version 2.0, except for pcap4j, which is licensed under the MIT license, and dnsjava, which uses a 3 clause BSD license. See the file copyright.libraries for further (machine-readable) information.

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Authors

Julian Andres Klode [email protected]

Parts are derived from https://github.com/dbrodie/AdBuster by Daniel Brodie.

Comments
  • DNS66 not blocking any ads.

    DNS66 not blocking any ads.

    I recently installed the app from F-Droid and tried to use it. But once I refreshed the host files, restarted the app and ran it, it didn't work. I tried out a few sites I'll use to test ad blocking such as 4Chan and Forbes and ads still popped up. I disabled any data restricting settings I had on and nothing. Ads still seem to just go through no matter what.

    invalid 
    opened by RandomUser202 68
  • 0.5.8 does not block any ads on Android P Developer Preview 3

    0.5.8 does not block any ads on Android P Developer Preview 3

    The app runs and downloads hosts and everything as normal, but once turned on it does not block any ads on DP3. The app worked perfectly fine on DP2 so Google must have changed something between the two releases.

    Is it possible to get a fix for this or will you be waiting until Android P is finalized and the full version is released later this fall?

    opened by MerdaFit 37
  • DNS66 not working on S9+

    DNS66 not working on S9+

    Hi,

    I've changed my phone from an S8+ to an S9+ and when I enable the DNS66 I can connect to nothing. It's like it wouldn't resolve any dns at all.

    Has anyone else the same problem? Or you have it working on an S9+?

    Thanks!!!

    opened by elpeter25 37
  • Dns66 Is not working in some apps

    Dns66 Is not working in some apps

    UPDATE

    Ads still persist in all of my apps As of 5/26/17.

    I uninstalled it weeks ago and decided to try it again recently. No dice still.

    Android version 7.0

    Samsung Galaxy s8

    Ive tried other methods of blocking ads like adblockplus for android but nothing seems to work.

    I think its just my phone/firmware at this point.

    opened by Binlabel 29
  • DownloadManager does not work in Nougat with VPN running

    DownloadManager does not work in Nougat with VPN running

    So I just spent several hours trying to debug an issue where Play Store wasn't downloading any app, including an hour long phone call with Google's support rep. Turns out, it was DNS66! Disabling it instantly fixed the issue. This is unacceptable. Any ideas why this is happening?

    bug 
    opened by saket 22
  • Force closed after downloading a host then pressing start

    Force closed after downloading a host then pressing start

    Hello Julian, I get a force closed on v 0.6.6 after downloading a host then pressing start, on v 0.6.5 it's fine, I'm on xperia m4 stock kernel & stock android 6.0.1. Logcat attached. I'm not really good at taking a log. Hope it could help logcat_09-24-2020_14-12-26.txt

    bug moreinfo 
    opened by zputnyq 15
  • [Oreo] Not started on boot

    [Oreo] Not started on boot

    On Android 8.0.0 the app is stopping everytime I restart the phone. I have to manually restart even though I have 'Resume on system start-up' swtiched on. Anyone else having this issue?

    bug help wanted 
    opened by owensgithub 15
  • Not auto starting at boot

    Not auto starting at boot

    I have a Moto E4 that does not automatically start back up even though it was running before.

    --------- beginning of main 05-01 16:26:02.559 5940 5940 W System : ClassLoader referenced unknown path: /mnt/expand/e1a12da6-9a39-4141-b5bf-382b2a691c1c/app/org.jak_linux.dns66-1/lib/arm 05-01 16:26:02.728 5940 5940 W art : Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable 05-01 16:26:02.910 5940 5940 D DbUpdateJobService: scheduleOrCancel: Cancelling Job 05-01 16:26:02.997 5940 5940 D DbUpdateJobService: scheduleOrCancel: Cancelling Job 05-01 16:26:03.137 5940 5940 I ViewConfigCompat: Could not find method getScaledScrollFactor() on ViewConfiguration 05-01 16:26:03.176 5940 5986 I Adreno-EGL: <qeglDrvAPI_eglInitialize:379>: EGL 1.4 QUALCOMM build: (Iaf618d42e3) 05-01 16:26:03.176 5940 5986 I Adreno-EGL: OpenGL ES Shader Compiler Version: XE031.09.00.04 05-01 16:26:03.176 5940 5986 I Adreno-EGL: Build Date: 03/14/17 Tue 05-01 16:26:03.176 5940 5986 I Adreno-EGL: Local Branch: 05-01 16:26:03.176 5940 5986 I Adreno-EGL: Remote Branch: 05-01 16:26:03.176 5940 5986 I Adreno-EGL: Local Patches: 05-01 16:26:03.176 5940 5986 I Adreno-EGL: Reconstruct Branch: 05-01 16:26:03.180 5986 5986 W RenderThread: type=1400 audit(0.0:209): avc: denied { read } for uid=10162 name="gpuclk" dev="sysfs" ino=20909 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:sysfs:s0 tclass=file permissive=0 05-01 16:26:03.180 5940 5986 I OpenGLRenderer: Initialized EGL, version 1.4 05-01 16:26:03.180 5940 5986 D OpenGLRenderer: Swap behavior 1 05-01 16:26:03.182 5940 5986 W Adreno-ES20: <get_gpu_clk:229>: open failed: errno 13 05-01 16:26:14.800 5940 5940 E RecyclerView: No adapter attached; skipping layout 05-01 16:26:14.811 5940 5946 I art : Do partial code cache collection, code=19KB, data=30KB 05-01 16:26:14.812 5940 5946 I art : After code cache collection, code=19KB, data=30KB 05-01 16:26:14.812 5940 5946 I art : Increasing code cache capacity to 128KB 05-01 16:26:22.541 5940 5946 I art : Do partial code cache collection, code=44KB, data=62KB 05-01 16:26:22.542 5940 5946 I art : After code cache collection, code=44KB, data=62KB 05-01 16:26:22.542 5940 5946 I art : Increasing code cache capacity to 256KB 05-01 16:26:22.606 5940 5940 W art : Before Android 4.1, method int android.support.v7.widget.ListViewCompat.lookForSelectablePosition(int, boolean) would have incorrectly overridden the package-private method in android.widget.ListView


    Would making dns66 a device administrator be a foolproof way of forcing this feature to work on all devices all the time?

    moreinfo 
    opened by ghost 11
  • Not working with Spotify

    Not working with Spotify

    This is a great AdBlock but I can't figure out how to make it work with Spotify. With every other app or browser it works great.

    I do not use the custom DNS servers, only the domain filters.

    As side note, netguard works fine with Spotify and I use Steven black hosts on both apps.

    Does dns66 use a different method of blocking ads?

    Thank you :)

    bug help wanted 
    opened by ghost 11
  • Constant refresh hosts warning on 7.1.1

    Constant refresh hosts warning on 7.1.1

    Nexus 5x, 7.1.1 DP2, tho it happened with DP1. DNS66 will always report the host files need to be downloaded when turning on. Refresh and I see the downloads happening in notifications. Press on, same message. Most ads are being blocked though fortunately.

    bug 
    opened by jb0nez 11
  • Not working after firmware update, all connectivity dies, including unable to update malware lists

    Not working after firmware update, all connectivity dies, including unable to update malware lists

    • I don't expect you to buy a phone. it is a NOTE 10 not a S10. This seems to be the same issue that you solved with android 10, but the fix - didn't fix it for me. I was injured and can't work, I depend on this app in multiple ways, as it is the best damn app for ad screening that has no impact on performance, if anything when using custom DNS to 1.1.1.1, performance is increased!!

    Can't you advise what I can do to make the logs useful? The app worked great for a year+, it just stopped after the latest firmware update, and another firmware update with security patches was installed but it is still 'dead' when DNS66 is active. It looks like DNS is unable to resolve hosts.

    "If you have some useful log to contribute " I submitted a log via the app, see my emaill . The notification tray indicates it is connected to DNS66 VPN. Sent/received are both at 0MB. I tried setting custom DNS servers (my preferred for 1.1.1.1 for quicker system response) and it still does not work. I tried the Logcat from the app, but when VPN is up, no info is shown. Tried WIFI and Cellular connectivity with same results.

    Finally, I tried taking another logcat, but selecting this does NOTHING now, no matter if DNS66 is enabled or disabled.

    Please email me, I will be happy to converence with you to brainstorm or the like. I do professional QA for my job in the past, and I have automation/scripting experience.

    please advise!

    "It's not a useful bug and I don't really have time. Like I'm not g"oing to buy an S10 to try to reproduce your issue.

    If you have some useful log to contribute please do so, until then, I'll have to close this.

    Originally posted by @julian-klode in https://github.com/julian-klode/dns66/issues/375#issuecomment-585398791 "

    opened by cocokola 10
  • Please release new version

    Please release new version

    Hi @julian-klode,

    it would be very nice to release a new version, containing pull request https://github.com/julian-klode/dns66/pull/473

    Currently it is not very easy to find out, what was blocked.

    Tnx in advance

    opened by Enkidu70 0
  • XDA-Thread not found

    XDA-Thread not found

    In README.md you refer to https://forum.xda-developers.com/android/apps-games/app-dns66-source-host-ad-blocker-root-t3487497

    But XDA returns:

    Oops! We broke the matrix. Someone call Neo!
    You do not have permission to view this page or perform this action.
    

    Can you please provide correct link to support thread?

    Tnx.

    opened by Enkidu70 1
  • 213.73.91.35 (DNS resolver from CCC) seems to be down/offline since a long time

    213.73.91.35 (DNS resolver from CCC) seems to be down/offline since a long time

    I did never get a connection to 213.73.91.35 (CCC) and even on CCC's website this resolver isn't mentioned (anymore?):

    Liste frei verwendbarer DNS-Server Die folgenden Nameserver können als Ersatz der Provider-eigenen Nameserver verwendet werden (zum Zeitpunkt der Erstellung dieser Liste, keine Garantie, wie lange sie frei verfügbar sind): 5.9.164.112 (digitalcourage, Informationsseite) 204.152.184.76 (f.6to4-servers.net, ISC, USA) 2001:4f8:0:2::14 (f.6to4-servers.net, IPv6, ISC) 194.150.168.168 (dns.as250.net; Berlin/Frankfurt) (AS250, nur in der RIPE Service Region nutzbar) Eine weitere Liste wird vom OpenNIC Project – einer Organisation zum Aufbau eines von der ICANN alternativen DNS root systems – betrieben.

    So you @julian-klode really should remove it from your DNS66 Android app.

    opened by thomasmerz 1
  • Paid version on the Google Play Store

    Paid version on the Google Play Store

    Hi there,

    I just stumbled upon this paid version of DNS66 on the Google Play Store, and wanted to know if it's a legitimate version, or just a rip-off someone uploaded to make a quick buck?

    I've always used the version from F-Droid, so I was a bit curious.

    Thanks!

    opened by paulaime 2
  • Disconnects and crashes with `Could not create epoll instance: Too many open files`

    Disconnects and crashes with `Could not create epoll instance: Too many open files`

    Since updating to Android 13, DNS66 has sometimes started randomly disconnecting, with the notification saying "Reconnecting error". If I open the app while in this state, it crashes, with the following in logcat:

    08-31 12:23:04.578 17247 17247 D wpa_supplicant: nl80211: Ignore unsupported QCA vendor event 13
    08-31 12:23:04.842 28695 28695 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
    08-31 12:23:04.842 28695 28695 F DEBUG   : Build fingerprint: 'google/sunfish/sunfish:13/TP1A.220624.014/8819323:user/release-keys'
    08-31 12:23:04.842 28695 28695 F DEBUG   : Revision: 'MP1.0'
    08-31 12:23:04.842 28695 28695 F DEBUG   : ABI: 'arm64'
    08-31 12:23:04.842 28695 28695 F DEBUG   : Timestamp: 2022-08-31 12:23:04.359280848+0100
    08-31 12:23:04.842 28695 28695 F DEBUG   : Process uptime: 1483s
    08-31 12:23:04.842 28695 28695 F DEBUG   : Cmdline: org.jak_linux.dns66
    08-31 12:23:04.842 28695 28695 F DEBUG   : pid: 24804, tid: 24804, name: jak_linux.dns66  >>> org.jak_linux.dns66 <<<
    08-31 12:23:04.842 28695 28695 F DEBUG   : uid: 10266
    08-31 12:23:04.842 28695 28695 F DEBUG   : signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
    08-31 12:23:04.842 28695 28695 F DEBUG   : Abort message: 'Could not create epoll instance: Too many open files'
    08-31 12:23:04.842 28695 28695 F DEBUG   :     x0  0000000000000000  x1  00000000000060e4  x2  0000000000000006  x3  0000007fd77cced0
    08-31 12:23:04.842 28695 28695 F DEBUG   :     x4  6e42721f21213c6f  x5  6e42721f21213c6f  x6  6e42721f21213c6f  x7  7f7f7f7f7f7f7f7f
    08-31 12:23:04.842 28695 28695 F DEBUG   :     x8  00000000000000f0  x9  00000075718e7a00  x10 0000000000000001  x11 0000007571925ce4
    08-31 12:23:04.842 28695 28695 F DEBUG   :     x12 0000000000001401  x13 000000000000065c  x14 0000007fd77cbcf0  x15 0000000004ce108a
    08-31 12:23:04.842 28695 28695 F DEBUG   :     x16 000000757198ad60  x17 0000007571967b70  x18 0000007584686000  x19 00000000000060e4
    08-31 12:23:04.842 28695 28695 F DEBUG   :     x20 00000000000060e4  x21 00000000ffffffff  x22 00000072c6a15000  x23 00000072c6a16000
    08-31 12:23:04.842 28695 28695 F DEBUG   :     x24 0000007583a8e000  x25 0000000012c86dd0  x26 0000000014b03d50  x27 00000000141c0000
    08-31 12:23:04.842 28695 28695 F DEBUG   :     x28 0000000000000000  x29 0000007fd77ccf50
    08-31 12:23:04.842 28695 28695 F DEBUG   :     lr  0000007571917868  sp  0000007fd77cceb0  pc  0000007571917894  pst 0000000000000000
    08-31 12:23:04.842 28695 28695 F DEBUG   : backtrace:
    08-31 12:23:04.842 28695 28695 F DEBUG   :       #00 pc 0000000000051894  /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) (BuildId: 058e3ec96fa600fb840a6a6956c6b64e)
    08-31 12:23:04.842 28695 28695 F DEBUG   :       #01 pc 00000000006d29ec  /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const*)+704) (BuildId: 56e704c544e6c624201be2ab4933e853)
    08-31 12:23:04.842 28695 28695 F DEBUG   :       #02 pc 0000000000016ea8  /apex/com.android.art/lib64/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_3::__invoke(char const*)+80) (BuildId: b77c57f68a484ed93d5a7eda59d83bf9)
    08-31 12:23:04.842 28695 28695 F DEBUG   :       #03 pc 0000000000009de0  /system/lib64/liblog.so (__android_log_assert+292) (BuildId: 1f951eeceedbbe038f287e24d36cbd34)
    08-31 12:23:04.842 28695 28695 F DEBUG   :       #04 pc 0000000000014340  /system/lib64/libutils.so (android::Looper::rebuildEpollLocked()+628) (BuildId: 5a0d720732600c94ad8354a1188e9f52)
    08-31 12:23:04.842 28695 28695 F DEBUG   :       #05 pc 0000000000014060  /system/lib64/libutils.so (android::Looper::Looper(bool)+284) (BuildId: 5a0d720732600c94ad8354a1188e9f52)
    08-31 12:23:04.842 28695 28695 F DEBUG   :       #06 pc 000000000023b6a4  /system/lib64/libhwui.so (android::uirenderer::ThreadBase::ThreadBase()+72) (BuildId: 835cbecd6a5144b64a65f846b2b85d67)
    08-31 12:23:04.842 28695 28695 F DEBUG   :       #07 pc 0000000000504a74  /system/lib64/libhwui.so (android::uirenderer::renderthread::RenderThread::getInstance()+120) (BuildId: 835cbecd6a5144b64a65f846b2b85d67)
    08-31 12:23:04.842 28695 28695 F DEBUG   :       #08 pc 0000000000511e24  /system/lib64/libhwui.so (android::uirenderer::renderthread::RenderProxy::preload()+28) (BuildId: 835cbecd6a5144b64a65f846b2b85d67)
    08-31 12:23:04.842 28695 28695 F DEBUG   :       #09 pc 00000000002cba80  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (art_jni_trampoline+112)
    08-31 12:23:04.842 28695 28695 F DEBUG   :       #10 pc 00000000007bf08c  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.ActivityThread.handleLaunchActivity+1148)
    08-31 12:23:04.842 28695 28695 F DEBUG   :       #11 pc 00000000009a76f4  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.servertransaction.LaunchActivityItem.execute+484)
    08-31 12:23:04.842 28695 28695 F DEBUG   :       #12 pc 00000000006e953c  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.servertransaction.TransactionExecutor.executeCallbacks+588)
    08-31 12:23:04.842 28695 28695 F DEBUG   :       #13 pc 00000000006e9268  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.servertransaction.TransactionExecutor.execute+808)
    08-31 12:23:04.842 28695 28695 F DEBUG   :       #14 pc 000000000079af44  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.ActivityThread$H.handleMessage+1204)
    08-31 12:23:04.842 28695 28695 F DEBUG   :       #15 pc 0000000000a17920  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Handler.dispatchMessage+192)
    08-31 12:23:04.842 28695 28695 F DEBUG   :       #16 pc 0000000000a1b968  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Looper.loopOnce+1032)
    08-31 12:23:04.842 28695 28695 F DEBUG   :       #17 pc 0000000000a1b42c  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Looper.loop+1148)
    08-31 12:23:04.842 28695 28695 F DEBUG   :       #18 pc 00000000007b4814  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.ActivityThread.main+1364)
    08-31 12:23:04.842 28695 28695 F DEBUG   :       #19 pc 0000000000436e00  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+576) (BuildId: 56e704c544e6c624201be2ab4933e853)
    08-31 12:23:04.842 28695 28695 F DEBUG   :       #20 pc 0000000000469534  /apex/com.android.art/lib64/libart.so (_jobject* art::InvokeMethod<(art::PointerSize)8>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1960) (BuildId:56e704c544e6c624201be2ab4933e853)
    08-31 12:23:04.842 28695 28695 F DEBUG   :       #21 pc 0000000000468d64  /apex/com.android.art/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*) (.__uniq.165753521025965369065708152063621506277)+48) (BuildId: 56e704c544e6c624201be2ab4933e853)
    08-31 12:23:04.842 28695 28695 F DEBUG   :       #22 pc 00000000002d1148  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (art_jni_trampoline+120)
    08-31 12:23:04.843 28695 28695 F DEBUG   :       #23 pc 0000000000d3fd60  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+144)
    08-31 12:23:04.843 28695 28695 F DEBUG   :       #24 pc 0000000000d4ab08  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (com.android.internal.os.ZygoteInit.main+3464)
    08-31 12:23:04.843 28695 28695 F DEBUG   :       #25 pc 0000000000436e00  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+576) (BuildId: 56e704c544e6c624201be2ab4933e853)
    08-31 12:23:04.843 28695 28695 F DEBUG   :       #26 pc 0000000000582e28  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+900) (BuildId: 56e704c544e6c624201be2ab4933e853)
    08-31 12:23:04.843 28695 28695 F DEBUG   :       #27 pc 00000000005f5f48  /apex/com.android.art/lib64/libart.so (art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+160) (BuildId: 56e704c544e6c624201be2ab4933e853)
    08-31 12:23:04.843 28695 28695 F DEBUG   :       #28 pc 00000000000bcad0  /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+120) (BuildId: 652257cd0faef901accde2659193d1c3)
    08-31 12:23:04.843 28695 28695 F DEBUG   :       #29 pc 00000000000c85c4  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+840) (BuildId: 652257cd0faef901accde2659193d1c3)
    08-31 12:23:04.843 28695 28695 F DEBUG   :       #30 pc 0000000000002554  /system/bin/app_process64 (main+1280) (BuildId: a1ab812b262121cb66f7cbe228dc9674)
    08-31 12:23:04.843 28695 28695 F DEBUG   :       #31 pc 000000000004a0f4  /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+96) (BuildId: 058e3ec96fa600fb840a6a6956c6b64e)
    08-31 12:23:04.917  1096  1217 D CHRE    : @ 341771.183: [ActivityPlatform] type 6, confidence 41
    08-31 12:23:04.917  1096  1217 I CHRE    : @ 341771.183: [cc] onArResult activity=5, conf=421
    08-31 12:23:04.926  1793 28699 I DropBoxManagerService: add tag=data_app_native_crash isTagEnabled=true flags=0x2
    08-31 12:23:04.926   890   890 E tombstoned: Tombstone written to: tombstone_14
    08-31 12:23:04.927  1793 28698 W ActivityTaskManager:   Force finishing activity org.jak_linux.dns66/.MainActivity
    08-31 12:23:04.928  1793  2330 W NativeTombstoneManager: failed to open /data/tombstones/tombstone_14.pb
    08-31 12:23:04.928  1793  2330 W NativeTombstoneManager: java.io.FileNotFoundException: open failed: ENOENT (No such file or directory)
    08-31 12:23:04.928  1793  2330 W NativeTombstoneManager: 	at android.os.ParcelFileDescriptor.openInternal(ParcelFileDescriptor.java:342)
    08-31 12:23:04.928  1793  2330 W NativeTombstoneManager: 	at android.os.ParcelFileDescriptor.open(ParcelFileDescriptor.java:229)
    08-31 12:23:04.928  1793  2330 W NativeTombstoneManager: 	at com.android.server.os.NativeTombstoneManager.handleProtoTombstone(NativeTombstoneManager.java:151)
    08-31 12:23:04.928  1793  2330 W NativeTombstoneManager: 	at com.android.server.os.NativeTombstoneManager.handleTombstone(NativeTombstoneManager.java:120)
    08-31 12:23:04.928  1793  2330 W NativeTombstoneManager: 	at com.android.server.os.NativeTombstoneManager.-$$Nest$mhandleTombstone(Unknown Source:0)
    08-31 12:23:04.928  1793  2330 W NativeTombstoneManager: 	at com.android.server.os.NativeTombstoneManager$TombstoneWatcher.lambda$onEvent$0(NativeTombstoneManager.java:564)
    08-31 12:23:04.928  1793  2330 W NativeTombstoneManager: 	at com.android.server.os.NativeTombstoneManager$TombstoneWatcher.$r8$lambda$brzM_6e7cyhhJeR_ISUCuvFg3_s(Unknown Source:0)
    08-31 12:23:04.928  1793  2330 W NativeTombstoneManager: 	at com.android.server.os.NativeTombstoneManager$TombstoneWatcher$$ExternalSyntheticLambda0.run(Unknown Source:4)
    08-31 12:23:04.928  1793  2330 W NativeTombstoneManager: 	at android.os.Handler.handleCallback(Handler.java:942)
    08-31 12:23:04.928  1793  2330 W NativeTombstoneManager: 	at android.os.Handler.dispatchMessage(Handler.java:99)
    08-31 12:23:04.928  1793  2330 W NativeTombstoneManager: 	at android.os.Looper.loopOnce(Looper.java:201)
    08-31 12:23:04.928  1793  2330 W NativeTombstoneManager: 	at android.os.Looper.loop(Looper.java:288)
    08-31 12:23:04.928  1793  2330 W NativeTombstoneManager: 	at android.os.HandlerThread.run(HandlerThread.java:67)
    08-31 12:23:04.928  1793  2330 W NativeTombstoneManager: 	at com.android.server.ServiceThread.run(ServiceThread.java:44)
    08-31 12:23:04.938  1793  2330 I BootReceiver: Copying /data/tombstones/tombstone_14 to DropBox (SYSTEM_TOMBSTONE)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: Exception thrown during pause
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: android.os.DeadObjectException
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at android.os.BinderProxy.transactNative(Native Method)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at android.os.BinderProxy.transact(BinderProxy.java:584)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at android.app.IApplicationThread$Stub$Proxy.scheduleTransaction(IApplicationThread.java:1900)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at android.app.servertransaction.ClientTransaction.schedule(ClientTransaction.java:136)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.wm.ClientLifecycleManager.scheduleTransaction(ClientLifecycleManager.java:47)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.wm.ClientLifecycleManager.scheduleTransaction(ClientLifecycleManager.java:69)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.wm.TaskFragment.schedulePauseActivity(TaskFragment.java:1665)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.wm.TaskFragment.startPausing(TaskFragment.java:1608)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.wm.ActivityRecord.finishIfPossible(ActivityRecord.java:3431)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.wm.ActivityRecord.finishIfPossible(ActivityRecord.java:3321)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.wm.Task.finishTopCrashedActivityLocked(Task.java:5270)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.wm.RootWindowContainer.lambda$finishTopCrashedActivities$17(RootWindowContainer.java:2232)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.wm.RootWindowContainer.$r8$lambda$tU3uq54E6s47P2cFrn4v86Si-94(Unknown Source:0)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.wm.RootWindowContainer$$ExternalSyntheticLambda43.accept(Unknown Source:10)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.wm.Task.forAllTasks(Task.java:3166)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.wm.WindowContainer.forAllTasks(WindowContainer.java:1944)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.wm.WindowContainer.forAllTasks(WindowContainer.java:1944)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.wm.WindowContainer.forAllTasks(WindowContainer.java:1944)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.wm.WindowContainer.forAllTasks(WindowContainer.java:1944)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.wm.WindowContainer.forAllTasks(WindowContainer.java:1944)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.wm.WindowContainer.forAllTasks(WindowContainer.java:1944)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.wm.WindowContainer.forAllTasks(WindowContainer.java:1944)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.wm.WindowContainer.forAllTasks(WindowContainer.java:1937)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.wm.RootWindowContainer.finishTopCrashedActivities(RootWindowContainer.java:2231)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.wm.ActivityTaskManagerService$LocalService.finishTopCrashedActivities(ActivityTaskManagerService.java:6414)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.am.AppErrors.handleAppCrashLSPB(AppErrors.java:934)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.am.AppErrors.makeAppCrashingLocked(AppErrors.java:766)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.am.AppErrors.crashApplicationInner(AppErrors.java:641)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.am.AppErrors.crashApplication(AppErrors.java:569)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.am.ActivityManagerService.handleApplicationCrashInner(ActivityManagerService.java:8483)
    08-31 12:23:04.941  1793 28698 W ActivityTaskManager: 	at com.android.server.am.NativeCrashListener$NativeCrashReporter.run(NativeCrashListener.java:88)
    08-31 12:23:04.951 30122 30146 D QuickstepModelDelegate: notifyAppTargetEvent action=1 launchLocation=
    08-31 12:23:04.952  1793  2043 I ActivityManager: Showing crash dialog for package org.jak_linux.dns66 u0
    08-31 12:23:04.953  1793  2330 I DropBoxManagerService: add tag=SYSTEM_TOMBSTONE isTagEnabled=true flags=0x6
    08-31 12:23:04.962  1793  2069 W BroadcastQueue: Background execution not allowed: receiving Intent { act=android.intent.action.DROPBOX_ENTRY_ADDED flg=0x10 (has extras) } to com.google.android.gms/.stats.service.DropBoxEntryAddedReceiver
    08-31 12:23:04.968  3955  4378 I AiAiEcho: Predicting[1]: { Feature:1, creation:2022-08-31T10:56:31.550Z, expiry:2022-08-31T16:56:31.550Z, isExpired: false}
    08-31 12:23:04.969  3955  4378 I AiAiEcho: Ranked targets strategy: WEIGHTED, count: 1, ranking metadata: { cardId: WEATHER-569377243, card type: 1, update time: 2022-08-31T10:56:31.550Z, expiration time: 2022-08-31T16:56:31.550Z, ranking metadata: RankingMetaData(urgency=0.653, priority=0.3, recency=1.0, rankScore=0.19590001, importantTimePoints=# kor@7bca4) }
    08-31 12:23:04.970  1793  4140 I ActivityManager: Process org.jak_linux.dns66 (pid 24804) has died: fg  TOP
    08-31 12:23:04.971  1793  2091 I libprocessgroup: Successfully killed process cgroup uid 10266 pid 24804 in 0ms
    08-31 12:23:04.971  1793  4140 W ActivityManager: Scheduling restart of crashed service org.jak_linux.dns66/.vpn.AdVpnService in 1000ms for start-requested
    

    After that, it starts up again automatically, but it's irritating to have to provoke the restart by opening (and hence crashing) the app.

    opened by sersorrel 0
  • dns66 custom dns server feature is not functioning at all (issue solved, please delete this issue)

    dns66 custom dns server feature is not functioning at all (issue solved, please delete this issue)

    please disregard this issue, it seems that it does work on my another phone.

    dns66 version: the latest custom DNS server in dns66: test Cloudflare 1.1.1.1 and Google 8.8.8.8 separately device: LG v60 Android version: 12 browser: Chrome setting: chrome DNS setting is set to automatic ("use your current service provider), android private DNS setting is disabled. testing website: https://www.dnsleaktest.com/

    scenario:

    1. in mobile network: https://www.dnsleaktest.com/ DNS test consistently shows the mobile carrier's DNS
    2. in home wifi network: https://www.dnsleaktest.com/ DNS test consistently shows the home internet service provider's DNS

    conclusion: the custom DNS servers in dns66 are not functioning at all.

    In addition, could you add DOH or DOT support in custom DNS servers?

    opened by dns66iselegant 2
Releases(v0.6.8)
Owner
Julian Andres Klode
Debian Developer and Ubuntu Core Developer - apt, hardlink, dh-autoreconf, sicherboot and other things. | Software Engineer @ @Canonical
Julian Andres Klode
AdAway is a free and open source ad blocker for Android.

AdAway AdAway is an open source ad blocker for Android using the hosts file and local vpn. For more information visit https://adaway.org Installing Th

null 4.9k Jan 7, 2023
Java/Kotlin lightweight implementation of RFC-6238 and RFC-4226 to generate and validate time-based one-time passwords (TOTP).

1time Java/Kotlin lightweight implementation of RFC-6238 and RFC-4226 to generate and validate time-based one-time passwords (TOTP). Maven / gradle de

Atlassian Labs 31 Dec 21, 2022
A lightweight tracking framework based on the tracking idea of Buzzvideo.(基于西瓜视频的责任链埋点思路实现的轻量级埋点框架)

Tracker English | 中文 Tracker is a lightweight tracking framework based on the tracking idea of Buzzvideo. Tracking idea Why use chain of responsibilit

DylanCai 76 Dec 22, 2022
📲💬 react-native-fontext is a lightweight library to integrate fonts in your React Native application that works seamlessly in android and iOS devices.

React Native Fontext react-native-fontext is a lightweight library to integrate fonts in your React Native application that works seamlessly in androi

mroads 9 Dec 3, 2021
FDPClient-EDITED - A free mixin-based injection hacked-client for Minecraft using Minecraft Forge based on LiquidBounce

FDPClient A free mixin-based injection hacked-client for Minecraft using Minecra

SuperSkidder 7 Aug 29, 2022
Wallum is a superfast ⚡ lightweight wallpaper app, built using Kotlin, Retrofit, MVVM, Paging 3, Hilt, and Navigation Components

Show some ❤️ and star the repo to show support for the project Wallum Android App Wallum is a super-fast ?? , lightweight wallpaper app built purely w

Aditya Verma 19 Dec 6, 2022
Scp-wallet-android - Lightweight ScPrime wallet for Android

SCP Wallet Android SCP Wallet is lightweight ScPrime wallet for Android. Get sta

Paolo Biglioli 3 Mar 31, 2022
A lightweight Android browser with modern navigation

Lightning Browser Speed, Simplicity, Security Download Master Branch Dev Branch Features Bookmarks History Multiple search engines (Google, Bing, Yaho

Anthony Restaino 1.9k Dec 28, 2022
QCalc - A lightweight semi-scientific calculator for Android

QCalc A lightweight semi-scientific calculator for Android. Written from scratch

Trent Lilley 0 Jan 27, 2022
A lightweight super-fast wireless file sharing application built on WiFi Peer-to-Peer technology.

ZipBolt ZipBolt is a file-sharing platform that allows digital devices to share files at incredible speeds using WiFi Peer-to-Peer technology. ZipBolt

Prosper Ekwerike 9 Sep 22, 2022
A truly hackable editor: simple, lightweight, understandable

kanvas A very simple editor built in Kotlin and intended to be extended and hacked. It is very simple to customize it to handle a language defined usi

Federico Tomassetti 139 Dec 28, 2022
CutableTextView - the super lightweight library that helps to you cut long text. ✂️

An easy to use CutableTextView when you need to cut a long text. ✂️ ✂️ ✂️ Gradle dependencies { implementation 'com.github.devit951:cutabletextvie

Ildarov 2 Aug 29, 2019
A lightweight, feature-rich wrapper for the Telegram Bot API, providing a handy Kotlin DSL to quickly build your bot.

Kotlin Telegram Bot Kotlin based wrapper over Telegram API. Current version of the Telegram Api: 6.0 Principles Annotations Magic. The basic interacti

Jey 61 Dec 27, 2022
Olalekan Fagbemi 0 Nov 7, 2021
Samples demonstrating the features and use of Koala Plot, a Compose Multiplatform based charting and plotting library written in Kotlin.

Koala Plot Samples This repository houses samples demonstrating the use and features of Koala Plot libraries. How to run Build koalaplot-core with the

Koala Plot 6 Oct 18, 2022
NewsApp is a an android project based on modern Android application tech-stacks and MVVM architecture.

NewsApp NewsApp is a an android project based on modern Android application tech-stacks and MVVM architecture. This project is for focusing especially

null 1 Jan 14, 2022
Geoponics is an E-Commerce Android Based Application Designed for Farmers As Well As Normal Users to Buy and Sell Agricultural goods!

Geoponics : E-Commerce Application Geoponics is an E-Commerce Android Based Aplication Designed for Farmers As Well As Normal Users to Buy and Sell Ag

Prasad 3 Aug 31, 2021