News for hackers. Stuff that matters.
Re:Google adds experimental setting to hide full URLs in Chr... by victorelu on Sunday June 14, 2020 @05:12AM (#23516172)
This, along with the inability of disabling the async dns feature in the latest Chrome for desktop versions (thus making pihole/adguard irrelevant), makes me accelerate the change to another browser.
Re:Google adds experimental setting to hide full URLs in Chr... by Spivak on Monday June 15, 2020 @10:05AM (#23527424)
I hate to be the person who's like "you're holding it wrong" but your usage of DNS is incorrect according to the RFCs. All configured DNS servers are assumed to serve the same content. The idea of every DNS request "trying" the first server, timing out, and then the next, and the next is a calcified implementation detail.

A DNS client looking at the list of servers, and marking the speed and reachability of each server is the most basic optimization. It makes no sense for clients to add n seconds to every request for every unreachable DNS sever.

The async DNS feature using Chrome's internal DNS client which behaves differently than glibc and so pihole appears to not work. Chrome is not injecting its own DNS servers into the mix or whitelisting anything, it always uses your system's DNS servers, it just looks them all up in parallel which it is allowed (and encouraged) to do by the RFC.

Make sure all your configured DNS servers are pihole and everything will work.

Re:Google adds experimental setting to hide full URLs in Chr... by gondo on Sunday June 14, 2020 @05:37AM (#23516295)
Also not opening external applications links in incognito mode if that is the last (or the only) chrome window with a focus. It still drives me nuts.
Re:Google adds experimental setting to hide full URLs in Chr... by viraptor on Sunday June 14, 2020 @05:31AM (#23516273)
I'm curious - why do you want to disable it?
Re:Google adds experimental setting to hide full URLs in Chr... by victorelu on Sunday June 14, 2020 @05:34AM (#23516288)
Because I want to use my own DNS server and block ads at the DNS level rather than the browser level. With this move, Google has effectively white listed adsense / adwords to not be blocked regardless of the network settings of the device.
Re:Google adds experimental setting to hide full URLs in Chr... by em-bee on Sunday June 14, 2020 @05:55AM (#23516393)
this is confusing.

https://www.xda-developers.com/fix-dns-ad-blocker-chrome/

seems that the problem is not async itself, but that chrome ignores the system DNS settings and uses googles own DNS servers instead.

Re:Google adds experimental setting to hide full URLs in Chr... by victorelu on Sunday June 14, 2020 @06:03AM (#23516424)
That is a good point, I might have been pointing at the wrong issue in Chrome. I have only seen this behavior happen since 2-3 days ago and all my research pointed me to async dns being the culprit. I am really eager to find out if this can be disabled in any way, but my Chrome time has come to an end with recent developments.
Re:Google adds experimental setting to hide full URLs in Chr... by viraptor on Sunday June 14, 2020 @06:07AM (#23516444)
Seems like a bug. Some environments cannot reach external DNS servers, so it would break resolution in general. This happened before and was fixed: https://bugs.chromium.org/p/chromium/issues/detail?id=265970 I couldn't find any report for the current issue though - maybe you should start one.
Re:Google adds experimental setting to hide full URLs in Chr... by megous on Sunday June 14, 2020 @06:59AM (#23516725)
Chrome doesn't respect DNS settings anyway. I have in my resolv.conf:

    search my.home
And entering hostname of my server would just googles the hostname of my server, instead of trying a lookup and googling only afterwards (or never, I don't see why the browser should contact the owner just because I mistyped the url).
Re:Google adds experimental setting to hide full URLs in Chr... by Spivak on Monday June 15, 2020 @10:21AM (#23527610)
This point merits an explanation. The file /etc/resolv.conf is a configuration file for the `dns` NSS module used by the glibc resolver.

Google's async DNS feature uses Chrome's own internal DNS resolver which doesn't call gethostname(). It would be incorrect for Chrome to parse this file and attempt to "respect" your settings because NSS is a series of black-box system-specific modules. If you removed the dns module from /etc/nsswitch.conf then resolv.conf wouldn't even enter the mix on your system and then Chrome would do the wrong thing. If the dns module behaved differently on your system and /etc/resolv.conf was actually /etc/resolv.json or /etc/resolver.conf then Chrome would again do the wrong thing.

When resolving a name applications have two choices, either look up the name with glibc, send the request through the NSS gauntlet of black-box modules and take whatever it returns of perform the DNS request itself and ignore everything on the system. Any sort of hybrid approach would be more confusing.

Re:Google adds experimental setting to hide full URLs in Chr... by megous on Monday June 15, 2020 @05:41PM (#23533335)
Hmm, so does this mean /etc/hosts will no longer work either, etc.? That's handled by the same glibc function too.