Run 34421944328 odoo#0 loaded assets over the node onion that the page could not use. build_csp_header mirrors every clearnet token that carries the primary domain onto the node onion, but kept its scheme. Onion vhosts are served in plaintext, so a sibling like https://cdn.<onion> never matched the http://cdn.<onion> request it was meant to allow. Onion siblings now map https to http and wss to ws; the clearnet token is unchanged. The body filter rewrote external asset origins to the onion mirror only in HTML, so stylesheets kept pulling https://<origin> directly. When an app has tor enabled and external asset origins, the header filter now also flags text/css responses on .onion hosts (dropping Content-Length, since the body changes), and the body filter runs those through the same buffer and mirror rewrite and returns before the HTML injections. The flag is set under the same Jinja condition that renders the mirror block, so a flagged response always has a rewrite to run. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
NGINX Global Matomo & Theming Modifier Role
Description
This role enhances your NGINX configuration by conditionally injecting global Matomo tracking and theming elements into your HTML responses. It uses NGINX sub-filters to seamlessly add tracking scripts and CSS links to your web pages.
Overview
This role core role for Nginx HTML injection of Matomo, theming, iFrame and JS snippets based on application feature flags.
Cosmos
The diagram places NGINX Global Matomo & Theming Modifier Role in the Infinito.Nexus cosmos: the components it deploys (capabilities), the central services it consumes (dependencies), and its outward reach (federation and bridged external networks).
flowchart LR
subgraph role [sys-front-inj-all 💻]
svc_all["all"]
end
Solid 1:1 edges are fixed relationships; dashed 0..1 edges are conditional (enabled only in matching deployments); red 0..0 edges are turned off in this role. Node markers show the role's deploy modes (💻 host, 🐳 compose, 🐝 swarm); ❌ marks a service that is explicitly turned off, and ⚙️ an Ansible role dependency declared in meta/main.yml.
Features
-
Global Matomo Tracking
The role includes Matomo tracking configuration and injects the corresponding tracking script into your HTML. -
Global Theming
The role injects a global CSS link for consistent theming across your site. -
Smart Injection
Uses NGINX'ssub_filterto insert the tracking and theming snippets right before the closing</head>tag of your HTML documents.
This will automatically activate Matomo tracking and/or global theming based on your configuration.
Credits
Implemented by Kevin Veen-Birkenbach. Part of the Infinito.Nexus Project and maintained by Kevin Veen-Birkenbach. Licensed under the Infinito.Nexus Community License (Non-Commercial).