WitNote / internal /bridge /adblock.go
AUXteam's picture
Upload folder using huggingface_hub
6a7089a verified
package bridge
// AdBlockPatterns blocks ad, tracking, and analytics domains for cleaner snapshots
var AdBlockPatterns = []string{
// Analytics & tracking
"*google-analytics.com/*",
"*googletagmanager.com/*",
"*googletagservices.com/*",
"*googlesyndication.com/*",
"*googleadservices.com/*",
"*doubleclick.net/*",
"*facebook.com/tr/*",
"*facebook.com/plugins/*",
"*connect.facebook.net/*",
"*fbcdn.net/*/fbevents.js",
"*twitter.com/i/adsct",
"*analytics.twitter.com/*",
"*static.ads-twitter.com/*",
"*amazon-adsystem.com/*",
"*amazontrust.com/*",
"*adsafeprotected.com/*",
"*segment.io/*",
"*segment.com/*",
"*mixpanel.com/*",
"*amplitude.com/*",
"*mxpnl.com/*",
"*kissmetrics.com/*",
"*hotjar.com/*",
"*fullstory.com/*",
"*heapanalytics.com/*",
"*mouseflow.com/*",
"*luckyorange.com/*",
"*crazyegg.com/*",
"*pingdom.net/*",
"*newrelic.com/*",
"*nr-data.net/*",
// Ad networks
"*doubleclick.net/*",
"*googleadservices.com/*",
"*googlesyndication.com/*",
"*adnxs.com/*",
"*adsymptotic.com/*",
"*openx.net/*",
"*pubmatic.com/*",
"*rubiconproject.com/*",
"*adsrvr.org/*",
"*amazon-adsystem.com/*",
"*media.net/*",
"*adtech.de/*",
"*adzerk.net/*",
"*criteo.com/*",
"*criteo.net/*",
"*casalemedia.com/*",
"*33across.com/*",
"*taboola.com/*",
"*outbrain.com/*",
"*revcontent.com/*",
"*zemanta.com/*",
"*disqus.com/ads/*",
// Marketing automation
"*marketo.com/*",
"*marketo.net/*",
"*hubspot.com/analytics/*",
"*pardot.com/*",
"*leadfeeder.com/*",
"*clickcease.com/*",
"*leadforensics.com/*",
// Social media widgets (often slow/tracking)
"*platform.twitter.com/widgets/*",
"*platform.instagram.com/widgets/*",
"*platform.linkedin.com/widgets/*",
"*pinterest.com/js/pinit.js",
// Common trackers
"*scorecardresearch.com/*",
"*quantserve.com/*",
"*quantcount.com/*",
"*parsely.com/*",
"*chartbeat.com/*",
"*omtrdc.net/*",
"*optimizely.com/*",
"*visualwebsiteoptimizer.com/*",
"*demdex.net/*",
"*bluekai.com/*",
"*addthis.com/*",
"*sharethis.com/*",
// Cookie consent (often blocks content)
"*cookielaw.org/*",
"*cookiebot.com/*",
"*onetrust.com/*",
"*trustarc.com/*",
"*usercentrics.com/*",
// Misc tracking pixels
"*pixel.gif*",
"*tracking.gif*",
"*analytics.gif*",
"*/tr?*",
"*/pixel?*",
"*/collect?*",
}
// CombineBlockPatterns merges multiple pattern lists
func CombineBlockPatterns(patterns ...[]string) []string {
var result []string
seen := make(map[string]bool)
for _, list := range patterns {
for _, pattern := range list {
if !seen[pattern] {
seen[pattern] = true
result = append(result, pattern)
}
}
}
return result
}