fix: block Chromium's calls to Google in the companion browser instance - #2129
Conversation
The shared headless Chromium instance (Mermaid, BPMN, Excalidraw, diagrams.net) reaches out to Google (update.googleapis.com, clients2.google.com, android.clients.google.com, accounts.google.com, www.google.com) as soon as it launches, via several independent built-in subsystems (GCM device checkin, network-time sync, the component updater, ...). Disabling each one individually still left some contacting Google, confirmed by packet capture. Block DNS resolution for *.google.com and *.googleapis.com at the browser level via --host-resolver-rules instead, so nothing Chromium does can reach Google regardless of which internal subsystem tries. Fixes yuzutech#2128 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Wow, that was some rapid response. |
Eh eh! could you please give it a try? I'm a bit torn on the host resolver rules option, particularly for Google Fonts https://fonts.googleapis.com/, but I haven't found a better way to block the calls... 😞 |
I can try later tonight. Need to build/update the docker containers myself, right? I'm currently using the workaround with a separate ( Meanwhile I've learned a lot more about docker networking and I'm running my own set of |
You could always map Also, if people really want to operate Basically:
|
I've copied the patched When I run a standard docker-compose, i.e. without the As I already mentioned, I cannot say anything about potential problems with access to |
The --host-resolver-rules added to block Chromium phoning home to Google wildcarded *.google.com and *.googleapis.com, which also blocked legitimate diagram-triggered subresources under those domains (e.g. fonts.googleapis.com), regardless of KROKI_*_SAFE_MODE or *_ALLOWED_ORIGINS. List the exact hosts confirmed by packet capture instead, leaving other googleapis.com/google.com subresources governed by the existing applyNetworkPolicy request policy. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
update.googleapis.com,clients2.google.com,android.clients.google.com,accounts.google.com,www.google.com) as soon as it launches, via several independent built-in subsystems (GCM device checkin, network-time sync, the component updater, ...)--disable-component-update,--disable-domain-reliability,--no-pings) still left some of them contacting Google — confirmed by packet capture (tcpdump/tshark)*.google.comand*.googleapis.comat the browser level via--host-resolver-rules, so nothing Chromium does can reach Google regardless of which internal subsystem triesFixes #2128