MisterPhilip / omnibug

Omnibug is an extension for Firefox and most Chromium-based browsers to ease implementing and debugging digital marketing tools.
https://omnibug.io/
MIT License
96 stars 42 forks source link

Add support for proxied or CNAME masked providers #268

Open nikjft opened 3 months ago

nikjft commented 3 months ago

Is your feature request related to a problem? Please describe.

Many martech tools now permit various forms of CNAME masking or even full proxying of their requests, as well as renaming their trackers.

When a service is coming through an unexpected domain, Omnibug doesn't show events for that service.

This is used to serve tags in a first-party context for various purposes (increase control, gain privileged status with Apple's ITP, or circumvent ad blockers).

Describe the solution you'd like

I would like to see a configuration to configure custom domains for each service/provider.

This would be simplest to make the "this._pattern" property in the initial constructor() call editable via a configuration option for individual providers.

It would also be useful to be able to reset any customizations in case users break something.

Describe alternatives you've considered

I have experimented with altering the code for providers to have a different regex. This appears to have the desired effect.

This isn't ideal since that also causes problems with automatic updates of extensions, etc.

Additional context

Examples:

Servicetitan.com serves the Segment library and sends requests via https://segment-api.servicetitan.com/

SimoAhava.com serves Google Tag Manager through https://sgtm.simoahava.com/g/

References for configurations for some services that permit proxying/masking:

Amplitude, Segment, Google Tag Manager

MisterPhilip commented 3 months ago

Yeah, this is high on my list for the next iteration of Omnibug given the number of tools that allow first party hosting.

Semi-related to #10 & #68 (oh man, how are these so old... 😢 )