Readit News logoReadit News
NdMAND · 3 months ago
Single-handedly, Firefox (independently from how crappy it can be at times) is what is keeping me on Android. Its full extension support (i.e.: uBlock Origin support) is something that I can't really do without. I do wonder if the crowd here knows of other good alternatives though - specifically, Android and/or iOS browsers with "full" uBlock Origin support (no uBlock origin lite, no other blocker, ...). I would love to be made aware of a few alternatives. I am aware that there is a browser from Kagi that works on iOS (I think?) but it's still in beta and closed sourced so not ready for prime time on my device. I am also aware of some peers of Firefox like Waterfox.
vanc_cefepime · 3 months ago
Orion (by Kagi) with full ublock origin on iOS, atleast that was the case about 6 months ago that I am aware of on Apple’s ecosystem. I’ve long jumped to pihole/adguard home to block ads at the router level so I went back to stock safari after that and use Tailscale to retain the router blocking capabilities when I’m on cell service.
TingPing · 3 months ago
This simply isn’t true, webkit cannot support ublock origin atm.

https://docs.google.com/spreadsheets/d/14IgSRVop4psUTgtLZlvY...

The request modification apis specifically.

darkamaul · 3 months ago
I'm also using Orion on iOS, so far without any major issues. And adblocking still works great here.
stagalooo · 3 months ago
Yes, this is still true. I use orion but I do find it to be a bit buggy.
TiredOfLife · 3 months ago
Kagi is directly working with Russia, so anything touched by them is out.
christophilus · 3 months ago
Brave on iOS is fine. Works roughly like my old Android Firefox did.
edelhans · 3 months ago
Edge for Android also has (limited) extension support. It only supports a subset of extensions, but I am using uBlock Origin (full version, although _lite_ is also available), Sponsorblock and Dark Reader for example.
okanat · 3 months ago
Not uBlock Origin but Brave's own blocker is written in Rust and it is much more battery efficient than Firefox+uBO. It is equally powerful too (you can also add custom lists). Firefox is both slow and eats a lot of battery.

Deleted Comment

vdfs · 3 months ago
Samsung Browser do support few ad blocking extensions like ADB+ and AdGuard
antman · 3 months ago
Kiwi browser allows the blocked chrome extensions such as ublock origin
twapi · 3 months ago
Kiwi is no longer maintained
that_lurker · 3 months ago
Why not do dns adblocking so the device or browser does not matter
bmicraft · 3 months ago
Because it's much less effective.
vezycash · 3 months ago
Try lemur browser, it has extension support.
icar · 3 months ago
Try Vivaldi
dingi · 3 months ago
DoH is a technical win but a practical regression for anyone who actually runs their own DNS. With classic DNS, you could hand out your resolver via DHCP and transparently control local zones. With DoH, that's gone. You have to configure each client explicitly, because the traffic is wrapped in HTTPS and can't be intercepted.

And the defaults don't help: instead of your ISP seeing your queries, now it's Cloudflare, Google, or whichever big player your browser hardcodes. That's not decentralization, it's centralization under a shinier marketing story.

Encryption is good, censorship resistance is good, but the rollout conveniently shifts power away from users and toward a handful of global DNS silos. For technical folks, it feels less like progress and more like lock-in with extra steps.

j16sdiz · 3 months ago
> you could hand out your resolver via DHCP and transparently control local zones. With DoH, that's gone.

Checkout RFC9463

echion · 3 months ago
MrAlex94 · 3 months ago
Not sure why it took so long for Mozilla to expose the setting on Android, it's been a 'secret' setting for a long time. In fact, sometimes they let features ride the rails for a little bit too long IMO.

For Waterfox for Android I exposed the setting by default and also added an addition DNS over Oblivious HTTP setting (DoOH) which uses Fastly as the relay (they host and control it, for privacy sanitisation) and Cloudflare as the resolver.

mikae1 · 3 months ago
It's been accessible via about:config, yes.

But more importantly, there's a system wide DoH setting in Android (or at least in GrapheneOS). I don't see why it would preferable to only configure DoH in the browser.

MrAlex94 · 3 months ago
Not just `about:config`, which is limited to non-release builds, but via enabling “Secret Settings” when you enable debug mode: https://firefox-source-docs.mozilla.org/mobile/android/fenix...

This allowed access from the standard settings page which you can see in this release, it’s the same setting just exposed instead of hidden.

I think Nimbus experiments also might have exposed the setting.

hulitu · 3 months ago
> It's been accessible via about:config, yes.

Am i the only one for which about:config does nothing on Firefox on Android ?

sersi · 3 months ago
Hey, just wanted to say thanks for your work on Waterfox!
StuPC2000 · 3 months ago
Seconded!
temp0826 · 3 months ago
> DoOH

How is the latency?

martinald · 3 months ago
In theory could be as low as single digit ms overhead, assuming fastly and cloudflares PoPs being used are very close to each other. In reality it seems higher than that but I'm sure a lot of optimisations can be done.
MrAlex94 · 3 months ago
While this was measured in a slightly different implementation via Oblivious DNS[1]:

> The first thing that we can say with confidence is that the additional encryption is marginal. We know this because we randomly selected 10,000 domains from the Tranco million dataset and measured both encryption of the A record with a different public key, as well as its decryption. The additional cost between a proxied DoH query/response and its ODoH counterpart is consistently less than 1ms at the 99th percentile.

[1]: https://blog.cloudflare.com/oblivious-dns/#what-about-perfor...

LiamPowell · 3 months ago
This doesn't address why this needs to be built in to the browser when Android already does DoH by itself. I assume there's a reason, does anyone know what it is?
alerighi · 3 months ago
First not all Android versions do that, and not all vendors implement that. Not everyone is running the latest version and has a Google Pixel. Second passing from the OS is less secure since there are a multitude of actors, Google, the device vendor, eventual VPN app, etc. that could get access to that queries (in fact apps to block ADS such as ADAway if you don't have root use VPN functionality to intercept DNS queries). In the end if you want to be safe better not pass from the OS in the first place.
TiredOfLife · 3 months ago
My Samsung phone is on android 9 (released 7 years go) and has DoH
thyristan · 3 months ago
Query statistics is valuable data you can sell. Client DNS queries are in that regard similar to search queries and a default search engine setting, you can sell that to the highest bidder. So browser makers are incentivized to implement their own resolver with its own set of DNS servers instead of just the system ones. Either because they want to sell those statistics themselves. Or because they want to protect their users from the statistics collection of the underlying OS resolver or ISP resolver.
khc · 3 months ago
the browser, being the originator of these DNS queries, already knows what website you are visiting.
ekr____ · 3 months ago
Android does same-provider auto-upgrade if it determines that the recursive supports DoH (last I checked, if it's on Google's list). However, this means that unless you configure your own resolver, you're vulnerable to whoever controls the network substituting their own resolver. Firefox uses a set of vetted and pre-specified resolvers ("trusted recursive resolvers"), so is less vulnerable to this form of attack. I say "less vulnerable" because by default it will fall back to the system DNS on failure, but you can configure hard-fail.

You may or may not think this is a better design (I was one of the people responsible for Firefox doing things this way, so I do), but hopefully this explains the difference.

See: https://educatedguesswork.org/posts/dns-security-dox/ for more on the difference.

wander_forever · 3 months ago
Yes, this. AND while Firefox is providing you the control to choose when to enable or disable DoH, you don't get that control at OS-level, or even the visibility of what the OS is choosing on your behalf for each such query.
wander_forever · 3 months ago
DoH in Firefox provides you the control to choose when to enable or disable and which DNS provider to choose, while Android does not provide any such choice or even make it known to the user when DoH is used or not. In addition, Firefox only partners with DNS providers that have legally-binding agreements for strongest privacy guarantees - see https://wiki.mozilla.org/Security/doh-resolver-policy .
noirscape · 3 months ago
Android privacy tools are leaky (which is bad given it's privacy tooling, you don't want that to leak!) Their VPN tools on OS level are pretty notorious for not properly respecting kill switch settings[0].

That alone makes a native browser implementation a better solution than the OS version.

[0]: https://mullvad.net/en/blog/dns-traffic-can-leak-outside-the... is just one example I found on Google (in this case, using the C function getaddrinfo bypasses the tunnel entirely, which Chrome in particular uses for DNS queries - only android API calls respect the tunnel), but you hear about stuff like this every couple years; in that post they also link to a prior incident where connectivity checks and NTP updates were conveniently not using the VPN even when killswitches are active. Neither of these incidents have been fixed as of the time of writing (and Google explicitly doesn't consider conncheck/NTP calls occuring outside of the VPN tunnel to be a bug.)

izacus · 3 months ago
What does your post have to do with DoH though?
jansper39 · 3 months ago
I thought Android only supported DNS over TLS, so at least this opens up options for people.
Phelinofist · 3 months ago
AFAIK Android does not do DoH but DoT - at least you can only set a DoT endpoint in the "private DNS" settings.
seanieb · 3 months ago
Privacy.
LiamPowell · 3 months ago
Why is DoH in the browser more private than DoH in the OS?
ape4 · 3 months ago
Yeah, Android is Google
drnick1 · 3 months ago
I have long been using my own recursive DNS server through Wireguard on my GrapheneOS device. I don't see how using DoH through one of the few well known centralized providers is better for privacy.
groggler · 3 months ago
Any domain could instrument their DNS to associate your DNS servers with your sessions which is highly unique for you and possibly connects your otherwise distributed devices, it would be odd to me if none of them try to add this to a profile for you just with the expectation of clustering users by more typical configurations.
nemomarx · 3 months ago
What's the good DoH provider nowadays? I feel like cloud flare has some downsides in terms of centralization
grepfru_it · 3 months ago
For those wanting a bit of privacy, you can run your own DOH server[0]. Be aware that the upstream requests can still be tracked, but additional safety steps can be taken such as hosting your own dns resolver (bind/powerdns), sending dns/doh queries over a vpn or tor connection, or spanning queries over multiple sources. Each has its own security and privacy implications, which is beyond the scope of this comment :)

[0] https://github.com/DNSCrypt/doh-server

mrweasel · 3 months ago
Running your own DOH server comes with it's own set of risks, depending on your adversary. If you're the only person using a DOH server, then any requests that server make must belong to you. I'd argue that it's better to use a public server and hide in between the other users.
mrweasel · 3 months ago
Wikimedia runs an experimental DoH server, see: https://meta.wikimedia.org/wiki/Wikimedia_DNS
jsheard · 3 months ago
Mullvad runs a privacy-oriented DoH service, which is free to use regardless of whether you use their VPN service.

https://mullvad.net/en/help/dns-over-https-and-dns-over-tls

traceroute66 · 3 months ago
Mullvad DoH is great, and things like ad-blocking seems to be more effective on Mullvad.

But, and its a BIG BUT ....

Mullvad don't have the geo-coverage that Quad9 has. They are predominantly Northern Europe with very limited server coverage outside (6x Northern Europe, 2xUSA, 1xSingapore)

Which is fine if you spend most of your time in those three places.

But if you are a road-warrior or you live elsewhere, then Quad9 is the better choice as they have global coverage (200 locations, 90 countries).

Avoid Cloudflare. They log traffic. Sure for a short-time period ($n days) but Quad9 still has the better privacy policy.

Quad9 is also Swiss, not US, so they can't be compelled to do anything under PATRIOT or whatever.

miyuru · 3 months ago
For Germany/EU there is ffmuc: https://social.ffmuc.net/@freifunkMUC/114087819103432120

Hopefully we will see more regional DOH providers instead of centralized ones.

hocuspocus · 3 months ago
NextDNS is great
AlgebraFox · 3 months ago
Quad9 (supports DoH,DoT,Dnscrypt) and Mullvad are both good secure DNS services.

Choose Quad9 if you want better security and Mullvad for it's adblocking options.

Phelinofist · 3 months ago
I did setup AdGuard with unbound. Setup supports DoH and DoT. Pretty nice.
qiine · 3 months ago
I like quad9
aborsy · 3 months ago
You can set DoH in all major browsers in desktop. On iOS, you can use private relay.

One issue is, if you set DoH in the browser, you can not do DNS filtering in your dns server. It might be better to send DNS over VPN to your home lan, do the filtering there, and let your dns server send the dns over https.

Tailscale can send DNS from all devices to a server of your choice. From there, AdGaurd or Pihole will filter it and send it over https.

afh1 · 3 months ago
>DNS query [...] in the clear. [...] (DoH) plugs this privacy leak [...] no one on the network, not your internet service provider [...] can eavesdrop on your browsing

Whoever could see DNS traffic can still see the target you're connecting to...

bscphil · 3 months ago
The promise is especially dangerous when a huge fraction of traffic doesn't use Encrypted Client Hello, [1] so the domain name is sent in the clear with the initial request to the server.

A while back I wrote a quick proof-of-concept that parses packet data from sniffglue [2] and ran it on my very low powered router to log all source IP address + hostname headers. It didn't even use a measurable amount of CPU, and I didn't bother to implement it efficiently, either.

I think it's safe to assume that anyone in a position to MITM you, including your ISP, could easily be logging this traffic if they want to.

[1] https://en.wikipedia.org/wiki/Server_Name_Indication#Encrypt...

[2] https://github.com/kpcyrd/sniffglue

kyrra · 3 months ago
But if that request is going to a large provider (GCP, AWS, CloudFlare), without the hostname, the request is going to be close to meaningless for the snoop.
wander_forever · 3 months ago
Correct - that would be visible via ClientHello. But Firefox also enabled ECH (when DoH is enabled) a while back - https://support.mozilla.org/en-US/kb/faq-encrypted-client-he... .
ekr____ · 3 months ago
This is correct. The right way to think of DoH is as part of a package of mechanisms (including ECH) that collectively are designed to close network-based leakage of browsing history. Used alone, it has some value but that value is limited.