"""Per-device domain profiles: (domain, weight). Weights are relative lookup frequencies within a device; each lookup emits the device's query-type set.""" # Query-type sets per lookup, with their probabilities. A, AAAA, HTTPS = 1, 28, 65 APPLE_TYPES = [((A, AAAA, HTTPS), 0.75), ((A, AAAA), 0.15), ((A,), 0.10)] ANDROID_TYPES = [((A, AAAA), 0.55), ((A, AAAA, HTTPS), 0.30), ((A,), 0.15)] WINDOWS_TYPES = [((A, AAAA), 0.60), ((A, AAAA, HTTPS), 0.20), ((A,), 0.20)] TV_TYPES = [((A,), 0.70), ((A, AAAA), 0.30)] COMMON_WEB = [ ("www.google.com", 30), ("www.gstatic.com", 18), ("fonts.googleapis.com", 8), ("fonts.gstatic.com", 8), ("www.wikipedia.org", 3), ("en.wikipedia.org", 4), ("upload.wikimedia.org", 3), ("www.bbc.co.uk", 3), ("www.theguardian.com", 3), ("www.reddit.com", 6), ("www.redditstatic.com", 3), ("i.redd.it", 3), ("www.amazon.com", 4), ("m.media-amazon.com", 4), ("www.ebay.com", 2), ("github.com", 2), ("cdn.jsdelivr.net", 3), ("cdnjs.cloudflare.com", 3), ("www.youtube.com", 10), ("i.ytimg.com", 8), ("yt3.ggpht.com", 4), ("www.nytimes.com", 2), ("static01.nyt.com", 2), ("www.weather.com", 2), ("duckduckgo.com", 2), ("www.bing.com", 2), ("stackoverflow.com", 2), ("www.imdb.com", 1), ("www.booking.com", 1), ("www.paypal.com", 1), ("ajax.googleapis.com", 3), ("maps.googleapis.com", 3), ("www.google-analytics.com", 6), ("www.googletagmanager.com", 6), ("googleads.g.doubleclick.net", 4), ("securepubads.g.doubleclick.net", 3), ("pagead2.googlesyndication.com", 3), ("connect.facebook.net", 2), ("bat.bing.com", 2), ("static.ads-twitter.com", 1), ("c.amazon-adsystem.com", 2), ("cdn.taboola.com", 1), ("widgets.outbrain.com", 1), ("sb.scorecardresearch.com", 2), ("js-agent.newrelic.com", 1), ("browser.sentry-cdn.com", 1), ] PROFILES = { "tv": { "types": TV_TYPES, "domains": [ ("api-global.netflix.com", 40), ("nrdp.prod.ftl.netflix.com", 18), ("assets.nflxext.com", 14), ("ichnaea.netflix.com", 10), ("www.youtube.com", 22), ("youtubei.googleapis.com", 28), ("i.ytimg.com", 22), ("redirector.googlevideo.com", 14), ("www.googleapis.com", 8), ("disney.api.edge.bamgrid.com", 12), ("bam-sdk-configs.bamgrid.com", 4), ("appconfigs.disney-plus.net", 5), ("apresolve.spotify.com", 4), ("spclient.wg.spotify.com", 5), ("time.samsungcloudsolution.com", 6), ("otn.samsungcloudsolution.com", 4), ("www.samsungotn.net", 2), ("osb-apps.samsungqbe.com", 4), ("gpm.samsungqbe.com", 3), ("cdn.samsungcloudsolution.com", 3), ("connectivitycheck.gstatic.com", 4), # Trackers and ads a smart TV really emits. ("log-config.samsungacr.com", 9), ("log-ingestion-eu.samsungacr.com", 8), ("config.samsungads.com", 7), ("samsung-com.112.2o7.net", 5), ("ad.samsungadhub.com", 4), ("tracking.samsungads.com", 4), ("googleads.g.doubleclick.net", 6), ("pubads.g.doubleclick.net", 5), ("s0.2mdn.net", 3), ("imasdk.googleapis.com", 4), ("logs.netflix.com", 4), ("events.samsungads.com", 3), ], "lookups": 3900, }, "iphone": { "types": APPLE_TYPES, "domains": COMMON_WEB + [ ("gateway.icloud.com", 14), ("p53-caldav.icloud.com", 4), ("api.apple-cloudkit.com", 8), ("gspe1-ssl.ls.apple.com", 6), ("mesu.apple.com", 2), ("init.itunes.apple.com", 4), ("bag.itunes.apple.com", 3), ("play.itunes.apple.com", 2), ("captive.apple.com", 6), ("weather-data.apple.com", 4), ("configuration.ls.apple.com", 3), ("graph.instagram.com", 8), ("i.instagram.com", 12), ("scontent.cdninstagram.com", 10), ("static.cdninstagram.com", 4), ("graph.facebook.com", 5), ("g.whatsapp.net", 12), ("mmg.whatsapp.net", 6), ("api.spotify.com", 5), ("spclient.wg.spotify.com", 6), ("i.scdn.co", 4), ("www.google.com", 6), ("maps.apple.com", 2), ("mask.icloud.com", 3), # App analytics and ad SDKs. ("app-measurement.com", 10), ("firebaselogging-pa.googleapis.com", 6), ("app-analytics-services.com", 4), ("api.mixpanel.com", 3), ("api2.amplitude.com", 3), ("graph.facebook.com", 2), ("ads.tiktok.com", 2), ("cdn.branch.io", 2), ("api2.branch.io", 2), ("app.adjust.com", 3), ("in.appcenter.ms", 2), ("events.appsflyer.com", 3), ("sessions.bugsnag.com", 2), ("iadsdk.apple.com", 3), ("metrics.icloud.com", 3), ("notify.bugsnag.com", 1), ("ads.mopub.com", 1), ], "lookups": 1300, }, "pixel": { "types": ANDROID_TYPES, "domains": COMMON_WEB + [ ("android.googleapis.com", 10), ("play.googleapis.com", 8), ("www.googleapis.com", 10), ("android.clients.google.com", 6), ("mtalk.google.com", 10), ("connectivitycheck.gstatic.com", 8), ("clients4.google.com", 4), ("play-lh.googleusercontent.com", 6), ("lh3.googleusercontent.com", 5), ("photos.googleapis.com", 3), ("gmail.googleapis.com", 4), ("inbox.google.com", 2), ("youtubei.googleapis.com", 10), ("i.ytimg.com", 6), ("rr1---sn-4g5e6nzz.googlevideo.com", 3), ("g.whatsapp.net", 10), ("mmg.whatsapp.net", 5), ("web.whatsapp.com", 1), ("i.instagram.com", 8), ("scontent.cdninstagram.com", 7), ("api.spotify.com", 4), ("spclient.wg.spotify.com", 5), ("discord.com", 3), ("gateway.discord.gg", 3), ("cdn.discordapp.com", 3), ("time.android.com", 3), # App analytics and ad SDKs. ("app-measurement.com", 10), ("firebaselogging-pa.googleapis.com", 8), ("crashlyticsreports-pa.googleapis.com", 4), ("settings.crashlytics.com", 3), ("googleads.g.doubleclick.net", 5), ("adservice.google.com", 3), ("graph.facebook.com", 3), ("an.facebook.com", 2), ("api.mixpanel.com", 2), ("app.adjust.com", 2), ("t.appsflyer.com", 2), ("ads.mopub.com", 1), ], "lookups": 1450, }, "kids": { "types": ANDROID_TYPES, "domains": [ ("www.google.com", 12), ("www.youtube.com", 20), ("youtubei.googleapis.com", 18), ("i.ytimg.com", 14), ("yt3.ggpht.com", 6), ("android.googleapis.com", 6), ("mtalk.google.com", 6), ("connectivitycheck.gstatic.com", 5), ("www.gstatic.com", 5), ("play.googleapis.com", 5), ("www.roblox.com", 10), ("apis.roblox.com", 10), ("tr.rbxcdn.com", 6), ("www.minecraft.net", 3), ("api.minecraftservices.com", 4), ("pocket.realms.minecraft.net", 2), ("api.spotify.com", 3), ("www.duolingo.com", 3), ("android-api.duolingo.com", 4), ("en.wikipedia.org", 2), ("www.bing.com", 2), ("g.whatsapp.net", 4), ("www.tiktok.com", 4), ("api16-normal-c-useast1a.tiktokv.com", 4), ("v16-webapp.tiktok.com", 3), ("discord.com", 2), # Game ad networks and analytics. ("unityads.unity3d.com", 7), ("config.unityads.unity3d.com", 4), ("auction.unityads.unity3d.com", 4), ("ms.applovin.com", 5), ("a.applovin.com", 4), ("rt.applovin.com", 3), ("googleads.g.doubleclick.net", 6), ("app-measurement.com", 7), ("firebaselogging-pa.googleapis.com", 4), ("supersonicads.com", 2), ("outcome-ssp.supersonicads.com", 2), ("init.supersonicads.com", 2), ("events.appsflyer.com", 2), ("ads.vungle.com", 2), ("api.vungle.com", 2), # Casino ads in free games: only the kids group blocks these. ("www.pokerstars.com", 1), ("www.bet365.com", 1), ("www.888casino.com", 1)], "lookups": 1150, }, "desktop": { "types": WINDOWS_TYPES, "domains": COMMON_WEB + [ ("www.msftconnecttest.com", 6), ("login.live.com", 6), ("login.microsoftonline.com", 4), ("settings-win.data.microsoft.com", 6), ("v10.events.data.microsoft.com", 10), ("watson.telemetry.microsoft.com", 4), ("self.events.data.microsoft.com", 5), ("browser.events.data.msn.com", 4), ("arc.msn.com", 3), ("ris.api.iris.microsoft.com", 3), ("www.bing.com", 6), ("assets.msn.com", 4), ("ntp.msn.com", 4), ("img-s-msn-com.akamaized.net", 3), ("fe3cr.delivery.mp.microsoft.com", 3), ("tsfe.trafficshaping.dsp.mp.microsoft.com", 2), ("dl.delivery.mp.microsoft.com", 2), ("ctldl.windowsupdate.com", 3), ("time.windows.com", 2), ("outlook.office365.com", 6), ("teams.microsoft.com", 4), ("graph.microsoft.com", 4), ("onedrive.live.com", 2), ("store.steampowered.com", 3), ("api.steampowered.com", 4), ("steamcdn-a.akamaihd.net", 2), ("discord.com", 3), ("gateway.discord.gg", 3), ("clients2.google.com", 3), ("update.googleapis.com", 2), ("nas.lan", 3), ("printer.lan", 1), ("vortex.data.microsoft.com", 4), ("mobile.events.data.microsoft.com", 3), ("telemetry.nvidia.com", 2), ("events.gfe.nvidia.com", 2), ], "lookups": 900, }, "mac": { "types": APPLE_TYPES, "domains": COMMON_WEB + [ ("gateway.icloud.com", 10), ("api.apple-cloudkit.com", 6), ("gs-loc.apple.com", 3), ("swscan.apple.com", 2), ("swdist.apple.com", 1), ("xp.apple.com", 4), ("ocsp2.apple.com", 6), ("valid.apple.com", 2), ("captive.apple.com", 4), ("configuration.ls.apple.com", 2), ("time.apple.com", 2), ("api.github.com", 4), ("avatars.githubusercontent.com", 3), ("objects.githubusercontent.com", 2), ("registry.npmjs.org", 3), ("slack.com", 6), ("wss-primary.slack.com", 4), ("edgeapi.slack.com", 3), ("a.slack-edge.com", 3), ("zoom.us", 3), ("us05web.zoom.us", 2), ("www.notion.so", 4), ("api.spotify.com", 3), ("spclient.wg.spotify.com", 4), ("docs.google.com", 5), ("drive.google.com", 3), ("mail.google.com", 6), ("nas.lan", 4), ("files.lan", 2), ("printer.lan", 2), ("metrics.icloud.com", 3), ("api-adservices.apple.com", 2), ("notes-analytics-events.apple.com", 2), ("stats.g.doubleclick.net", 3), ("o0.ingest.sentry.io", 2), ("api.segment.io", 2), ("cdn.segment.com", 2), ("api.mixpanel.com", 1), ("in.hotjar.com", 1), ("static.hotjar.com", 1), ], "lookups": 800, }, }