0

I've installed Google Chrome (version 126.0.6478.62, built for x86_64) on my (unmanaged/vanilla) Macintosh (running macOS Sonoma 14.5), and I'd like to use Chrome to access the web server built in to an IPv6-only device on my LAN via its mDNS/Bonjour hostname (e.g. http://mylandevicename.local.). However, it seems that by default Chrome only uses IPv6 if there is IPv6 connectivity to the Internet, which in my case there is not (because this LAN is isolated and does not provide any Internet access at all).

My question is, how can I enable the IPv6ReachabilityOverrideEnabled flag in Google Chrome, in order to make this work?

1
  • FWIW I tried running Chrome from the command line like this: /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-features=IPv6ReachabilityOverrideEnabled but it didn't seem to affect Chrome's behavior at all. I also tried /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --flag-switches-begin --enable-features=IPv6ReachabilityOverrideEnabled --flag-switches-end and that had no obvious effect either. Commented Jun 17 at 5:40

1 Answer 1

1
+150

To enable chrome policies on MacOS, you can install the proper configuration profile by following the steps here: https://support.google.com/chrome/a/answer/9020077

Create a configuration profile

  1. Download the Chrome Browser bundle for Windows zip file. This file contains both Windows and Mac configuration files.
  2. Open the bundle and go to the Configuration folder.
  3. Make a copy of the com.google.Chrome.plist file.
  4. This MCX .plist (property list) example file contains a sub-set of policies that you can customize for your deployment.
  5. Open the .plist file in your preferred editor. You can edit the file with any text editor. It's usually easier to edit a .plist file using an editing tool that formats the XML code for you, such as Xcode, which is available for free from the Apple developer website.
  6. Make your required changes and save the file.
  7. Convert your com.google.Chrome.plist file to a configuration profile using your preferred conversion tool, such as mcxToProfile on github. For example, to use mcxToProfile to convert your file to a configuration profile, enter mcxToProfile.py --plist com.google.Chrome --identifier com.google.Chrome.

The output from this command is an installable configuration profile named com.google.Chrome.mobileconfig.

You can check the status of which policies/values are actually getting applied in chrome://policy


Example .plist content:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>IPv6ReachabilityOverrideEnabled</key>
    <true/>
  </dict>
</plist>

The Chrome executable should also support a --policy parameter to apply policies from the commandline with a comma-separated dictionary, but it did not seem to work in my testing (I may have been getting the syntax wrong):

https://source.chromium.org/chromium/chromium/src/+/main:components/policy/core/common/policy_switches.cc;bpv=1;bpt=1?q=kChromePolicy&ss=chromium

7
  • Can you provide some more detail about what to do in step 6? I've looked at the com.google.Chrome.plist file from the link with a text editor, but it isn't obvious to me how I would add a section to it to enable the IPv6ReachabilityOverrideEnabled flag. Commented Jun 19 at 19:29
  • 1
    @JeremyFriesner I've added the full .plist content you would need I think (though I don't have a mac to test with at the moment)
    – Cpt.Whale
    Commented Jun 20 at 14:33
  • Apologies if I'm being dense, but now that I have generated the com.google.Chrome.mobileconfig file, what should I do in order to make Chrome use it? Commented Jun 20 at 15:27
  • 1
    @JeremyFriesner I believe you can just open the file to be prompted to install it (based on the .mobileconfig extension). I think you can also load it manually from System Preferences > Profiles. Or from the commandline, use profiles -I -F "/path/to/com.google.Chrome.mobileconfig"
    – Cpt.Whale
    Commented Jun 20 at 16:07
  • Hey, that technically worked! (Technically in that now I can see IPv6ReachabilityOverrideEnabled=true listed in the chrome://policy page, and when I try to go to http://mylandevicename.local. in Chrome, WireShark shows me that Chrome is now sending out queries for both A and AAAA mDNS records. Unfortunately, the only difference in Chrome's GUI is that it now says it can't load the web page due to ERR_ADDRESS_UNREACHABLE instead of DNS_PROBE_FINISHED_NXDOMAIN, but maybe expecting Chrome to actually show the web page is too much to ask :/ ) Commented Jun 20 at 18:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .