mullvad / mullvadvpn-app

The Mullvad VPN client app for desktop and mobile
https://mullvad.net/
GNU General Public License v3.0
5.09k stars 338 forks source link

[Feature Request] [Android] Ad Blocking Support with Custom Lists / Filters #3173

Open itcat4u43 opened 2 years ago

itcat4u43 commented 2 years ago

Due to the fact that only one VPN can be used on Android at a time, it would be great if you can define custom ad blocking lists or set custom filters for DNS names to block. It should not be a complete ad blocking app like AdAway or so, but if you could load a block list and additionally set your own DNS filters, that would be very advantageous.

Good block list can be found here: https://github.com/AdAway/AdAway/wiki/HostsSources

I know that there is already a DNS server from mullvad with basic ad blocking (https://mullvad.net/en/blog/2021/5/27/how-set-ad-blocking-our-app/). So everyone could define their own block lists locally or block DNS resolutions to specific domains (e.g. some people use facebook and others don't, so facebook.com can't be blocked in general, but all those who don't use it could block the DNS resolutions themselves).

faern commented 2 years ago

If you want a very custom DNS setup, you could use our Custom DNS feature. You would need to run your own DNS server of course. Something like Pi-hole or similar can be used.

Custom handling of DNS in the app might come at some point, but it's not on the near roadmap, just so you know.

ghost commented 2 years ago

Due to the fact that only one VPN can be used on Android at a time, it would be great if you can define custom ad blocking lists or set custom filters for DNS names to block. It should not be a complete ad blocking app like AdAway or so, but if you could load a block list and additionally set your own DNS filters, that would be very advantageous.

Good block list can be found here: https://github.com/AdAway/AdAway/wiki/HostsSources

I know that there is already a DNS server from mullvad with basic ad blocking (https://mullvad.net/en/blog/2021/5/27/how-set-ad-blocking-our-app/). So everyone could define their own block lists locally or block DNS resolutions to specific domains (e.g. some people use facebook and others don't, so facebook.com can't be blocked in general, but all those who don't use it could block the DNS resolutions themselves).

in the time this feature come (if this feature come one day) i recommend you to use dnscrypt-proxy and use their internal blocklist feature (and use the DOH or DOT server of mullvad (https://mullvad.net/en/help/dns-over-https-and-dns-over-tls/) as source, and like that the local dns you use will be 127.0.0.1 or ::1 (like that you reach your way and prevent dns leaks).

itcat4u43 commented 2 years ago

Due to the fact that only one VPN can be used on Android at a time, it would be great if you can define custom ad blocking lists or set custom filters for DNS names to block. It should not be a complete ad blocking app like AdAway or so, but if you could load a block list and additionally set your own DNS filters, that would be very advantageous. Good block list can be found here: https://github.com/AdAway/AdAway/wiki/HostsSources I know that there is already a DNS server from mullvad with basic ad blocking (https://mullvad.net/en/blog/2021/5/27/how-set-ad-blocking-our-app/). So everyone could define their own block lists locally or block DNS resolutions to specific domains (e.g. some people use facebook and others don't, so facebook.com can't be blocked in general, but all those who don't use it could block the DNS resolutions themselves).

in the time this feature come (if this feature come one day) i recommend you to use dnscrypt-proxy and use their internal blocklist feature (and use the DOH or DOT server of mullvad (https://mullvad.net/en/help/dns-over-https-and-dns-over-tls/) as source, and like that the local dns you use will be 127.0.0.1 or ::1 (like that you reach your way and prevent dns leaks).

Which app do you use for dnscrypt-proxy? As far as i know dnscrypt-proxy only works well with a rooted phone.

ghost commented 2 years ago

Due to the fact that only one VPN can be used on Android at a time, it would be great if you can define custom ad blocking lists or set custom filters for DNS names to block. It should not be a complete ad blocking app like AdAway or so, but if you could load a block list and additionally set your own DNS filters, that would be very advantageous. Good block list can be found here: https://github.com/AdAway/AdAway/wiki/HostsSources I know that there is already a DNS server from mullvad with basic ad blocking (https://mullvad.net/en/blog/2021/5/27/how-set-ad-blocking-our-app/). So everyone could define their own block lists locally or block DNS resolutions to specific domains (e.g. some people use facebook and others don't, so facebook.com can't be blocked in general, but all those who don't use it could block the DNS resolutions themselves).

in the time this feature come (if this feature come one day) i recommend you to use dnscrypt-proxy and use their internal blocklist feature (and use the DOH or DOT server of mullvad (https://mullvad.net/en/help/dns-over-https-and-dns-over-tls/) as source, and like that the local dns you use will be 127.0.0.1 or ::1 (like that you reach your way and prevent dns leaks).

Which app do you use for dnscrypt-proxy? As far as i know dnscrypt-proxy only works well with a rooted phone.

on Android i use : https://play.google.com/store/apps/details?id=dnsfilter.android&hl=en&gl=US Also on F-Droid : https://f-droid.org/en/packages/dnsfilter.android/

On ios i use : https://apps.apple.com/us/app/dnscloak-secure-dns-client/id1452162351

They generate a local vpn to filter dns rootless

itcat4u43 commented 2 years ago

Due to the fact that only one VPN can be used on Android at a time, it would be great if you can define custom ad blocking lists or set custom filters for DNS names to block. It should not be a complete ad blocking app like AdAway or so, but if you could load a block list and additionally set your own DNS filters, that would be very advantageous. Good block list can be found here: https://github.com/AdAway/AdAway/wiki/HostsSources I know that there is already a DNS server from mullvad with basic ad blocking (https://mullvad.net/en/blog/2021/5/27/how-set-ad-blocking-our-app/). So everyone could define their own block lists locally or block DNS resolutions to specific domains (e.g. some people use facebook and others don't, so facebook.com can't be blocked in general, but all those who don't use it could block the DNS resolutions themselves).

in the time this feature come (if this feature come one day) i recommend you to use dnscrypt-proxy and use their internal blocklist feature (and use the DOH or DOT server of mullvad (https://mullvad.net/en/help/dns-over-https-and-dns-over-tls/) as source, and like that the local dns you use will be 127.0.0.1 or ::1 (like that you reach your way and prevent dns leaks).

Which app do you use for dnscrypt-proxy? As far as i know dnscrypt-proxy only works well with a rooted phone.

on Android i use : https://play.google.com/store/apps/details?id=dnsfilter.android&hl=en&gl=US Also on F-Droid : https://f-droid.org/en/packages/dnsfilter.android/

On ios i use : https://apps.apple.com/us/app/dnscloak-secure-dns-client/id1452162351

They generate a local vpn to filter dns rootless

But than I've the same problem that I've addressed here. On android you are not allowed to run two VPNs so you can only run the mullvad VPN or dnscrypt-proxy (ADAway, Blokada,...). ;)

I don't know a VPN app which supports DNS blocking with custom lists or a AD blocking app which supports to configure an upstream VPN.