diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 6f74b13e..84d80f99 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -1,7 +1,7 @@
'name': 'build'
'env':
- 'GO_VERSION': '1.18.9'
+ 'GO_VERSION': '1.19.6'
'NODE_VERSION': '14'
'on':
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index ce89779f..cf94cb26 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -1,7 +1,7 @@
'name': 'lint'
'env':
- 'GO_VERSION': '1.18.9'
+ 'GO_VERSION': '1.19.6'
'on':
'push':
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 269ea042..5789eb38 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,11 +14,11 @@ and this project adheres to
@@ -29,6 +29,98 @@ NOTE: Add new changes ABOVE THIS COMMENT.
+## [v0.107.24] - 2023-02-15
+
+See also the [v0.107.24 GitHub milestone][ms-v0.107.24].
+
+### Security
+
+- Go version has been updated, both because Go 1.18 has reached end of life an
+ to prevent the possibility of exploiting the Go vulnerabilities fixed in [Go
+ 1.19.6][go-1.19.6].
+
+### Added
+
+- The ability to disable statistics by using the new `statistics.enabled`
+ field. Previously it was necessary to set the `statistics_interval` to 0,
+ losing the previous value ([#1717], [#4299]).
+- The ability to exclude domain names from the query log or statistics by using
+ the new `querylog.ignored` or `statistics.ignored` fields ([#1717], [#4299]).
+ The UI changes are coming in the upcoming releases.
+
+### Changed
+
+#### Configuration Changes
+
+In this release, the schema version has changed from 14 to 16.
+
+- Property `statistics_interval`, which in schema versions 15 and earlier used
+ to be a part of the `dns` object, is now a part of the `statistics` object:
+
+ ```yaml
+ # BEFORE:
+ 'dns':
+ # …
+ 'statistics_interval': 1
+
+ # AFTER:
+ 'statistics':
+ # …
+ 'interval': 1
+ ```
+
+ To rollback this change, move the property back into the `dns` object and
+ change the `schema_version` back to `15`.
+- The fields `dns.querylog_enabled`, `dns.querylog_file_enabled`,
+ `dns.querylog_interval`, and `dns.querylog_size_memory` have been moved to the
+ new `querylog` object.
+
+ ```yaml
+ # BEFORE:
+ 'dns':
+ 'querylog_enabled': true
+ 'querylog_file_enabled': true
+ 'querylog_interval': '2160h'
+ 'querylog_size_memory': 1000
+
+ # AFTER:
+ 'querylog':
+ 'enabled': true
+ 'file_enabled': true
+ 'interval': '2160h'
+ 'size_memory': 1000
+ ```
+
+ To rollback this change, rename and move properties back into the `dns`
+ object, remove `querylog` object and `querylog.ignored` property, and change
+ the `schema_version` back to `14`.
+
+### Deprecated
+
+- Go 1.19 support. Future versions will require at least Go 1.20 to build.
+
+### Fixed
+
+- Setting the AD (Authenticated Data) flag on responses that have the DO (DNSSEC
+ OK) flag set but not the AD flag ([#5479]).
+- Client names resolved via reverse DNS not being updated ([#4939]).
+- The icon for League Of Legends on the Blocked services page ([#5433]).
+
+### Removed
+
+- Go 1.18 support, as it has reached end of life.
+
+[#1717]: https://github.com/AdguardTeam/AdGuardHome/issues/1717
+[#4299]: https://github.com/AdguardTeam/AdGuardHome/issues/4299
+[#4939]: https://github.com/AdguardTeam/AdGuardHome/issues/4939
+[#5433]: https://github.com/AdguardTeam/AdGuardHome/issues/5433
+[#5479]: https://github.com/AdguardTeam/AdGuardHome/issues/5479
+
+[go-1.19.6]: https://groups.google.com/g/golang-announce/c/V0aBFqaFs_E
+[ms-v0.107.24]: https://github.com/AdguardTeam/AdGuardHome/milestone/60?closed=1
+
+
+
## [v0.107.23] - 2023-02-01
See also the [v0.107.23 GitHub milestone][ms-v0.107.23].
@@ -1031,7 +1123,6 @@ In this release, the schema version has changed from 10 to 12.
To rollback this change, convert the property back into days and change the
`schema_version` back to `11`.
-
- Property `rlimit_nofile`, which in schema versions 10 and earlier used to be
on the top level, is now moved to the new `os` object:
@@ -1578,11 +1669,12 @@ See also the [v0.104.2 GitHub milestone][ms-v0.104.2].
-[Unreleased]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.23...HEAD
+[Unreleased]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.24...HEAD
+[v0.107.24]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.23...v0.107.24
[v0.107.23]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.22...v0.107.23
[v0.107.22]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.21...v0.107.22
[v0.107.21]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.20...v0.107.21
diff --git a/README.md b/README.md
index 1f2bc7a3..4c011b78 100644
--- a/README.md
+++ b/README.md
@@ -81,12 +81,24 @@ code.
### Automated install (Unix)
-Run the following command in your terminal:
+To install with `curl` run the following command:
```sh
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
```
+To install with `wget` run the following command:
+
+```sh
+wget --no-verbose -O - https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
+```
+
+To install with `fetch` run the following command:
+
+```sh
+fetch -o - https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
+```
+
The script also accepts some options:
* `-c ` to use specified channel;
@@ -249,7 +261,7 @@ Run `make init` to prepare the development environment.
You will need this to build AdGuard Home:
- * [Go](https://golang.org/dl/) v1.18 or later;
+ * [Go](https://golang.org/dl/) v1.19 or later;
* [Node.js](https://nodejs.org/en/download/) v10.16.2 or later;
* [npm](https://www.npmjs.com/) v6.14 or later;
* [yarn](https://yarnpkg.com/) v1.22.5 or later.
diff --git a/bamboo-specs/release.yaml b/bamboo-specs/release.yaml
index bfdfff3b..a6807e85 100644
--- a/bamboo-specs/release.yaml
+++ b/bamboo-specs/release.yaml
@@ -7,7 +7,7 @@
# Make sure to sync any changes with the branch overrides below.
'variables':
'channel': 'edge'
- 'dockerGo': 'adguard/golang-ubuntu:5.4'
+ 'dockerGo': 'adguard/golang-ubuntu:6.1'
'stages':
- 'Build frontend':
@@ -223,6 +223,7 @@
channel="${bamboo.channel}"
readonly channel
+
case "$channel"
in
('release')
@@ -269,8 +270,10 @@
set -e -f -u -x
- export CHANNEL="${bamboo.channel}"
- if [ "$CHANNEL" != 'release' ] && [ "${CHANNEL}" != 'beta' ]
+ channel="${bamboo.channel}"
+ readonly channel
+
+ if [ "$channel" != 'release' ] && [ "${channel}" != 'beta' ]
then
echo "don't publish to GitHub Releases for this channel"
@@ -323,7 +326,7 @@
# need to build a few of these.
'variables':
'channel': 'beta'
- 'dockerGo': 'adguard/golang-ubuntu:5.4'
+ 'dockerGo': 'adguard/golang-ubuntu:6.1'
# release-vX.Y.Z branches are the branches from which the actual final release
# is built.
- '^release-v[0-9]+\.[0-9]+\.[0-9]+':
@@ -338,4 +341,4 @@
# are the ones that actually get released.
'variables':
'channel': 'release'
- 'dockerGo': 'adguard/golang-ubuntu:5.4'
+ 'dockerGo': 'adguard/golang-ubuntu:6.1'
diff --git a/bamboo-specs/test.yaml b/bamboo-specs/test.yaml
index 0ea2df9c..4708bcc7 100644
--- a/bamboo-specs/test.yaml
+++ b/bamboo-specs/test.yaml
@@ -5,7 +5,7 @@
'key': 'AHBRTSPECS'
'name': 'AdGuard Home - Build and run tests'
'variables':
- 'dockerGo': 'adguard/golang-ubuntu:5.4'
+ 'dockerGo': 'adguard/golang-ubuntu:6.1'
'stages':
- 'Tests':
diff --git a/client/src/__locales/be.json b/client/src/__locales/be.json
index a5f5fab8..a90f2fb4 100644
--- a/client/src/__locales/be.json
+++ b/client/src/__locales/be.json
@@ -261,7 +261,7 @@
"query_log_configuration": "Налада часопіса",
"query_log_disabled": "Часопіс запытаў выключаны, яго можна ўключыць у <0>наладах0>",
"query_log_strict_search": "Ужывайце падвойныя двукоссі для строгага пошуку",
- "query_log_retention_confirm": "Вы ўпэўнены, што хочаце змяніць тэрмін захоўвання запытаў? Пры скарачэнні інтэрвалу дадзеныя могуць быць згублены",
+ "query_log_retention_confirm": "Вы ўпэўнены, што хочаце змяніць тэрмін захоўвання запытаў? Пры памяншэнні інтэрвалу, некаторыя даныя могуць быць страчаны",
"anonymize_client_ip": "Ананімізацыя IP-адрасы кліента",
"anonymize_client_ip_desc": "Не захоўвайце поўныя IP-адрасы гэтых удзельнікаў у часопісах або статыстыцы",
"dns_config": "Налады DNS-сервера",
@@ -356,7 +356,7 @@
"install_devices_android_list_5": "Зараз можна змяніць палі «DNS 1» і «DNS 2». Увядзіце ў іх адрасы AdGuard Home.",
"install_devices_ios_list_1": "Увайдзіце ў меню налад прылады.",
"install_devices_ios_list_2": "Абярыце пункт «Wi-Fi» (для мабільных сетак ручная наладка DNS немагчыма).",
- "install_devices_ios_list_3": "Націсніце на назву сетцы, да якой прылада падлучана ў дадзены момант.",
+ "install_devices_ios_list_3": "Націсніце на назву актыўнай у дадзены момант сеткі.",
"install_devices_ios_list_4": "У поле «DNS» увядзіце ўвядзіце адрасы AdGuard Home.",
"get_started": "Паехалі",
"next": "Далей",
@@ -517,10 +517,10 @@
"filter_updated": "Спіс паспяхова абноўлены",
"statistics_configuration": "Канфігурацыя статыстыкі",
"statistics_retention": "Захаванне статыстыкі",
- "statistics_retention_desc": "Калі вы зменшыце значэнне інтэрвалу, некаторыя дадзеныя могуць быць згублены",
+ "statistics_retention_desc": "Калі вы паменшыце значэнне інтэрвалу, некаторыя даныя могуць быць страчаны",
"statistics_clear": "Ачысціць статыстыку",
"statistics_clear_confirm": "Вы ўпэўнены, што хочаце ачысціць статыстыку?",
- "statistics_retention_confirm": "Вы ўпэўнены, што хочаце змяніць тэрмін захоўвання статыстыкі? Пры скарачэнні інтэрвалу дадзеныя могуць быць згублены",
+ "statistics_retention_confirm": "Вы ўпэўнены, што хочаце змяніць тэрмін захоўвання статыстыкі? Пры памяншэнні інтэрвалу, некаторыя даныя могуць быць страчаны",
"statistics_cleared": "Статыстыка паспяхова вычышчана",
"statistics_enable": "Уключыць статыстыку",
"interval_hours": "{{count}} гадзіна",
@@ -598,7 +598,7 @@
"show_blocked_responses": "Заблакавана",
"show_whitelisted_responses": "Белы спіс",
"show_processed_responses": "Апрацавана",
- "blocked_safebrowsing": "Заблакавана згодна базе дадзеных Safe Browsing",
+ "blocked_safebrowsing": "Заблакіравана згодна з базай даных Safe Browsing",
"blocked_adult_websites": "Заблакавана Бацькоўскім кантролем",
"blocked_threats": "Заблакавана пагроз",
"allowed": "Дазволены",
@@ -639,7 +639,7 @@
"safe_browsing": "Бяспечны інтэрнэт",
"served_from_cache": "{{value}} (атрымана з кэша)",
"form_error_password_length": "Пароль павінен быць не менш за {{value}} сімвалаў",
- "anonymizer_notification": "<0>Заўвага:0> Ананімізацыя IP уключана. Вы можаце адключыць яго ў <1>Агульных наладах1> .",
+ "anonymizer_notification": "<0>Заўвага:0> Ананімізацыя IP уключана. Вы можаце адключыць яе ў <1>Агульных наладах1>.",
"confirm_dns_cache_clear": "Вы ўпэўнены, што хочаце ачысціць кэш DNS?",
"cache_cleared": "Кэш DNS паспяхова ачышчаны",
"clear_cache": "Ачысціць кэш"
diff --git a/client/src/__locales/es.json b/client/src/__locales/es.json
index ad45e6c3..f0238614 100644
--- a/client/src/__locales/es.json
+++ b/client/src/__locales/es.json
@@ -454,7 +454,7 @@
"updates_checked": "La nueva versión de AdGuard Home está disponible",
"updates_version_equal": "AdGuard Home está actualizado",
"check_updates_now": "Buscar actualizaciones ahora",
- "version_request_error": "La búsqueda de actualizaciones falló. Por favor revisa tu conexión a Internet.",
+ "version_request_error": "Error buscar la actualización. Comprueba tu conexión a Internet.",
"dns_privacy": "DNS cifrado",
"setup_dns_privacy_1": "<0>DNS mediante TLS:0> Utiliza la cadena <1>{{address}}1>.",
"setup_dns_privacy_2": "<0>DNS mediante HTTPS:0> Utiliza la cadena <1>{{address}}1>.",
@@ -640,7 +640,7 @@
"served_from_cache": "{{value}} (servido desde la caché)",
"form_error_password_length": "La contraseña debe tener al menos {{value}} caracteres",
"anonymizer_notification": "<0>Nota:0> La anonimización de IP está habilitada. Puedes deshabilitarla en <1>Configuración general1>.",
- "confirm_dns_cache_clear": "¿Estás seguro de que deseas borrar la caché de DNS?",
- "cache_cleared": "Caché DNS borrado con éxito",
+ "confirm_dns_cache_clear": "¿Estás seguro de que deseas borrar la caché DNS?",
+ "cache_cleared": "Caché DNS borrado correctamente",
"clear_cache": "Borrar caché"
}
diff --git a/client/src/__locales/fi.json b/client/src/__locales/fi.json
index f222d365..c60508b9 100644
--- a/client/src/__locales/fi.json
+++ b/client/src/__locales/fi.json
@@ -24,7 +24,7 @@
"unavailable_dhcp": "DHCP ei ole käytettävissä",
"unavailable_dhcp_desc": "AdGuard Home ei voi suorittaa DHCP-palvelinta käyttöjärjestelmässäsi",
"dhcp_title": "DHCP-palvelin (kokeellinen!)",
- "dhcp_description": "Jos reitittimessäsi ei ole DHCP-asetuksia, voit käyttää AdGuard Homen omaa sisäänrakennettua DHCP-palvelinta.",
+ "dhcp_description": "Jollei reitittimesi tarjoa DHCP-asetuksia, voit käyttää AdGuard Homen omaa sisäänrakennettua DHCP-palvelinta.",
"dhcp_enable": "Ota DHCP-palvelin käyttöön",
"dhcp_disable": "Poista DHCP-palvelin käytöstä",
"dhcp_not_found": "On turvallista ottaa sisäänrakennettu DHCP-palvelin käyttöön, koska AdGuard Home ei havainnut verkossa muita aktiivisia DHCP-palvelimia. Suosittelemme, että varmistat tämän vielä itse, koska automaattinen tunnistus ei ole 100% varma.",
diff --git a/client/src/__locales/zh-cn.json b/client/src/__locales/zh-cn.json
index 3dc50aed..27d2fcbd 100644
--- a/client/src/__locales/zh-cn.json
+++ b/client/src/__locales/zh-cn.json
@@ -16,7 +16,7 @@
"resolve_clients_title": "启用客户端的 IP 地址的反向解析",
"resolve_clients_desc": "通过发送 PTR 查询到对应的解析器 (本地客户端的私人 DNS 服务器,公共 IP 客户端的上游服务器) 将 IP 地址反向解析成其客户端主机名。",
"use_private_ptr_resolvers_title": "使用私人反向 DNS 解析器",
- "use_private_ptr_resolvers_desc": "使用这些上游服务器对本地服务的地址执行反向 DNS 查找。 如果禁用,则 AdGuard Home会以 NXDOMAIN 响应所有此类PTR请求,从 DHCP、/ etc / hosts 等获知的客户端除外。",
+ "use_private_ptr_resolvers_desc": "使用这些上游服务器对本地服务的地址执行反向 DNS 查找。 如果禁用,则 AdGuard Home 会以 NXDOMAIN 响应所有此类 PTR 请求,从 DHCP、/etc/hosts 等获知的客户端除外。",
"check_dhcp_servers": "检查 DHCP 服务器",
"save_config": "保存配置",
"enabled_dhcp": "DHCP 服务器已启用",
@@ -128,7 +128,7 @@
"number_of_dns_query_days": "过去 {{count}} 天内处理的 DNS 查询总数",
"number_of_dns_query_days_plural": "在过去的 {{count}} 天内处理了多少个 DNS 查询",
"number_of_dns_query_24_hours": "过去 24 小时内处理的 DNS 请求总数",
- "number_of_dns_query_blocked_24_hours": "被广告过滤器和 Hosts 拦截清单阻止的 DNS 请求总数",
+ "number_of_dns_query_blocked_24_hours": "被广告过滤器和 Hosts 黑名单阻止的 DNS 请求总数",
"number_of_dns_query_blocked_24_hours_by_sec": "被 AdGuard 安全浏览模块阻止的 DNS 请求总数",
"number_of_dns_query_blocked_24_hours_adult": "被阻止的成人网站总数",
"enforced_save_search": "强制安全搜索",
@@ -146,10 +146,10 @@
"no_servers_specified": "未找到指定的服务器",
"general_settings": "常规设置",
"dns_settings": "DNS 设置",
- "dns_blocklists": "DNS 拦截列表",
- "dns_allowlists": "DNS 允许列表",
+ "dns_blocklists": "DNS 黑名单",
+ "dns_allowlists": "DNS 白名单",
"dns_blocklists_desc": "AdGuard Home将阻止匹配DNS拦截清单的域名",
- "dns_allowlists_desc": "来自DNS允许列表的域将被允许,即使它们位于任意阻止列表中也是如此",
+ "dns_allowlists_desc": "来自 DNS 白名单的域名将被允许,即使它们位于任意黑名单中也是如此。",
"custom_filtering_rules": "自定义过滤规则",
"encryption_settings": "加密设置",
"dhcp_settings": "DHCP 设置",
@@ -178,22 +178,22 @@
"delete_table_action": "删除",
"elapsed": "耗时",
"filters_and_hosts_hint": "AdGuard Home 可以解析基础的 adblock 规则和 Hosts 语法。",
- "no_blocklist_added": "未添加阻止列表",
- "no_whitelist_added": "未添加允许列表",
- "add_blocklist": "添加阻止列表",
- "add_allowlist": "添加允许列表",
+ "no_blocklist_added": "未添加黑名单",
+ "no_whitelist_added": "未添加白名单",
+ "add_blocklist": "添加黑名单",
+ "add_allowlist": "添加白名单",
"cancel_btn": "取消",
"enter_name_hint": "输入名称",
"enter_url_or_path_hint": "请输入URL或列表的绝对路径",
"check_updates_btn": "检查更新",
"new_blocklist": "新封锁清单",
- "new_allowlist": "新的允许清单",
- "edit_blocklist": "编辑阻止列表",
- "edit_allowlist": "编辑允许列表",
- "choose_blocklist": "选择拦截列表",
- "choose_allowlist": "选择允许列表",
- "enter_valid_blocklist": "输入有效的阻止列表URL",
- "enter_valid_allowlist": "输入有效的允许列表URL",
+ "new_allowlist": "新增白名单",
+ "edit_blocklist": "编辑黑名单",
+ "edit_allowlist": "编辑白名单",
+ "choose_blocklist": "选择黑名单",
+ "choose_allowlist": "选择白名单",
+ "enter_valid_blocklist": "输入有效的黑名单 URL",
+ "enter_valid_allowlist": "输入有效的白名单 URL",
"form_error_url_format": "无效的 URL 格式",
"form_error_url_or_path_format": "无效的 URL 或列表的绝对路径",
"custom_filter_rules": "自定义过滤器规则",
@@ -269,9 +269,9 @@
"dns_cache_config_desc": "您可以在此处配置 DNS 缓存",
"blocking_mode": "拦截模式",
"default": "默认",
- "nxdomain": "无效域名",
+ "nxdomain": "NXDOMAIN",
"refused": "REFUSED",
- "null_ip": "无效 IP",
+ "null_ip": "空 IP",
"custom_ip": "自定义 IP",
"blocking_ipv4": "拦截 IPv4",
"blocking_ipv6": "拦截 IPv6",
@@ -296,7 +296,7 @@
"blocking_mode_default": "默认:被 Adblock 规则拦截时反应为零 IP 地址(A记录:0.0.0.0;AAAA记录:::);被/etc/hosts 规则拦截时反应为规则中指定 IP 地址",
"blocking_mode_refused": "REFUSED:以 REFUSED 码响应请求",
"blocking_mode_nxdomain": "NXDOMAIN:以NXDOMAIN码响应",
- "blocking_mode_null_ip": "空IP:以零IP地址响应(A记录 0.0.0.0;AAAA记录 ::)",
+ "blocking_mode_null_ip": "空 IP:以零 IP 地址响应(A 记录 0.0.0.0;AAAA 记录 ::)",
"blocking_mode_custom_ip": "自定IP:以手动设置的IP地址响应",
"theme_auto": "自动",
"theme_light": "浅色主题",
@@ -605,7 +605,7 @@
"filtered": "已过滤",
"rewritten": "重写项",
"safe_search": "安全搜索",
- "blocklist": "拦截列表",
+ "blocklist": "黑名单",
"milliseconds_abbreviation": "毫秒",
"cache_size": "缓存大小",
"cache_size_desc": "DNS 缓存大小(单位:字节)。要关闭缓存,请留空。",
@@ -626,7 +626,7 @@
"filter_category_general_desc": "在大多数设备上阻止跟踪和广告的列表",
"filter_category_security_desc": "专用于拦截恶意软件、钓鱼或欺诈域名的列表",
"filter_category_regional_desc": "专注于区域广告和跟踪服务器的列表",
- "filter_category_other_desc": "其他阻止列表",
+ "filter_category_other_desc": "其他黑名单",
"setup_config_to_enable_dhcp_server": "设置配置以启用 DHCP 服务器",
"original_response": "原始响应",
"click_to_view_queries": "点击查看查询",
diff --git a/client/src/helpers/constants.js b/client/src/helpers/constants.js
index 4f6803cb..61160d58 100644
--- a/client/src/helpers/constants.js
+++ b/client/src/helpers/constants.js
@@ -53,7 +53,7 @@ export const STATUS_COLORS = {
export const REPOSITORY = {
URL: 'https://github.com/AdguardTeam/AdGuardHome',
TRACKERS_DB:
- 'https://github.com/AdguardTeam/AdGuardHome/tree/master/client/src/helpers/trackers/adguard.json',
+ 'https://github.com/AdguardTeam/AdGuardHome/tree/master/client/src/helpers/trackers/trackers.json',
ISSUES: 'https://github.com/AdguardTeam/AdGuardHome/issues/new/choose',
};
diff --git a/client/src/helpers/filters/filters.js b/client/src/helpers/filters/filters.js
index 00a0f336..6f4af9e5 100644
--- a/client/src/helpers/filters/filters.js
+++ b/client/src/helpers/filters/filters.js
@@ -160,12 +160,6 @@ export default {
"homepage": "https://github.com/DandelionSprout/adfilt",
"source": "https://adguardteam.github.io/HostlistsRegistry/assets/filter_6.txt"
},
- "energized_spark": {
- "name": "Energized Spark",
- "categoryId": "general",
- "homepage": "https://energized.pro/",
- "source": "https://adguardteam.github.io/HostlistsRegistry/assets/filter_28.txt"
- },
"hagezi_personal": {
"name": "HaGeZi Personal Black \u0026 White",
"categoryId": "general",
diff --git a/client/src/helpers/trackers/trackers.js b/client/src/helpers/trackers/trackers.js
index 5327d18e..79b202cb 100644
--- a/client/src/helpers/trackers/trackers.js
+++ b/client/src/helpers/trackers/trackers.js
@@ -1,6 +1,5 @@
-import whotracksmeDb from './whotracksme.json';
import whotracksmeWebsites from './whotracksme_web.json';
-import adguardDb from './adguard.json';
+import trackersDb from './trackers.json';
import { REPOSITORY } from '../constants';
/**
@@ -39,6 +38,7 @@ const getWhotracksmeUrl = (trackerId) => {
/**
* Gets the source metadata for the specified tracker
+ *
* @param {TrackerData} trackerData tracker data
* @returns {source} source metadata or null if no matching tracker found
*/
@@ -64,14 +64,26 @@ export const getSourceData = (trackerData) => {
};
/**
- * Gets tracker data in the specified database
+ * Converts the JSON string source into numeric source for AdGuard Home
+ *
+ * @param {TrackerData} trackerData tracker data
+ * @returns {number} source number
+ */
+const convertSource = (sourceStr) => {
+ if (!sourceStr || sourceStr !== 'AdGuard') {
+ return sources.WHOTRACKSME;
+ }
+
+ return sources.ADGUARD;
+};
+
+/**
+ * Gets tracker data from the trackers database
*
* @param {String} domainName domain name to check
- * @param {*} trackersDb trackers database
- * @param {number} source source ID
* @returns {TrackerData} tracker data or null if no matching tracker found
*/
-const getTrackerDataFromDb = (domainName, trackersDb, source) => {
+export const getTrackerData = (domainName) => {
if (!domainName) {
return null;
}
@@ -88,7 +100,7 @@ const getTrackerDataFromDb = (domainName, trackersDb, source) => {
if (trackerId) {
const trackerData = trackersDb.trackers[trackerId];
const categoryName = trackersDb.categories[trackerData.categoryId];
- trackerData.source = source;
+ const source = convertSource(trackerData.source);
const sourceData = getSourceData(trackerData);
return {
@@ -105,22 +117,3 @@ const getTrackerDataFromDb = (domainName, trackersDb, source) => {
// No tracker found for the specified domain
return null;
};
-
-/**
- * Gets tracker data from the trackers database
- *
- * @param {String} domainName domain name to check
- * @returns {TrackerData} tracker data or null if no matching tracker found
- */
-export const getTrackerData = (domainName) => {
- if (!domainName) {
- return null;
- }
-
- let data = getTrackerDataFromDb(domainName, adguardDb, sources.ADGUARD);
- if (!data) {
- data = getTrackerDataFromDb(domainName, whotracksmeDb, sources.WHOTRACKSME);
- }
-
- return data;
-};
diff --git a/client/src/helpers/trackers/trackers.json b/client/src/helpers/trackers/trackers.json
new file mode 100644
index 00000000..485b759e
--- /dev/null
+++ b/client/src/helpers/trackers/trackers.json
@@ -0,0 +1,23750 @@
+{
+ "timeUpdated": "2023-02-09T12:31:34.007Z",
+ "categories": {
+ "0": "audio_video_player",
+ "1": "comments",
+ "2": "customer_interaction",
+ "3": "pornvertising",
+ "4": "advertising",
+ "5": "essential",
+ "6": "site_analytics",
+ "7": "social_media",
+ "8": "misc",
+ "9": "cdn",
+ "10": "hosting",
+ "11": "unknown",
+ "12": "extensions",
+ "13": "email",
+ "14": "consent",
+ "15": "telemetry",
+ "101": "mobile_analytics"
+ },
+ "trackers": {
+ "163": {
+ "name": "163",
+ "categoryId": 4,
+ "url": "http://www.163.com/",
+ "companyId": "163"
+ },
+ "1000mercis": {
+ "name": "1000mercis",
+ "categoryId": 6,
+ "url": "http://www.1000mercis.com/",
+ "companyId": "1000mercis"
+ },
+ "161media": {
+ "name": "Platform161",
+ "categoryId": 4,
+ "url": "https://platform161.com/",
+ "companyId": "platform161"
+ },
+ "1822direkt.de": {
+ "name": "1822direkt.de",
+ "categoryId": 8,
+ "url": "https://www.1822direkt.de/",
+ "companyId": null
+ },
+ "1dmp.io": {
+ "name": "1DMP",
+ "categoryId": 4,
+ "url": "https://1dmp.io/",
+ "companyId": "1dmp"
+ },
+ "1plusx": {
+ "name": "1plusX",
+ "categoryId": 6,
+ "url": "https://www.1plusx.com/",
+ "companyId": "1plusx"
+ },
+ "1sponsor": {
+ "name": "1sponsor",
+ "categoryId": 4,
+ "url": "http://fr.1sponsor.com/",
+ "companyId": "1sponsor"
+ },
+ "1tag": {
+ "name": "1tag",
+ "categoryId": 6,
+ "url": "http://www.dentsuaegisnetwork.com/",
+ "companyId": "dentsu_aegis_network"
+ },
+ "1und1": {
+ "name": "1&1 Internet",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "24-ads.com": {
+ "name": "24-ADS GmbH",
+ "categoryId": 4,
+ "url": "http://www.24-ads.com/",
+ "companyId": null
+ },
+ "24_7": {
+ "name": "[24]7",
+ "categoryId": 2,
+ "url": "http://www.247-inc.com/",
+ "companyId": "24_7"
+ },
+ "24log": {
+ "name": "24log",
+ "categoryId": 6,
+ "url": "http://24log.ru/",
+ "companyId": "24log"
+ },
+ "24smi": {
+ "name": "24СМИ",
+ "categoryId": 8,
+ "url": "https://24smi.org/",
+ "companyId": null
+ },
+ "2leep": {
+ "name": "2leep",
+ "categoryId": 4,
+ "url": "http://2leep.com/",
+ "companyId": "2leep"
+ },
+ "33across": {
+ "name": "33Across",
+ "categoryId": 4,
+ "url": "http://33across.com/",
+ "companyId": "33across"
+ },
+ "3dstats": {
+ "name": "3DStats",
+ "categoryId": 6,
+ "url": "http://www.3dstats.com/",
+ "companyId": "3dstats"
+ },
+ "4chan": {
+ "name": "4Chan",
+ "categoryId": 8,
+ "url": "https://www.4chan.org/",
+ "companyId": null
+ },
+ "4finance_com": {
+ "name": "4finance.com",
+ "categoryId": 2,
+ "url": "http://4finance.com/",
+ "companyId": null
+ },
+ "4w_marketplace": {
+ "name": "4w Marketplace",
+ "categoryId": 4,
+ "url": "http://www.4wmarketplace.com/",
+ "companyId": "4w_marketplace"
+ },
+ "500friends": {
+ "name": "500friends",
+ "categoryId": 2,
+ "url": "http://500friends.com/",
+ "companyId": "500friends"
+ },
+ "51.la": {
+ "name": "51.La",
+ "categoryId": 6,
+ "url": "http://www.51.la/",
+ "companyId": "51.la"
+ },
+ "5min_media": {
+ "name": "5min Media",
+ "categoryId": 0,
+ "url": "http://www.5min.com/",
+ "companyId": "verizon"
+ },
+ "6sense": {
+ "name": "6Sense",
+ "categoryId": 6,
+ "url": "http://home.grepdata.com",
+ "companyId": "6sense"
+ },
+ "77tracking": {
+ "name": "77Tracking",
+ "categoryId": 6,
+ "url": "http://www.77agency.com/",
+ "companyId": "77agency"
+ },
+ "7tv.de": {
+ "name": "7tv.de",
+ "categoryId": 0,
+ "url": "https://www.7tv.de/",
+ "companyId": null
+ },
+ "888media": {
+ "name": "888media",
+ "categoryId": 4,
+ "url": "http://888media.net/",
+ "companyId": "888_media"
+ },
+ "8digits": {
+ "name": "8digits",
+ "categoryId": 6,
+ "url": "http://8digits.com/",
+ "companyId": "8digits"
+ },
+ "94j7afz2nr.xyz": {
+ "name": "94j7afz2nr.xyz",
+ "categoryId": 12,
+ "url": null,
+ "companyId": null
+ },
+ "99stats": {
+ "name": "99stats",
+ "categoryId": 6,
+ "url": "http://www.99stats.com/",
+ "companyId": "99stats"
+ },
+ "a3cloud_net": {
+ "name": "a3cloud.net",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "a8": {
+ "name": "A8",
+ "categoryId": 4,
+ "url": "http://www.a8.net/",
+ "companyId": "a8"
+ },
+ "aaxads.com": {
+ "name": "Acceptable Ads Exchange",
+ "categoryId": 4,
+ "url": "https://aax.media/",
+ "companyId": null
+ },
+ "ab_tasty": {
+ "name": "AB Tasty",
+ "categoryId": 6,
+ "url": "https://en.abtasty.com",
+ "companyId": "ab_tasty"
+ },
+ "ablida": {
+ "name": "ablida",
+ "categoryId": 4,
+ "url": "https://www.ablida.de/",
+ "companyId": null
+ },
+ "accelia": {
+ "name": "Accelia",
+ "categoryId": 4,
+ "url": "http://www.durasite.net/",
+ "companyId": "accelia"
+ },
+ "accengage": {
+ "name": "Accengage",
+ "categoryId": 4,
+ "url": "https://www.accengage.com/",
+ "companyId": "accengage"
+ },
+ "accessanalyzer": {
+ "name": "AccessAnalyzer",
+ "categoryId": 6,
+ "url": "http://ax.xrea.com/",
+ "companyId": "accessanalyzer"
+ },
+ "accesstrade": {
+ "name": "AccessTrade",
+ "categoryId": 4,
+ "url": "http://accesstrade.net/",
+ "companyId": "accesstrade"
+ },
+ "accord_group": {
+ "name": "Accord Group",
+ "categoryId": 4,
+ "url": "http://www.accordgroup.co.uk/",
+ "companyId": "accord_group"
+ },
+ "accordant_media": {
+ "name": "Accordant Media",
+ "categoryId": 4,
+ "url": "http://www.accordantmedia.com/",
+ "companyId": "accordant_media"
+ },
+ "accuen_media": {
+ "name": "Accuen Media",
+ "categoryId": 4,
+ "url": "http://www.accuenmedia.com/",
+ "companyId": "accuen_media"
+ },
+ "acestream.net": {
+ "name": "ActStream",
+ "categoryId": 12,
+ "url": "http://www.acestream.org/",
+ "companyId": null
+ },
+ "acint.net": {
+ "name": "Artificial Computation Intelligence",
+ "categoryId": 6,
+ "url": "https://www.acint.net/",
+ "companyId": "acint"
+ },
+ "acloudimages": {
+ "name": "Acloudimages",
+ "categoryId": 4,
+ "url": "http://adsterra.com",
+ "companyId": "adsterra"
+ },
+ "acpm.fr": {
+ "name": "ACPM",
+ "categoryId": 6,
+ "url": "http://www.acpm.fr/",
+ "companyId": null
+ },
+ "acquia.com": {
+ "name": "Acquia",
+ "categoryId": 6,
+ "url": "https://www.acquia.com/",
+ "companyId": null
+ },
+ "acrweb": {
+ "name": "ACRWEB",
+ "categoryId": 7,
+ "url": "http://www.ziyu.net/",
+ "companyId": "acrweb"
+ },
+ "actionpay": {
+ "name": "actionpay",
+ "categoryId": 4,
+ "url": "http://actionpay.ru/",
+ "companyId": "actionpay"
+ },
+ "active_agent": {
+ "name": "Active Agent",
+ "categoryId": 4,
+ "url": "http://www.active-agent.com/",
+ "companyId": "active_agent"
+ },
+ "active_campaign": {
+ "name": "Active Campaign",
+ "categoryId": 6,
+ "url": "https://www.activecampaign.com",
+ "companyId": "active_campaign"
+ },
+ "active_performance": {
+ "name": "Active Performance",
+ "categoryId": 4,
+ "url": "http://www.active-performance.de/",
+ "companyId": "active_performance"
+ },
+ "activeconversion": {
+ "name": "ActiveConversion",
+ "categoryId": 4,
+ "url": "http://www.activeconversion.com/",
+ "companyId": "activeconversion"
+ },
+ "activecore": {
+ "name": "activecore",
+ "categoryId": 6,
+ "url": "http://activecore.jp/",
+ "companyId": "activecore"
+ },
+ "activemeter": {
+ "name": "ActiveMeter",
+ "categoryId": 4,
+ "url": "http://www.activemeter.com/",
+ "companyId": "activeconversion"
+ },
+ "activengage": {
+ "name": "ActivEngage",
+ "categoryId": 2,
+ "url": "http://www.activengage.com",
+ "companyId": "activengage"
+ },
+ "acton": {
+ "name": "Act-On Beacon",
+ "categoryId": 4,
+ "url": "http://www.actonsoftware.com/",
+ "companyId": "act-on"
+ },
+ "acuity_ads": {
+ "name": "Acuity Ads",
+ "categoryId": 4,
+ "url": "http://www.acuityads.com/",
+ "companyId": "acuity_ads"
+ },
+ "acxiom": {
+ "name": "Acxiom",
+ "categoryId": 4,
+ "url": "http://www.acxiom.com",
+ "companyId": "acxiom"
+ },
+ "ad-blocker.org": {
+ "name": "ad-blocker.org",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "ad-center": {
+ "name": "Ad-Center",
+ "categoryId": 6,
+ "url": "http://www.ad-center.com",
+ "companyId": "ad-center"
+ },
+ "ad-delivery.net": {
+ "name": "ad-delivery.net",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "ad-sys": {
+ "name": "Ad-Sys",
+ "categoryId": 4,
+ "url": "http://www.ad-sys.com/",
+ "companyId": "ad-sys"
+ },
+ "ad.agio": {
+ "name": "Ad.agio",
+ "categoryId": 4,
+ "url": "http://neodatagroup.com/",
+ "companyId": "neodata"
+ },
+ "ad2click": {
+ "name": "Ad2Click",
+ "categoryId": 4,
+ "url": "http://www.ad2click.com/",
+ "companyId": "ad2click_media"
+ },
+ "ad2games": {
+ "name": "ad2games",
+ "categoryId": 4,
+ "url": "http://web.ad2games.com/",
+ "companyId": "ad2games"
+ },
+ "ad360": {
+ "name": "Ad360",
+ "categoryId": 4,
+ "url": "http://ad360.vn",
+ "companyId": "ad360"
+ },
+ "ad4game": {
+ "name": "ad4game",
+ "categoryId": 4,
+ "url": "http://www.ad4game.com/",
+ "companyId": "ad4game"
+ },
+ "ad4mat": {
+ "name": "ad4mat",
+ "categoryId": 4,
+ "url": "http://ad4mat.info",
+ "companyId": "ad4mat"
+ },
+ "ad6media": {
+ "name": "ad6media",
+ "categoryId": 4,
+ "url": "https://www.ad6media.fr/",
+ "companyId": "ad6media"
+ },
+ "ad_decisive": {
+ "name": "Ad Decisive",
+ "categoryId": 4,
+ "url": "http://www.lagardere-global-advertising.com/",
+ "companyId": "lagardere_advertising"
+ },
+ "ad_dynamo": {
+ "name": "Ad Dynamo",
+ "categoryId": 4,
+ "url": "http://www.addynamo.com/",
+ "companyId": "ad_dynamo"
+ },
+ "ad_ebis": {
+ "name": "AD EBiS",
+ "categoryId": 4,
+ "url": "http://www.ebis.ne.jp/en/",
+ "companyId": "ad_ebis"
+ },
+ "ad_lightning": {
+ "name": "Ad Lightning",
+ "categoryId": 4,
+ "url": "https://www.adlightning.com/",
+ "companyId": "ad_lightning"
+ },
+ "ad_magnet": {
+ "name": "Ad Magnet",
+ "categoryId": 4,
+ "url": "http://www.admagnet.com/",
+ "companyId": "ad_magnet"
+ },
+ "ad_spirit": {
+ "name": "Ad Spirit",
+ "categoryId": 4,
+ "url": "http://www.adspirit.de",
+ "companyId": "adspirit"
+ },
+ "adac_de": {
+ "name": "adac.de",
+ "categoryId": 8,
+ "url": "http://adac.de/",
+ "companyId": null
+ },
+ "adacado": {
+ "name": "Adacado",
+ "categoryId": 4,
+ "url": "http://www.adacado.com/",
+ "companyId": "adacado"
+ },
+ "adadyn": {
+ "name": "Adadyn",
+ "categoryId": 4,
+ "url": "http://ozonemedia.com/index.html",
+ "companyId": "adadyn"
+ },
+ "adality_gmbh": {
+ "name": "adality GmbH",
+ "categoryId": 4,
+ "url": "https://www.arvato.com/",
+ "companyId": "arvato"
+ },
+ "adalliance.io": {
+ "name": "Ad Alliance",
+ "categoryId": 4,
+ "url": "https://www.ad-alliance.de/",
+ "companyId": null
+ },
+ "adalyser.com": {
+ "name": "Adalyser",
+ "categoryId": 6,
+ "url": "https://www.adalyser.com/",
+ "companyId": "onesoon"
+ },
+ "adaos": {
+ "name": "ADAOS",
+ "categoryId": 4,
+ "url": "http://www.24-interactive.com",
+ "companyId": "24_interactive"
+ },
+ "adap.tv": {
+ "name": "Adap.tv",
+ "categoryId": 4,
+ "url": "http://www.adap.tv/",
+ "companyId": "verizon"
+ },
+ "adaptiveblue_smartlinks": {
+ "name": "AdaptiveBlue SmartLinks",
+ "categoryId": 2,
+ "url": "http://www.adaptiveblue.com/smartlinks.html",
+ "companyId": "telfie"
+ },
+ "adara_analytics": {
+ "name": "ADARA Analytics",
+ "categoryId": 4,
+ "url": "http://www.adaramedia.com/",
+ "companyId": "adara_analytics"
+ },
+ "adasia_holdings": {
+ "name": "AdAsia Holdings",
+ "categoryId": 4,
+ "url": "https://adasiaholdings.com/",
+ "companyId": "adasia_holdings"
+ },
+ "adbetclickin.pink": {
+ "name": "adbetnet",
+ "categoryId": 4,
+ "url": "http://adbetnet.com/",
+ "companyId": null
+ },
+ "adbetnet.com": {
+ "name": "adbetnet",
+ "categoryId": 4,
+ "url": "https://adbetnet.com/",
+ "companyId": null
+ },
+ "adblade.com": {
+ "name": "Adblade",
+ "categoryId": 4,
+ "url": "https://adblade.com/",
+ "companyId": "adblade"
+ },
+ "adbooth": {
+ "name": "Adbooth",
+ "categoryId": 4,
+ "url": "http://www.adbooth.com/",
+ "companyId": "adbooth_media_group"
+ },
+ "adbox": {
+ "name": "AdBox",
+ "categoryId": 4,
+ "url": "http://www.adbox.lv/",
+ "companyId": "adbox"
+ },
+ "adbrain": {
+ "name": "Adbrain",
+ "categoryId": 6,
+ "url": "https://www.adbrain.com/",
+ "companyId": "adbrain"
+ },
+ "adbrite": {
+ "name": "AdBrite",
+ "categoryId": 4,
+ "url": "http://www.adbrite.com/",
+ "companyId": "centro"
+ },
+ "adbull": {
+ "name": "AdBull",
+ "categoryId": 4,
+ "url": "http://www.adbull.com/",
+ "companyId": "adbull"
+ },
+ "adbutler": {
+ "name": "AdButler",
+ "categoryId": 4,
+ "url": "https://www.adbutler.com/d",
+ "companyId": "sparklit_networks"
+ },
+ "adc_media": {
+ "name": "ad:C media",
+ "categoryId": 4,
+ "url": "http://www.adcmedia.de/en/",
+ "companyId": "ad:c_media"
+ },
+ "adcash": {
+ "name": "Adcash",
+ "categoryId": 4,
+ "url": "http://www.adcash.com",
+ "companyId": "adcash"
+ },
+ "adchakra": {
+ "name": "AdChakra",
+ "categoryId": 6,
+ "url": "http://adchakra.com/",
+ "companyId": "adchakra"
+ },
+ "adchina": {
+ "name": "AdChina",
+ "categoryId": 4,
+ "url": "http://www.adchina.com/",
+ "companyId": "alibaba"
+ },
+ "adcito": {
+ "name": "Adcito",
+ "categoryId": 4,
+ "url": "http://adcito.com/",
+ "companyId": "adcito"
+ },
+ "adclear": {
+ "name": "AdClear",
+ "categoryId": 4,
+ "url": "http://www.adclear.de/en/home.html",
+ "companyId": "adclear"
+ },
+ "adclerks": {
+ "name": "Adclerks",
+ "categoryId": 4,
+ "url": "https://adclerks.com/",
+ "companyId": "adclerks"
+ },
+ "adclickmedia": {
+ "name": "AdClickMedia",
+ "categoryId": 4,
+ "url": "http://www.adclickmedia.com/",
+ "companyId": "adclickmedia"
+ },
+ "adclickzone": {
+ "name": "AdClickZone",
+ "categoryId": 4,
+ "url": "http://www.adclickzone.com/",
+ "companyId": "adclickzone"
+ },
+ "adcloud": {
+ "name": "adcloud",
+ "categoryId": 4,
+ "url": "https://ad-cloud.jp",
+ "companyId": "adcloud"
+ },
+ "adcolony": {
+ "name": "AdColony",
+ "categoryId": 4,
+ "url": "thttp://www.admarvel.com/",
+ "companyId": "adcolony"
+ },
+ "adconion": {
+ "name": "Adconion",
+ "categoryId": 4,
+ "url": "http://www.adconion.com/",
+ "companyId": "singtel"
+ },
+ "adcrowd": {
+ "name": "Adcrowd",
+ "categoryId": 4,
+ "url": "https://www.adcrowd.com",
+ "companyId": "adcrowd"
+ },
+ "adcurve": {
+ "name": "AdCurve",
+ "categoryId": 4,
+ "url": "http://www.shop2market.com/",
+ "companyId": "adcurve"
+ },
+ "add_to_calendar": {
+ "name": "Add To Calendar",
+ "categoryId": 2,
+ "url": "http://addtocalendar.com/",
+ "companyId": "addtocalendar"
+ },
+ "addaptive": {
+ "name": "Addaptive",
+ "categoryId": 4,
+ "url": "http://www.datapointmedia.com/",
+ "companyId": "addaptive"
+ },
+ "addefend": {
+ "name": "AdDefend",
+ "categoryId": 4,
+ "url": "https://www.addefend.com/",
+ "companyId": null
+ },
+ "addfreestats": {
+ "name": "AddFreeStats",
+ "categoryId": 6,
+ "url": "http://www.addfreestats.com/",
+ "companyId": "3dstats"
+ },
+ "addinto": {
+ "name": "AddInto",
+ "categoryId": 2,
+ "url": "http://www.addinto.com/",
+ "companyId": "addinto"
+ },
+ "addshoppers": {
+ "name": "AddShoppers",
+ "categoryId": 7,
+ "url": "http://www.addshoppers.com/",
+ "companyId": "addshoppers"
+ },
+ "addthis": {
+ "name": "AddThis",
+ "categoryId": 4,
+ "url": "http://www.addthis.com/",
+ "companyId": "oracle"
+ },
+ "addvalue": {
+ "name": "Addvalue",
+ "categoryId": 6,
+ "url": "http://www.addvalue.de/en/",
+ "companyId": "addvalue.de"
+ },
+ "addyon": {
+ "name": "AddyON",
+ "categoryId": 4,
+ "url": "http://www.addyon.com/homepage.php",
+ "companyId": "addyon"
+ },
+ "adeasy": {
+ "name": "AdEasy",
+ "categoryId": 4,
+ "url": "http://www.adeasy.ru/",
+ "companyId": "adeasy"
+ },
+ "adelphic": {
+ "name": "Adelphic",
+ "categoryId": 6,
+ "url": "http://www.adelphic.com/",
+ "companyId": "adelphic"
+ },
+ "adengage": {
+ "name": "AdEngage",
+ "categoryId": 4,
+ "url": "http://www.adengage.com",
+ "companyId": "synacor"
+ },
+ "adespresso": {
+ "name": "AdEspresso",
+ "categoryId": 4,
+ "url": "http://adespresso.com",
+ "companyId": "adespresso"
+ },
+ "adexcite": {
+ "name": "AdExcite",
+ "categoryId": 4,
+ "url": "http://adexcite.com",
+ "companyId": "adexcite"
+ },
+ "adextent": {
+ "name": "AdExtent",
+ "categoryId": 4,
+ "url": "http://www.adextent.com/",
+ "companyId": "adextent"
+ },
+ "adf.ly": {
+ "name": "AdF.ly",
+ "categoryId": 4,
+ "url": "http://adf.ly/",
+ "companyId": "adf.ly"
+ },
+ "adfalcon": {
+ "name": "AdFalcon",
+ "categoryId": 4,
+ "url": "http://www.adfalcon.com/",
+ "companyId": "adfalcon"
+ },
+ "adfocus": {
+ "name": "AdFocus",
+ "categoryId": 4,
+ "url": "http://adfoc.us/",
+ "companyId": "adfoc.us"
+ },
+ "adforgames": {
+ "name": "AdForGames",
+ "categoryId": 4,
+ "url": "http://www.adforgames.com/",
+ "companyId": "adforgames"
+ },
+ "adform": {
+ "name": "Adform",
+ "categoryId": 4,
+ "url": "http://www.adform.com",
+ "companyId": "adform"
+ },
+ "adfox": {
+ "name": "AdFox",
+ "categoryId": 4,
+ "url": "http://adfox.ru",
+ "companyId": "yandex"
+ },
+ "adfreestyle": {
+ "name": "adFreestyle",
+ "categoryId": 4,
+ "url": "http://www.adfreestyle.pl/",
+ "companyId": "adfreestyle"
+ },
+ "adfront": {
+ "name": "AdFront",
+ "categoryId": 4,
+ "url": "http://buysellads.com/",
+ "companyId": "buysellads.com"
+ },
+ "adfrontiers": {
+ "name": "AdFrontiers",
+ "categoryId": 4,
+ "url": "http://www.adfrontiers.com/",
+ "companyId": "adfrontiers"
+ },
+ "adgear": {
+ "name": "AdGear",
+ "categoryId": 4,
+ "url": "http://adgear.com/",
+ "companyId": "samsung"
+ },
+ "adgebra": {
+ "name": "Adgebra",
+ "categoryId": 4,
+ "url": "https://adgebra.in/",
+ "companyId": "adgebra"
+ },
+ "adgenie": {
+ "name": "adGENIE",
+ "categoryId": 4,
+ "url": "http://www.adgenie.co.uk/",
+ "companyId": "ve"
+ },
+ "adgile": {
+ "name": "Adgile",
+ "categoryId": 4,
+ "url": "http://www.adgile.com/",
+ "companyId": "adgile_media"
+ },
+ "adglare.net": {
+ "name": "Adglare",
+ "categoryId": 4,
+ "url": "https://www.adglare.com/",
+ "companyId": null
+ },
+ "adglue": {
+ "name": "Adglue",
+ "categoryId": 4,
+ "url": "http://admans.de/de.html",
+ "companyId": "admans"
+ },
+ "adgoal": {
+ "name": "adgoal",
+ "categoryId": 4,
+ "url": "http://www.adgoal.de/",
+ "companyId": "adgoal"
+ },
+ "adgorithms": {
+ "name": "Adgorithms",
+ "categoryId": 4,
+ "url": "http://www.adgorithms.com/",
+ "companyId": "albert"
+ },
+ "adgoto": {
+ "name": "ADGoto",
+ "categoryId": 4,
+ "url": "http://adgoto.com/",
+ "companyId": "adgoto"
+ },
+ "adguard": {
+ "name": "AdGuard",
+ "categoryId": 8,
+ "url": "https://adguard.com/",
+ "companyId": "adguard",
+ "source": "AdGuard"
+ },
+ "adhands": {
+ "name": "AdHands",
+ "categoryId": 4,
+ "url": "http://promo.adhands.ru/",
+ "companyId": "adhands"
+ },
+ "adhese": {
+ "name": "Adhese",
+ "categoryId": 4,
+ "url": "http://adhese.com",
+ "companyId": "adhese"
+ },
+ "adhitz": {
+ "name": "AdHitz",
+ "categoryId": 4,
+ "url": "http://www.adhitz.com/",
+ "companyId": "adhitz"
+ },
+ "adhood": {
+ "name": "adhood",
+ "categoryId": 4,
+ "url": "http://www.adhood.com/",
+ "companyId": "adhood"
+ },
+ "adify": {
+ "name": "Adify",
+ "categoryId": 4,
+ "url": "http://www.adify.com/",
+ "companyId": "cox_enterpries"
+ },
+ "adikteev": {
+ "name": "Adikteev",
+ "categoryId": 4,
+ "url": "http://www.adikteev.com/",
+ "companyId": "adikteev"
+ },
+ "adimpact": {
+ "name": "Adimpact",
+ "categoryId": 4,
+ "url": "http://www.adimpact.com/",
+ "companyId": "adimpact"
+ },
+ "adinch": {
+ "name": "Adinch",
+ "categoryId": 4,
+ "url": "http://adinch.com/",
+ "companyId": "adinch"
+ },
+ "adition": {
+ "name": "Adition",
+ "categoryId": 4,
+ "url": "http://en.adition.com/",
+ "companyId": "prosieben_sat1"
+ },
+ "adjal": {
+ "name": "Adjal",
+ "categoryId": 4,
+ "url": "http://adjal.com/",
+ "companyId": "marketing_adjal"
+ },
+ "adjs": {
+ "name": "ADJS",
+ "categoryId": 4,
+ "url": "https://github.com/widgital/adjs",
+ "companyId": "adjs"
+ },
+ "adjug": {
+ "name": "AdJug",
+ "categoryId": 4,
+ "url": "http://www.adjug.com/",
+ "companyId": "adjug"
+ },
+ "adjust": {
+ "name": "Adjust",
+ "categoryId": 101,
+ "url": "https://www.adjust.com/",
+ "companyId": "adjust",
+ "source": "AdGuard"
+ },
+ "adk2": {
+ "name": "adk2",
+ "categoryId": 4,
+ "url": "http://www.adk2.com/",
+ "companyId": "adk2_plymedia"
+ },
+ "adklip": {
+ "name": "adklip",
+ "categoryId": 4,
+ "url": "http://adklip.com",
+ "companyId": "adklip"
+ },
+ "adknowledge": {
+ "name": "Adknowledge",
+ "categoryId": 4,
+ "url": "http://www.adknowledge.com/",
+ "companyId": "adknowledge"
+ },
+ "adkontekst": {
+ "name": "Adkontekst",
+ "categoryId": 4,
+ "url": "http://www.en.adkontekst.pl/",
+ "companyId": "adkontekst"
+ },
+ "adkontekst.pl": {
+ "name": "Adkontekst",
+ "categoryId": 4,
+ "url": "http://netsprint.eu/",
+ "companyId": "netsprint"
+ },
+ "adlabs": {
+ "name": "AdLabs",
+ "categoryId": 4,
+ "url": "https://www.adlabs.ru/",
+ "companyId": "adlabs"
+ },
+ "adlantic": {
+ "name": "AdLantic",
+ "categoryId": 4,
+ "url": "http://www.adlantic.nl/",
+ "companyId": "adlantic_online_advertising"
+ },
+ "adlantis": {
+ "name": "AdLantis",
+ "categoryId": 4,
+ "url": "http://www.adlantis.jp/",
+ "companyId": "adlantis"
+ },
+ "adless": {
+ "name": "Adless",
+ "categoryId": 4,
+ "url": "https://www.adless.io/",
+ "companyId": "adless"
+ },
+ "adlive_header_bidding": {
+ "name": "Adlive Header Bidding",
+ "categoryId": 4,
+ "url": "http://adlive.io/",
+ "companyId": "adlive"
+ },
+ "adloox": {
+ "name": "Adloox",
+ "categoryId": 4,
+ "url": "http://www.adloox.com",
+ "companyId": "adloox"
+ },
+ "admachine": {
+ "name": "AdMachine",
+ "categoryId": 4,
+ "url": "https://admachine.co/",
+ "companyId": null
+ },
+ "adman": {
+ "name": "ADMAN",
+ "categoryId": 4,
+ "url": "http://www.adman.gr/",
+ "companyId": "adman"
+ },
+ "adman_media": {
+ "name": "ADman Media",
+ "categoryId": 4,
+ "url": "http://www.admanmedia.com/",
+ "companyId": "ad_man_media"
+ },
+ "admantx.com": {
+ "name": "ADmantX",
+ "categoryId": 4,
+ "url": "http://www.admantx.com/",
+ "companyId": "expert_system_spa"
+ },
+ "admaster": {
+ "name": "AdMaster",
+ "categoryId": 4,
+ "url": "http://admaster.net",
+ "companyId": "admaster"
+ },
+ "admaster.cn": {
+ "name": "AdMaster.cn",
+ "categoryId": 4,
+ "url": "http://www.admaster.com.cn/",
+ "companyId": "admaster"
+ },
+ "admatic": {
+ "name": "Admatic",
+ "categoryId": 4,
+ "url": "http://www.admatic.com.tr/#1page",
+ "companyId": "admatic"
+ },
+ "admatrix": {
+ "name": "Admatrix",
+ "categoryId": 4,
+ "url": "https://admatrix.jp/login#block01",
+ "companyId": "admatrix"
+ },
+ "admax": {
+ "name": "Admax",
+ "categoryId": 4,
+ "url": "http://www.admaxnetwork.com/index.php",
+ "companyId": "komli"
+ },
+ "admaxim": {
+ "name": "AdMaxim",
+ "categoryId": 4,
+ "url": "http://admaxim.com/",
+ "companyId": "admaxim"
+ },
+ "admaya": {
+ "name": "Admaya",
+ "categoryId": 4,
+ "url": "http://www.admaya.in/",
+ "companyId": "admaya"
+ },
+ "admedia": {
+ "name": "AdMedia",
+ "categoryId": 4,
+ "url": "http://admedia.com/",
+ "companyId": "admedia"
+ },
+ "admedo_com": {
+ "name": "Admedo",
+ "categoryId": 4,
+ "url": "http://admedo.com/",
+ "companyId": "admedo"
+ },
+ "admeira.ch": {
+ "name": "AdMeira",
+ "categoryId": 4,
+ "url": "http://admeira.ch/",
+ "companyId": "admeira"
+ },
+ "admeld": {
+ "name": "AdMeld",
+ "categoryId": 4,
+ "url": "http://www.admeld.com",
+ "companyId": "google"
+ },
+ "admeo": {
+ "name": "Admeo",
+ "categoryId": 4,
+ "url": "http://admeo.ru/",
+ "companyId": "admeo.ru"
+ },
+ "admeta": {
+ "name": "Admeta",
+ "categoryId": 4,
+ "url": "http://www.admeta.com/",
+ "companyId": "admeta"
+ },
+ "admicro": {
+ "name": "AdMicro",
+ "categoryId": 4,
+ "url": "http://www.admicro.vn/",
+ "companyId": "admicro"
+ },
+ "admitad.com": {
+ "name": "Admitad",
+ "categoryId": 4,
+ "url": "https://www.admitad.com/en/#",
+ "companyId": "admitad"
+ },
+ "admixer.net": {
+ "name": "Admixer",
+ "categoryId": 4,
+ "url": "https://admixer.net/",
+ "companyId": "admixer"
+ },
+ "admized": {
+ "name": "ADMIZED",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "admo.tv": {
+ "name": "Admo.tv",
+ "categoryId": 4,
+ "url": "https://admo.tv/",
+ "companyId": "admo.tv"
+ },
+ "admob": {
+ "name": "AdMob",
+ "categoryId": 4,
+ "url": "http://www.admob.com/",
+ "companyId": "google"
+ },
+ "admost": {
+ "name": "adMOST",
+ "categoryId": 4,
+ "url": "http://www.admost.com/",
+ "companyId": "admost"
+ },
+ "admotion": {
+ "name": "Admotion",
+ "categoryId": 4,
+ "url": "http://www.admotionus.com/",
+ "companyId": "admotion"
+ },
+ "admulti": {
+ "name": "ADmulti",
+ "categoryId": 4,
+ "url": "http://admulti.com",
+ "companyId": "admulti"
+ },
+ "adnegah": {
+ "name": "Adnegah",
+ "categoryId": 4,
+ "url": "https://adnegah.net/",
+ "companyId": "adnegah"
+ },
+ "adnet": {
+ "name": "Adnet",
+ "categoryId": 4,
+ "url": "http://www.adnet.vn/",
+ "companyId": "adnet"
+ },
+ "adnet.de": {
+ "name": "adNET.de",
+ "categoryId": 4,
+ "url": "http://www.adnet.de",
+ "companyId": "adnet.de"
+ },
+ "adnet_media": {
+ "name": "Adnet Media",
+ "categoryId": 4,
+ "url": "http://www.adnetmedia.lt/",
+ "companyId": "adnet_media"
+ },
+ "adnetwork.net": {
+ "name": "AdNetwork.net",
+ "categoryId": 4,
+ "url": "http://www.adnetwork.net/",
+ "companyId": "adnetwork.net"
+ },
+ "adnetworkperformance.com": {
+ "name": "adnetworkperformance.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "adnexio": {
+ "name": "AdNexio",
+ "categoryId": 4,
+ "url": "http://adnexio.com/",
+ "companyId": "adnexio"
+ },
+ "adnium.com": {
+ "name": "Adnium",
+ "categoryId": 4,
+ "url": "https://adnium.com/",
+ "companyId": null
+ },
+ "adnologies": {
+ "name": "Adnologies",
+ "categoryId": 4,
+ "url": "http://www.adnologies.com/",
+ "companyId": "adnologies_gmbh"
+ },
+ "adnow": {
+ "name": "Adnow",
+ "categoryId": 4,
+ "url": "http://adnow.com/",
+ "companyId": "adnow"
+ },
+ "adnymics": {
+ "name": "Adnymics",
+ "categoryId": 4,
+ "url": "http://adnymics.com/en/",
+ "companyId": "adnymics"
+ },
+ "adobe_audience_manager": {
+ "name": "Adobe Audience Manager",
+ "categoryId": 4,
+ "url": "http://www.demdex.com/",
+ "companyId": "adobe"
+ },
+ "adobe_dynamic_media": {
+ "name": "Adobe Dynamic Media",
+ "categoryId": 4,
+ "url": "http://www.adobe.com/",
+ "companyId": "adobe"
+ },
+ "adobe_dynamic_tag_management": {
+ "name": "Adobe Dynamic Tag Management",
+ "categoryId": 5,
+ "url": "https://dtm.adobe.com/sign_in",
+ "companyId": "adobe"
+ },
+ "adobe_experience_cloud": {
+ "name": "Adobe Experience Cloud",
+ "categoryId": 6,
+ "url": "https://www.adobe.com/experience-cloud.html",
+ "companyId": "adobe"
+ },
+ "adobe_login": {
+ "name": "Adobe Login",
+ "categoryId": 2,
+ "url": "https://www.adobe.com/",
+ "companyId": "adobe"
+ },
+ "adobe_tagmanager": {
+ "name": "Adobe TagManager",
+ "categoryId": 4,
+ "url": "https://www.adobe.com/",
+ "companyId": "adobe"
+ },
+ "adobe_test_and_target": {
+ "name": "Adobe Target",
+ "categoryId": 4,
+ "url": "https://www.adobe.com/marketing/target.html",
+ "companyId": "adobe"
+ },
+ "adobe_typekit": {
+ "name": "Adobe Typekit",
+ "categoryId": 5,
+ "url": "https://www.adobe.com/",
+ "companyId": "adobe"
+ },
+ "adocean": {
+ "name": "AdOcean",
+ "categoryId": 4,
+ "url": "http://adocean.cz/en",
+ "companyId": "adocean"
+ },
+ "adometry": {
+ "name": "Adometry",
+ "categoryId": 4,
+ "url": "http://www.adometry.com/",
+ "companyId": "google"
+ },
+ "adomik": {
+ "name": "Adomik",
+ "categoryId": 4,
+ "url": null,
+ "companyId": null
+ },
+ "adon_network": {
+ "name": "AdOn Network",
+ "categoryId": 4,
+ "url": "http://www.adonnetwork.com/",
+ "companyId": "adon_network"
+ },
+ "adonion": {
+ "name": "AdOnion",
+ "categoryId": 4,
+ "url": "http://www.adonion.com/",
+ "companyId": "adonion"
+ },
+ "adonly": {
+ "name": "AdOnly",
+ "categoryId": 4,
+ "url": "https://gloadmarket.com/",
+ "companyId": "adonly"
+ },
+ "adoperator": {
+ "name": "AdOperator",
+ "categoryId": 4,
+ "url": "http://www.adoperator.com/start/",
+ "companyId": "adoperator"
+ },
+ "adoric": {
+ "name": "Adoric",
+ "categoryId": 6,
+ "url": "https://adoric.com/",
+ "companyId": "adoric"
+ },
+ "adorika": {
+ "name": "Adorika",
+ "categoryId": 4,
+ "url": "http://www.adorika.com/",
+ "companyId": "adorika"
+ },
+ "adosia": {
+ "name": "Adosia",
+ "categoryId": 4,
+ "url": "https://adosia.com",
+ "companyId": "adosia"
+ },
+ "adotmob.com": {
+ "name": "Adotmob",
+ "categoryId": 4,
+ "url": "https://adotmob.com/",
+ "companyId": "adotmob"
+ },
+ "adotube": {
+ "name": "AdoTube",
+ "categoryId": 4,
+ "url": "http://www.adotube.com",
+ "companyId": "exponential_interactive"
+ },
+ "adparlor": {
+ "name": "AdParlor",
+ "categoryId": 4,
+ "url": "http://www.adparlor.com/",
+ "companyId": "fluent"
+ },
+ "adpartner": {
+ "name": "adpartner",
+ "categoryId": 4,
+ "url": "http://adpartner.pro/",
+ "companyId": "adpartner"
+ },
+ "adpeeps": {
+ "name": "Ad Peeps",
+ "categoryId": 4,
+ "url": "http://www.adpeeps.com/",
+ "companyId": "ad_peeps"
+ },
+ "adperfect": {
+ "name": "AdPerfect",
+ "categoryId": 4,
+ "url": "http://www.adperfect.com/",
+ "companyId": "adperfect"
+ },
+ "adperium": {
+ "name": "AdPerium",
+ "categoryId": 4,
+ "url": "http://www.adperium.com/",
+ "companyId": "adperium"
+ },
+ "adpilot": {
+ "name": "AdPilot",
+ "categoryId": 4,
+ "url": "http://www.adpilotgroup.com/",
+ "companyId": "adpilot"
+ },
+ "adplan": {
+ "name": "AdPlan",
+ "categoryId": 4,
+ "url": "http://www.adplan.ne.jp/",
+ "companyId": "adplan"
+ },
+ "adplus": {
+ "name": "ADPLUS",
+ "categoryId": 4,
+ "url": "http://www.adplus.co.id/",
+ "companyId": "adplus"
+ },
+ "adprofy": {
+ "name": "AdProfy",
+ "categoryId": 4,
+ "url": "http://adprofy.com/",
+ "companyId": "adprofy"
+ },
+ "adpulse": {
+ "name": "AdPulse",
+ "categoryId": 4,
+ "url": "http://adpulse.ir/",
+ "companyId": "adpulse.ir"
+ },
+ "adpv": {
+ "name": "Adpv",
+ "categoryId": 4,
+ "url": "http://www.adpv.com/",
+ "companyId": "adpv"
+ },
+ "adreactor": {
+ "name": "AdReactor",
+ "categoryId": 4,
+ "url": "http://www.adreactor.com/",
+ "companyId": "adreactor"
+ },
+ "adrecord": {
+ "name": "Adrecord",
+ "categoryId": 4,
+ "url": "http://www.adrecord.com/",
+ "companyId": "adrecord"
+ },
+ "adrecover": {
+ "name": "AdRecover",
+ "categoryId": 4,
+ "url": "https://www.adrecover.com/",
+ "companyId": "adpushup"
+ },
+ "adresult": {
+ "name": "ADResult",
+ "categoryId": 4,
+ "url": "http://www.adresult.jp/",
+ "companyId": "adresult"
+ },
+ "adriver": {
+ "name": "AdRiver",
+ "categoryId": 4,
+ "url": "http://www.adriver.ru/",
+ "companyId": "ad_river"
+ },
+ "adroll": {
+ "name": "AdRoll",
+ "categoryId": 4,
+ "url": "https://www.adroll.com/",
+ "companyId": "adroll"
+ },
+ "adroll_pixel": {
+ "name": "AdRoll Pixel",
+ "categoryId": 4,
+ "url": "https://www.adroll.com/",
+ "companyId": "adroll"
+ },
+ "adroll_roundtrip": {
+ "name": "AdRoll Roundtrip",
+ "categoryId": 4,
+ "url": "https://www.adroll.com/",
+ "companyId": "adroll"
+ },
+ "adrom": {
+ "name": "adRom",
+ "categoryId": 4,
+ "url": "http://www.adrom.net/",
+ "companyId": null
+ },
+ "adru.net": {
+ "name": "adru.net",
+ "categoryId": 4,
+ "url": "http://adru.net/",
+ "companyId": "adru.net"
+ },
+ "adrunnr": {
+ "name": "AdRunnr",
+ "categoryId": 4,
+ "url": "https://adrunnr.com/",
+ "companyId": "adrunnr"
+ },
+ "adsame": {
+ "name": "Adsame",
+ "categoryId": 4,
+ "url": "http://adsame.com/",
+ "companyId": "adsame"
+ },
+ "adsbookie": {
+ "name": "AdsBookie",
+ "categoryId": 4,
+ "url": "http://adsbookie.com/",
+ "companyId": null
+ },
+ "adscale": {
+ "name": "AdScale",
+ "categoryId": 4,
+ "url": "http://www.adscale.de/",
+ "companyId": "stroer"
+ },
+ "adscience": {
+ "name": "Adscience",
+ "categoryId": 4,
+ "url": "http://www.adscience.nl/",
+ "companyId": "adscience"
+ },
+ "adsco.re": {
+ "name": "Adscore",
+ "categoryId": 4,
+ "url": "https://www.adscore.com/",
+ "companyId": null
+ },
+ "adsensecamp": {
+ "name": "AdsenseCamp",
+ "categoryId": 4,
+ "url": "http://adsensecamp.com",
+ "companyId": "adsensecamp"
+ },
+ "adserverpub": {
+ "name": "AdServerPub",
+ "categoryId": 4,
+ "url": "http://www.adserverpub.com/",
+ "companyId": "adserverpub"
+ },
+ "adservice_media": {
+ "name": "Adservice Media",
+ "categoryId": 4,
+ "url": "http://www.adservicemedia.com/",
+ "companyId": "adservice_media"
+ },
+ "adsfactor": {
+ "name": "Adsfactor",
+ "categoryId": 4,
+ "url": "http://www.adsfactor.com/",
+ "companyId": "pixels_asia"
+ },
+ "adside": {
+ "name": "AdSide",
+ "categoryId": 4,
+ "url": "http://www.adside.com/",
+ "companyId": "adside"
+ },
+ "adskeeper": {
+ "name": "AdsKeeper",
+ "categoryId": 4,
+ "url": "http://adskeeper.co.uk/",
+ "companyId": "adskeeper"
+ },
+ "adskom": {
+ "name": "ADSKOM",
+ "categoryId": 4,
+ "url": "http://adskom.com/",
+ "companyId": "adskom"
+ },
+ "adslot": {
+ "name": "Adslot",
+ "categoryId": 4,
+ "url": "http://www.adslot.com/",
+ "companyId": "adslot"
+ },
+ "adsnative": {
+ "name": "adsnative",
+ "categoryId": 4,
+ "url": "http://www.adsnative.com/",
+ "companyId": "adsnative"
+ },
+ "adsniper.ru": {
+ "name": "AdSniper",
+ "categoryId": 4,
+ "url": "http://ad-sniper.com/",
+ "companyId": "adsniper"
+ },
+ "adspeed": {
+ "name": "AdSpeed",
+ "categoryId": 4,
+ "url": "http://www.adspeed.com/",
+ "companyId": "adspeed"
+ },
+ "adspyglass": {
+ "name": "AdSpyglass",
+ "categoryId": 4,
+ "url": "https://www.adspyglass.com/",
+ "companyId": "adspyglass"
+ },
+ "adstage": {
+ "name": "AdStage",
+ "categoryId": 4,
+ "url": "http://www.adstage.io/",
+ "companyId": "adstage"
+ },
+ "adstanding": {
+ "name": "AdStanding",
+ "categoryId": 4,
+ "url": "http://www.adstanding.com/en/",
+ "companyId": "adstanding"
+ },
+ "adstars": {
+ "name": "Adstars",
+ "categoryId": 4,
+ "url": "http://adstars.co.id",
+ "companyId": "adstars"
+ },
+ "adstir": {
+ "name": "adstir",
+ "categoryId": 4,
+ "url": "https://en.ad-stir.com/",
+ "companyId": "united_inc"
+ },
+ "adsupply": {
+ "name": "AdSupply",
+ "categoryId": 4,
+ "url": "http://www.adsupply.com/",
+ "companyId": "adsupply"
+ },
+ "adswizz": {
+ "name": "AdsWizz",
+ "categoryId": 4,
+ "url": "http://www.adswizz.com/",
+ "companyId": "adswizz"
+ },
+ "adtaily": {
+ "name": "AdTaily",
+ "categoryId": 4,
+ "url": "http://www.adtaily.pl/",
+ "companyId": "adtaily"
+ },
+ "adtarget.me": {
+ "name": "Adtarget.me",
+ "categoryId": 4,
+ "url": "http://www.adtarget.me/",
+ "companyId": "adtarget.me"
+ },
+ "adtech": {
+ "name": "ADTECH",
+ "categoryId": 6,
+ "url": "http://www.adtechus.com/",
+ "companyId": "verizon"
+ },
+ "adtegrity": {
+ "name": "Adtegrity",
+ "categoryId": 4,
+ "url": "http://www.adtegrity.com/",
+ "companyId": "adtegrity"
+ },
+ "adtelligence.de": {
+ "name": "Adtelligence",
+ "categoryId": 4,
+ "url": "https://adtelligence.com/",
+ "companyId": null
+ },
+ "adtheorent": {
+ "name": "Adtheorent",
+ "categoryId": 4,
+ "url": "http://adtheorent.com/",
+ "companyId": "adtheorant"
+ },
+ "adthink": {
+ "name": "Adthink",
+ "categoryId": 4,
+ "url": "https://adthink.com/",
+ "companyId": "adthink"
+ },
+ "adtiger": {
+ "name": "AdTiger",
+ "categoryId": 4,
+ "url": "http://www.adtiger.de/",
+ "companyId": "adtiger"
+ },
+ "adtima": {
+ "name": "Adtima",
+ "categoryId": 4,
+ "url": "http://adtima.vn/",
+ "companyId": "adtima"
+ },
+ "adtng.com": {
+ "name": "adtng.com",
+ "categoryId": 3,
+ "url": null,
+ "companyId": null
+ },
+ "adtoma": {
+ "name": "Adtoma",
+ "categoryId": 4,
+ "url": "http://www.adtoma.com/",
+ "companyId": "adtoma"
+ },
+ "adtr02.com": {
+ "name": "adtr02.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "adtraction": {
+ "name": "Adtraction",
+ "categoryId": 4,
+ "url": "http://adtraction.com/",
+ "companyId": "adtraction"
+ },
+ "adtraxx": {
+ "name": "AdTraxx",
+ "categoryId": 4,
+ "url": "https://www1.adtraxx.de/",
+ "companyId": "adtrax"
+ },
+ "adtriba.com": {
+ "name": "AdTriba",
+ "categoryId": 6,
+ "url": "https://www.adtriba.com/",
+ "companyId": null
+ },
+ "adtrue": {
+ "name": "Adtrue",
+ "categoryId": 4,
+ "url": "http://adtrue.com/",
+ "companyId": "adtrue"
+ },
+ "adtrustmedia": {
+ "name": "AdTrustMedia",
+ "categoryId": 4,
+ "url": "https://adtrustmedia.com/",
+ "companyId": "adtrustmedia"
+ },
+ "adtube": {
+ "name": "AdTube",
+ "categoryId": 4,
+ "url": "http://adtube.ir/",
+ "companyId": "adtube"
+ },
+ "adult_webmaster_empire": {
+ "name": "Adult Webmaster Empire",
+ "categoryId": 3,
+ "url": "http://www.awempire.com/",
+ "companyId": "adult_webmaster_empire"
+ },
+ "adultadworld": {
+ "name": "AdultAdWorld",
+ "categoryId": 3,
+ "url": "http://adultadworld.com/",
+ "companyId": "adult_adworld"
+ },
+ "adup-tech.com": {
+ "name": "AdUp Technology",
+ "categoryId": 4,
+ "url": "https://www.adup-tech.com/",
+ "companyId": "adup_technology"
+ },
+ "advaction": {
+ "name": "Advaction",
+ "categoryId": 4,
+ "url": "http://advaction.ru/",
+ "companyId": "advaction"
+ },
+ "advalo": {
+ "name": "Advalo",
+ "categoryId": 4,
+ "url": "https://www.advalo.com",
+ "companyId": "advalo"
+ },
+ "advanced_hosters": {
+ "name": "Advanced Hosters",
+ "categoryId": 9,
+ "url": "https://advancedhosters.com/",
+ "companyId": null
+ },
+ "advark": {
+ "name": "Advark",
+ "categoryId": 4,
+ "url": "https://advarkads.com/",
+ "companyId": "advark"
+ },
+ "adventori": {
+ "name": "ADventori",
+ "categoryId": 8,
+ "url": "https://www.adventori.com/",
+ "companyId": "adventori"
+ },
+ "adverline": {
+ "name": "Adverline",
+ "categoryId": 4,
+ "url": "http://www.adverline.com/",
+ "companyId": "adverline"
+ },
+ "adversal": {
+ "name": "Adversal",
+ "categoryId": 4,
+ "url": "https://www.adversal.com/",
+ "companyId": "adversal"
+ },
+ "adverserve": {
+ "name": "adverServe",
+ "categoryId": 4,
+ "url": "http://www.adverserve.com/",
+ "companyId": "adverserve"
+ },
+ "adverteerdirect": {
+ "name": "Adverteerdirect",
+ "categoryId": 4,
+ "url": "http://www.adverteerdirect.nl/",
+ "companyId": "adverteerdirect"
+ },
+ "adverticum": {
+ "name": "Adverticum",
+ "categoryId": 4,
+ "url": "https://adverticum.net/english/",
+ "companyId": "adverticum"
+ },
+ "advertise.com": {
+ "name": "Advertise.com",
+ "categoryId": 4,
+ "url": "http://advertise.com/",
+ "companyId": "advertise.com"
+ },
+ "advertisespace": {
+ "name": "AdvertiseSpace",
+ "categoryId": 4,
+ "url": "http://www.advertisespace.com/",
+ "companyId": "advertisespace"
+ },
+ "advertising.com": {
+ "name": "Verizon Media",
+ "categoryId": 4,
+ "url": "https://www.verizonmedia.com/",
+ "companyId": "verizon"
+ },
+ "advertlets": {
+ "name": "Advertlets",
+ "categoryId": 4,
+ "url": "http://www.advertlets.com/",
+ "companyId": "advertlets"
+ },
+ "advertserve": {
+ "name": "AdvertServe",
+ "categoryId": 4,
+ "url": "https://secure.advertserve.com/",
+ "companyId": "advertserve"
+ },
+ "advidi": {
+ "name": "Advidi",
+ "categoryId": 4,
+ "url": "http://advidi.com/",
+ "companyId": "advidi"
+ },
+ "advmaker.ru": {
+ "name": "advmaker.ru",
+ "categoryId": 4,
+ "url": "http://advmaker.ru/",
+ "companyId": "advmaker.ru"
+ },
+ "advolution": {
+ "name": "Advolution",
+ "categoryId": 4,
+ "url": "http://www.advolution.de",
+ "companyId": "advolution"
+ },
+ "adwebster": {
+ "name": "adwebster",
+ "categoryId": 4,
+ "url": "http://adwebster.com",
+ "companyId": "adwebster"
+ },
+ "adwit": {
+ "name": "Adwit",
+ "categoryId": 4,
+ "url": "http://www.adwitserver.com",
+ "companyId": "adwit"
+ },
+ "adworx.at": {
+ "name": "ADworx",
+ "categoryId": 4,
+ "url": "http://www.adworx.at/",
+ "companyId": "ors"
+ },
+ "adworxs.net": {
+ "name": "adworxs.net",
+ "categoryId": 4,
+ "url": "http://www.adworxs.net/?lang=en",
+ "companyId": null
+ },
+ "adxion": {
+ "name": "adXion",
+ "categoryId": 4,
+ "url": "http://www.adxion.com",
+ "companyId": "adxion"
+ },
+ "adxpansion": {
+ "name": "AdXpansion",
+ "categoryId": 3,
+ "url": "http://www.adxpansion.com/",
+ "companyId": "adxpansion"
+ },
+ "adxpose": {
+ "name": "AdXpose",
+ "categoryId": 4,
+ "url": "http://www.adxpose.com/home.page",
+ "companyId": "comscore"
+ },
+ "adxprtz.com": {
+ "name": "adxprtz.com",
+ "categoryId": 4,
+ "url": null,
+ "companyId": null
+ },
+ "adyoulike": {
+ "name": "Adyoulike",
+ "categoryId": 4,
+ "url": "http://www.adyoulike.com/",
+ "companyId": "adyoulike"
+ },
+ "adzerk": {
+ "name": "Adzerk",
+ "categoryId": 4,
+ "url": "http://adzerk.com/",
+ "companyId": "adzerk"
+ },
+ "adzly": {
+ "name": "adzly",
+ "categoryId": 4,
+ "url": "http://www.adzly.com/",
+ "companyId": "adzly"
+ },
+ "aemediatraffic": {
+ "name": "Aemediatraffic",
+ "categoryId": 6,
+ "url": null,
+ "companyId": null
+ },
+ "aerify_media": {
+ "name": "Aerify Media",
+ "categoryId": 4,
+ "url": "http://aerifymedia.com/",
+ "companyId": "aerify_media"
+ },
+ "aeris_weather": {
+ "name": "Aeris Weather",
+ "categoryId": 2,
+ "url": "https://www.aerisweather.com/",
+ "companyId": "aerisweather"
+ },
+ "affectv": {
+ "name": "Hybrid Theory",
+ "categoryId": 4,
+ "url": "https://hybridtheory.com/",
+ "companyId": "affectv"
+ },
+ "affiliate-b": {
+ "name": "Affiliate-B",
+ "categoryId": 4,
+ "url": "https://www.affiliate-b.com/",
+ "companyId": "affiliate_b"
+ },
+ "affiliate4you": {
+ "name": "Affiliate4You",
+ "categoryId": 4,
+ "url": "http://www.affiliate4you.nl/",
+ "companyId": "family_blend"
+ },
+ "affiliatebuzz": {
+ "name": "AffiliateBuzz",
+ "categoryId": 4,
+ "url": "http://www.affiliatebuzz.com/",
+ "companyId": "affiliatebuzz"
+ },
+ "affiliatefuture": {
+ "name": "AffiliateFuture",
+ "categoryId": 4,
+ "url": "http://www.affiliatefuture.com",
+ "companyId": "affiliatefuture"
+ },
+ "affiliatelounge": {
+ "name": "AffiliateLounge",
+ "categoryId": 4,
+ "url": "http://www.affiliatelounge.com/",
+ "companyId": "betsson_group_affiliates"
+ },
+ "affiliation_france": {
+ "name": "Affiliation France",
+ "categoryId": 4,
+ "url": "http://www.affiliation-france.com/",
+ "companyId": "affiliation-france"
+ },
+ "affiliator": {
+ "name": "Affiliator",
+ "categoryId": 4,
+ "url": "http://www.affiliator.com/",
+ "companyId": "affiliator"
+ },
+ "affiliaweb": {
+ "name": "Affiliaweb",
+ "categoryId": 4,
+ "url": "http://affiliaweb.fr/",
+ "companyId": "affiliaweb"
+ },
+ "affilinet": {
+ "name": "affilinet",
+ "categoryId": 4,
+ "url": "https://www.affili.net/",
+ "companyId": "axel_springer"
+ },
+ "affimax": {
+ "name": "AffiMax",
+ "categoryId": 4,
+ "url": "https://www.affimax.de",
+ "companyId": "affimax"
+ },
+ "affinity": {
+ "name": "Affinity",
+ "categoryId": 4,
+ "url": "http://www.affinity.com/",
+ "companyId": "affinity"
+ },
+ "affinity.by": {
+ "name": "Affinity.by",
+ "categoryId": 4,
+ "url": "http://affinity.by",
+ "companyId": "affinity_digital_agency"
+ },
+ "affiz_cpm": {
+ "name": "Affiz CPM",
+ "categoryId": 4,
+ "url": "http://cpm.affiz.com/home",
+ "companyId": "affiz_cpm"
+ },
+ "afftrack": {
+ "name": "Afftrack",
+ "categoryId": 6,
+ "url": "http://www.afftrack.com/",
+ "companyId": "afftrack"
+ },
+ "afgr2.com": {
+ "name": "afgr2.com",
+ "categoryId": 3,
+ "url": null,
+ "companyId": null
+ },
+ "afilio": {
+ "name": "Afilio",
+ "categoryId": 6,
+ "url": "http://afilio.com.br/",
+ "companyId": "afilio"
+ },
+ "afs_analystics": {
+ "name": "AFS Analystics",
+ "categoryId": 6,
+ "url": "https://www.afsanalytics.com/",
+ "companyId": "afs_analytics"
+ },
+ "aftonbladet_ads": {
+ "name": "Aftonbladet Ads",
+ "categoryId": 4,
+ "url": "http://annonswebb.aftonbladet.se/",
+ "companyId": "aftonbladet"
+ },
+ "aftv-serving.bid": {
+ "name": "aftv-serving.bid",
+ "categoryId": 4,
+ "url": null,
+ "companyId": null
+ },
+ "aggregate_knowledge": {
+ "name": "Aggregate Knowledge",
+ "categoryId": 4,
+ "url": "http://www.aggregateknowledge.com/",
+ "companyId": "neustar"
+ },
+ "agilone": {
+ "name": "AgilOne",
+ "categoryId": 6,
+ "url": "http://www.agilone.com/",
+ "companyId": "agilone"
+ },
+ "agora": {
+ "name": "Agora",
+ "categoryId": 4,
+ "url": "https://www.agora.pl/",
+ "companyId": "agora_sa"
+ },
+ "ahalogy": {
+ "name": "Ahalogy",
+ "categoryId": 7,
+ "url": "http://www.ahalogy.com/",
+ "companyId": "ahalogy"
+ },
+ "ai_media_group": {
+ "name": "Ai Media Group",
+ "categoryId": 4,
+ "url": "http://aimediagroup.com/",
+ "companyId": "ai_media_group"
+ },
+ "aidata": {
+ "name": "Aidata",
+ "categoryId": 4,
+ "url": "http://aidata.me/",
+ "companyId": "aidata"
+ },
+ "aim4media": {
+ "name": "Aim4Media",
+ "categoryId": 4,
+ "url": "http://aim4media.com",
+ "companyId": "aim4media"
+ },
+ "airbnb": {
+ "name": "Airbnb",
+ "categoryId": 6,
+ "url": "https://affiliate.withairbnb.com/",
+ "companyId": null
+ },
+ "airbrake": {
+ "name": "Airbrake",
+ "categoryId": 4,
+ "url": "https://airbrake.io/",
+ "companyId": "airbrake"
+ },
+ "airpr.com": {
+ "name": "AirPR",
+ "categoryId": 6,
+ "url": "https://airpr.com/",
+ "companyId": "airpr"
+ },
+ "airpush": {
+ "name": "Airpush",
+ "categoryId": 4,
+ "url": "http://www.airpush.com/",
+ "companyId": "airpush"
+ },
+ "akamai_technologies": {
+ "name": "Akamai Technologies",
+ "categoryId": 9,
+ "url": "https://www.akamai.com/",
+ "companyId": "akamai",
+ "source": "AdGuard"
+ },
+ "akamoihd.net": {
+ "name": "akamoihd.net",
+ "categoryId": 12,
+ "url": null,
+ "companyId": null
+ },
+ "akane": {
+ "name": "AkaNe",
+ "categoryId": 4,
+ "url": "http://akane-ad.com/",
+ "companyId": "akane"
+ },
+ "akanoo": {
+ "name": "Akanoo",
+ "categoryId": 6,
+ "url": "http://www.akanoo.com/",
+ "companyId": "akanoo"
+ },
+ "akavita": {
+ "name": "Akavita",
+ "categoryId": 4,
+ "url": "http://www.akavita.by/en",
+ "companyId": "akavita"
+ },
+ "al_bawaba_advertising": {
+ "name": "Al Bawaba Advertising",
+ "categoryId": 4,
+ "url": "http://www.albawaba.com/advertising",
+ "companyId": "al_bawaba"
+ },
+ "albacross": {
+ "name": "Albacross",
+ "categoryId": 4,
+ "url": "https://albacross.com",
+ "companyId": "albacross"
+ },
+ "aldi-international.com": {
+ "name": "aldi-international.com",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "alenty": {
+ "name": "Alenty",
+ "categoryId": 4,
+ "url": "http://www.alenty.com/",
+ "companyId": "appnexus"
+ },
+ "alephd.com": {
+ "name": "alephd",
+ "categoryId": 4,
+ "url": "https://www.alephd.com/",
+ "companyId": "verizon"
+ },
+ "alexa_metrics": {
+ "name": "Alexa Metrics",
+ "categoryId": 6,
+ "url": "http://www.alexa.com/",
+ "companyId": "amazon_associates"
+ },
+ "alexa_traffic_rank": {
+ "name": "Alexa Traffic Rank",
+ "categoryId": 4,
+ "url": "http://www.alexa.com/",
+ "companyId": "amazon_associates"
+ },
+ "algolia.net": {
+ "name": "algolia",
+ "categoryId": 4,
+ "url": "https://www.algolia.com/",
+ "companyId": null
+ },
+ "algovid.com": {
+ "name": "algovid.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "alibaba.com": {
+ "name": "Alibaba",
+ "categoryId": 8,
+ "url": "http://www.alibaba.com/",
+ "companyId": "alibaba"
+ },
+ "alipay.com": {
+ "name": "Alipay",
+ "categoryId": 2,
+ "url": "https://www.alipay.com/",
+ "companyId": "alibaba"
+ },
+ "alivechat": {
+ "name": "AliveChat",
+ "categoryId": 2,
+ "url": "http://www.websitealive.com/",
+ "companyId": "websitealive"
+ },
+ "allegro.pl": {
+ "name": "Allegro",
+ "categoryId": 8,
+ "url": "https://allegro.pl",
+ "companyId": "allegro.pl"
+ },
+ "allin": {
+ "name": "Allin",
+ "categoryId": 6,
+ "url": "http://allin.com.br/",
+ "companyId": "allin"
+ },
+ "allo-pages.fr": {
+ "name": "Allo-Pages",
+ "categoryId": 2,
+ "url": "http://www.allo-pages.fr/",
+ "companyId": "links_lab"
+ },
+ "allotraffic": {
+ "name": "AlloTraffic",
+ "categoryId": 4,
+ "url": "http://www.allotraffic.com/",
+ "companyId": "allotraffic"
+ },
+ "allure_media": {
+ "name": "Allure Media",
+ "categoryId": 4,
+ "url": "http://www.alluremedia.com.au",
+ "companyId": "allure_media"
+ },
+ "allyes": {
+ "name": "Allyes",
+ "categoryId": 4,
+ "url": "http://www.allyes.com/",
+ "companyId": "allyes"
+ },
+ "alooma": {
+ "name": "Alooma",
+ "categoryId": 4,
+ "url": "https://www.alooma.com/",
+ "companyId": "alooma"
+ },
+ "altitude_digital": {
+ "name": "Altitude Digital",
+ "categoryId": 4,
+ "url": "http://www.altitudedigital.com/",
+ "companyId": "altitude_digital"
+ },
+ "amadesa": {
+ "name": "Amadesa",
+ "categoryId": 4,
+ "url": "http://www.amadesa.com/",
+ "companyId": "amadesa"
+ },
+ "amazon": {
+ "name": "Amazon.com",
+ "categoryId": 8,
+ "url": "https://www.amazon.com",
+ "companyId": "amazon_associates"
+ },
+ "amazon_adsystem": {
+ "name": "Amazon Advertising",
+ "categoryId": 4,
+ "url": "https://advertising.amazon.com/",
+ "companyId": "amazon_associates"
+ },
+ "amazon_associates": {
+ "name": "Amazon Associates",
+ "categoryId": 4,
+ "url": "http://aws.amazon.com/associates/",
+ "companyId": "amazon_associates"
+ },
+ "amazon_cdn": {
+ "name": "Amazon CDN",
+ "categoryId": 9,
+ "url": "https://www.amazon.com",
+ "companyId": "amazon_associates"
+ },
+ "amazon_cloudfront": {
+ "name": "Amazon CloudFront",
+ "categoryId": 10,
+ "url": "https://aws.amazon.com/cloudfront/?nc1=h_ls",
+ "companyId": "amazon_associates"
+ },
+ "amazon_mobile_ads": {
+ "name": "Amazon Mobile Ads",
+ "categoryId": 4,
+ "url": "http://www.amazon.com/",
+ "companyId": "amazon_associates"
+ },
+ "amazon_payments": {
+ "name": "Amazon Payments",
+ "categoryId": 2,
+ "url": "https://pay.amazon.com/",
+ "companyId": "amazon_associates"
+ },
+ "amazon_video": {
+ "name": "Amazon Instant Video",
+ "categoryId": 0,
+ "url": "https://www.amazon.com",
+ "companyId": "amazon_associates"
+ },
+ "amazon_web_services": {
+ "name": "Amazon Web Services",
+ "categoryId": 10,
+ "url": "https://aws.amazon.com/",
+ "companyId": "amazon_associates"
+ },
+ "ambient_digital": {
+ "name": "Ambient Digital",
+ "categoryId": 4,
+ "url": "http://www.adnetwork.vn/",
+ "companyId": "ambient_digital"
+ },
+ "amgload.net": {
+ "name": "amgload.net",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "amoad": {
+ "name": "AMoAd",
+ "categoryId": 4,
+ "url": "http://www.amoad.com/",
+ "companyId": "amoad"
+ },
+ "amobee": {
+ "name": "Amobee",
+ "categoryId": 4,
+ "url": "https://www.amobee.com/",
+ "companyId": "singtel"
+ },
+ "amp_platform": {
+ "name": "AMP Platform",
+ "categoryId": 4,
+ "url": "http://www.collective.com/",
+ "companyId": "collective"
+ },
+ "amplitude": {
+ "name": "Amplitude",
+ "categoryId": 6,
+ "url": "https://amplitude.com/",
+ "companyId": "amplitude"
+ },
+ "ampproject.org": {
+ "name": "AMP Project",
+ "categoryId": 8,
+ "url": "https://www.ampproject.org/",
+ "companyId": "google"
+ },
+ "anametrix": {
+ "name": "Anametrix",
+ "categoryId": 6,
+ "url": "http://anametrix.com/",
+ "companyId": "anametrix"
+ },
+ "ancestry_cdn": {
+ "name": "Ancestry CDN",
+ "categoryId": 9,
+ "url": "https://www.ancestry.com/",
+ "companyId": "ancestry"
+ },
+ "ancora": {
+ "name": "Ancora",
+ "categoryId": 6,
+ "url": "http://www.ancoramediasolutions.com/",
+ "companyId": "ancora"
+ },
+ "anetwork": {
+ "name": "Anetwork",
+ "categoryId": 4,
+ "url": "http://anetwork.ir/",
+ "companyId": "anetwork"
+ },
+ "aniview.com": {
+ "name": "AniView",
+ "categoryId": 4,
+ "url": "https://www.aniview.com/",
+ "companyId": null
+ },
+ "anonymousads": {
+ "name": "AnonymousAds",
+ "categoryId": 4,
+ "url": "https://a-ads.com/",
+ "companyId": "anonymousads"
+ },
+ "anormal_tracker": {
+ "name": "Anormal Tracker",
+ "categoryId": 6,
+ "url": "http://anormal-tracker.de/",
+ "companyId": "anormal-tracker"
+ },
+ "answers_cloud_service": {
+ "name": "Answers Cloud Service",
+ "categoryId": 1,
+ "url": "http://www.answers.com/",
+ "companyId": "answers.com"
+ },
+ "ants": {
+ "name": "Ants",
+ "categoryId": 7,
+ "url": "http://ants.vn/en/",
+ "companyId": "ants"
+ },
+ "anvato": {
+ "name": "Anvato",
+ "categoryId": 0,
+ "url": "https://www.anvato.com/",
+ "companyId": "google"
+ },
+ "anyclip": {
+ "name": "AnyClip",
+ "categoryId": 0,
+ "url": "https://anyclip.com",
+ "companyId": "anyclip"
+ },
+ "aol_be_on": {
+ "name": "AOL Be On",
+ "categoryId": 4,
+ "url": "http://beon.aolnetworks.com/",
+ "companyId": "verizon"
+ },
+ "aol_cdn": {
+ "name": "AOL CDN",
+ "categoryId": 6,
+ "url": "https://www.verizon.com/",
+ "companyId": "verizon"
+ },
+ "aol_images_cdn": {
+ "name": "AOL Images CDN",
+ "categoryId": 5,
+ "url": "https://www.verizon.com/",
+ "companyId": "verizon"
+ },
+ "apa.at": {
+ "name": "Apa",
+ "categoryId": 8,
+ "url": "http://www.apa.at/Site/index.de.html",
+ "companyId": "apa"
+ },
+ "apester": {
+ "name": "Apester",
+ "categoryId": 4,
+ "url": "http://apester.com/",
+ "companyId": "apester"
+ },
+ "apicit.net": {
+ "name": "apicit.net",
+ "categoryId": 4,
+ "url": null,
+ "companyId": null
+ },
+ "aplus_analytics": {
+ "name": "Aplus Analytics",
+ "categoryId": 6,
+ "url": "https://ww.deluxe.com/",
+ "companyId": "deluxe"
+ },
+ "appcues": {
+ "name": "Appcues",
+ "categoryId": 2,
+ "url": "https://www.appcues.com/",
+ "companyId": null
+ },
+ "appdynamics": {
+ "name": "AppDynamics",
+ "categoryId": 6,
+ "url": "http://www.appdynamics.com",
+ "companyId": "appdynamics"
+ },
+ "appier": {
+ "name": "Appier",
+ "categoryId": 4,
+ "url": "http://www.appier.com/en/index.html",
+ "companyId": "appier"
+ },
+ "applifier": {
+ "name": "Applifier",
+ "categoryId": 4,
+ "url": "http://www.applifier.com/",
+ "companyId": "applifier"
+ },
+ "applovin": {
+ "name": "AppLovin",
+ "categoryId": 4,
+ "url": "https://www.applovin.com",
+ "companyId": "applovin"
+ },
+ "appmetrx": {
+ "name": "AppMetrx",
+ "categoryId": 4,
+ "url": "http://www.engago.com",
+ "companyId": "engago_technologies"
+ },
+ "appnexus": {
+ "name": "AppNexus",
+ "categoryId": 4,
+ "url": "http://www.appnexus.com/",
+ "companyId": "appnexus"
+ },
+ "appsflyer": {
+ "name": "AppsFlyer",
+ "categoryId": 101,
+ "url": "https://www.appsflyer.com/",
+ "companyId": "appsflyer",
+ "source": "AdGuard"
+ },
+ "apptv": {
+ "name": "appTV",
+ "categoryId": 4,
+ "url": "http://www.apptv.com/",
+ "companyId": "apptv"
+ },
+ "apture": {
+ "name": "Apture",
+ "categoryId": 2,
+ "url": "http://www.apture.com/",
+ "companyId": "google"
+ },
+ "arcpublishing": {
+ "name": "Arc Publishing",
+ "categoryId": 6,
+ "url": "https://www.arcpublishing.com/",
+ "companyId": "arc_publishing"
+ },
+ "ard.de": {
+ "name": "ard.de",
+ "categoryId": 0,
+ "url": null,
+ "companyId": null
+ },
+ "are_you_a_human": {
+ "name": "Are You a Human",
+ "categoryId": 6,
+ "url": "https://areyouahuman.com/",
+ "companyId": "distil_networks"
+ },
+ "arkoselabs.com": {
+ "name": "Arkose Labs",
+ "categoryId": 6,
+ "url": "https://www.arkoselabs.com/",
+ "companyId": null
+ },
+ "art19": {
+ "name": "Art19",
+ "categoryId": 4,
+ "url": "https://art19.com/",
+ "companyId": "art19"
+ },
+ "artimedia": {
+ "name": "Artimedia",
+ "categoryId": 4,
+ "url": "http://arti-media.net/en/",
+ "companyId": "artimedia"
+ },
+ "artlebedev.ru": {
+ "name": "Art.Lebedev",
+ "categoryId": 8,
+ "url": "https://www.artlebedev.ru/",
+ "companyId": "art.lebedev_studio"
+ },
+ "aruba_media_marketing": {
+ "name": "Aruba Media Marketing",
+ "categoryId": 4,
+ "url": "http://www.arubamediamarketing.it/",
+ "companyId": "aruba_media_marketing"
+ },
+ "arvato_canvas_fp": {
+ "name": "Arvato Canvas FP",
+ "categoryId": 6,
+ "url": "https://www.arvato.com/",
+ "companyId": "arvato"
+ },
+ "asambeauty.com": {
+ "name": "asambeauty.com",
+ "categoryId": 8,
+ "url": "https://www.asambeauty.com/",
+ "companyId": null
+ },
+ "ask.com": {
+ "name": "Ask.com",
+ "categoryId": 7,
+ "url": null,
+ "companyId": null
+ },
+ "aspnetcdn": {
+ "name": "Microsoft Ajax CDN",
+ "categoryId": 9,
+ "url": "https://www.microsoft.com/",
+ "companyId": "microsoft"
+ },
+ "astronomer": {
+ "name": "Astronomer",
+ "categoryId": 6,
+ "url": "https://www.astronomer.io",
+ "companyId": "astronomer"
+ },
+ "at_internet": {
+ "name": "AT Internet",
+ "categoryId": 6,
+ "url": "http://www.xiti.com/",
+ "companyId": "at_internet"
+ },
+ "atedra": {
+ "name": "Atedra",
+ "categoryId": 4,
+ "url": "http://www.atedra.com/",
+ "companyId": "atedra"
+ },
+ "atg_group": {
+ "name": "ATG Ad Tech Group",
+ "categoryId": 4,
+ "url": "https://ad-tech-group.com/",
+ "companyId": null
+ },
+ "atg_optimization": {
+ "name": "ATG Optimization",
+ "categoryId": 4,
+ "url": "http://www.atg.com/en/products-services/optimization/",
+ "companyId": "oracle"
+ },
+ "atg_recommendations": {
+ "name": "ATG Recommendations",
+ "categoryId": 4,
+ "url": "http://www.atg.com/en/products-services/optimization/recommendations/",
+ "companyId": "oracle"
+ },
+ "atlas": {
+ "name": "Atlas",
+ "categoryId": 4,
+ "url": "https://atlassolutions.com",
+ "companyId": "facebook"
+ },
+ "atlas_profitbuilder": {
+ "name": "Atlas ProfitBuilder",
+ "categoryId": 4,
+ "url": "http://www.atlassolutions.com/",
+ "companyId": "atlas"
+ },
+ "atlassian.net": {
+ "name": "Atlassian",
+ "categoryId": 2,
+ "url": "https://www.atlassian.com/",
+ "companyId": "atlassian"
+ },
+ "atlassian_marketplace": {
+ "name": "Atlassian Marketplace",
+ "categoryId": 9,
+ "url": "https://marketplace.atlassian.com/",
+ "companyId": "atlassian"
+ },
+ "atomz_search": {
+ "name": "Atomz Search",
+ "categoryId": 2,
+ "url": "http://atomz.com/",
+ "companyId": "atomz"
+ },
+ "atsfi_de": {
+ "name": "atsfi.de",
+ "categoryId": 11,
+ "url": "http://www.axelspringer.de/en/index.html",
+ "companyId": "axel_springer"
+ },
+ "attracta": {
+ "name": "Attracta",
+ "categoryId": 4,
+ "url": "http://www.attracta.com/",
+ "companyId": "attracta"
+ },
+ "attraqt": {
+ "name": "Attraqt",
+ "categoryId": 6,
+ "url": "http://www.locayta.com/",
+ "companyId": "attraqt"
+ },
+ "audience2media": {
+ "name": "Audience2Media",
+ "categoryId": 4,
+ "url": "http://www.audience2media.com/",
+ "companyId": "audience2media"
+ },
+ "audience_ad_network": {
+ "name": "Audience Ad Network",
+ "categoryId": 4,
+ "url": "http://www.audienceadnetwork.com",
+ "companyId": "bridgeline_digital"
+ },
+ "audience_science": {
+ "name": "Audience Science",
+ "categoryId": 4,
+ "url": "http://www.audiencescience.com/",
+ "companyId": "audiencescience"
+ },
+ "audiencerate": {
+ "name": "AudienceRate",
+ "categoryId": 4,
+ "url": "http://www.audiencerate.com/",
+ "companyId": "audiencerate"
+ },
+ "audiencesquare.com": {
+ "name": "Audience Square",
+ "categoryId": 4,
+ "url": "http://www.audiencesquare.fr/",
+ "companyId": "audience_square"
+ },
+ "auditude": {
+ "name": "Auditude",
+ "categoryId": 0,
+ "url": "http://www.auditude.com/",
+ "companyId": "adobe"
+ },
+ "audtd.com": {
+ "name": "Auditorius",
+ "categoryId": 4,
+ "url": "http://www.auditorius.ru/",
+ "companyId": "auditorius"
+ },
+ "augur": {
+ "name": "Augur",
+ "categoryId": 6,
+ "url": "https://www.augur.io/",
+ "companyId": "augur"
+ },
+ "aumago": {
+ "name": "Aumago",
+ "categoryId": 4,
+ "url": "http://www.aumago.com/",
+ "companyId": "aumago"
+ },
+ "aurea_clicktracks": {
+ "name": "Aurea ClickTracks",
+ "categoryId": 4,
+ "url": "http://www.clicktracks.com/",
+ "companyId": "aurea"
+ },
+ "ausgezeichnet_org": {
+ "name": "ausgezeichnet.org",
+ "categoryId": 2,
+ "url": "http://ausgezeichnet.org/",
+ "companyId": null
+ },
+ "australia.gov": {
+ "name": "Australia.gov",
+ "categoryId": 4,
+ "url": "http://www.australia.gov.au/",
+ "companyId": "australian_government"
+ },
+ "auth0": {
+ "name": "Auth0 Inc.",
+ "categoryId": 6,
+ "url": "https://auth0.com/",
+ "companyId": "auth0"
+ },
+ "autoid": {
+ "name": "AutoID",
+ "categoryId": 6,
+ "url": "http://www.autoid.com/",
+ "companyId": "autoid"
+ },
+ "autonomy": {
+ "name": "Autonomy",
+ "categoryId": 4,
+ "url": "http://www.optimost.com/",
+ "companyId": "hp"
+ },
+ "autonomy_campaign": {
+ "name": "Autonomy Campaign",
+ "categoryId": 4,
+ "url": "http://www.autonomy.com/",
+ "companyId": "hp"
+ },
+ "autopilothq": {
+ "name": "Auto Pilot",
+ "categoryId": 4,
+ "url": "https://www.autopilothq.com/",
+ "companyId": "autopilothq"
+ },
+ "autoscout24.com": {
+ "name": "Autoscout24",
+ "categoryId": 8,
+ "url": "http://www.scout24.com/",
+ "companyId": "scout24"
+ },
+ "avail": {
+ "name": "Avail",
+ "categoryId": 4,
+ "url": "http://avail.com",
+ "companyId": "richrelevance"
+ },
+ "avanser": {
+ "name": "AVANSER",
+ "categoryId": 2,
+ "url": "http://www.avanser.com.au/",
+ "companyId": "avanser"
+ },
+ "avant_metrics": {
+ "name": "Avant Metrics",
+ "categoryId": 6,
+ "url": "http://www.avantlink.com/",
+ "companyId": "avantlink"
+ },
+ "avantlink": {
+ "name": "AvantLink",
+ "categoryId": 4,
+ "url": "http://www.avantlink.com/",
+ "companyId": "avantlink"
+ },
+ "avazu_network": {
+ "name": "Avazu Network",
+ "categoryId": 4,
+ "url": "http://www.avazudsp.net/",
+ "companyId": "avazu_network"
+ },
+ "avenseo": {
+ "name": "Avenseo",
+ "categoryId": 4,
+ "url": "http://avenseo.com",
+ "companyId": "avenseo"
+ },
+ "avid_media": {
+ "name": "Avid Media",
+ "categoryId": 0,
+ "url": "http://www.avidglobalmedia.com/",
+ "companyId": "avid_media"
+ },
+ "avocet": {
+ "name": "Avocet",
+ "categoryId": 8,
+ "url": "https://avocet.io/",
+ "companyId": "avocet"
+ },
+ "aweber": {
+ "name": "AWeber",
+ "categoryId": 4,
+ "url": "http://www.aweber.com/",
+ "companyId": "aweber_communications"
+ },
+ "awin": {
+ "name": "AWIN",
+ "categoryId": 4,
+ "url": "https://www.awin.com",
+ "companyId": "axel_springer"
+ },
+ "axill": {
+ "name": "Axill",
+ "categoryId": 4,
+ "url": "http://www.axill.com/",
+ "companyId": "axill"
+ },
+ "azadify": {
+ "name": "Azadify",
+ "categoryId": 4,
+ "url": "http://azadify.com/engage/index.php",
+ "companyId": "azadify"
+ },
+ "azureedge.net": {
+ "name": "Azure CDN",
+ "categoryId": 9,
+ "url": "https://www.microsoft.com/",
+ "companyId": "microsoft"
+ },
+ "b2bcontext": {
+ "name": "B2BContext",
+ "categoryId": 4,
+ "url": "http://b2bcontext.ru/",
+ "companyId": "b2bcontext"
+ },
+ "b2bvideo": {
+ "name": "B2Bvideo",
+ "categoryId": 4,
+ "url": "http://b2bvideo.ru/",
+ "companyId": "b2bvideo"
+ },
+ "babator.com": {
+ "name": "Babator",
+ "categoryId": 6,
+ "url": "https://www.babator.com/",
+ "companyId": null
+ },
+ "back_beat_media": {
+ "name": "Back Beat Media",
+ "categoryId": 4,
+ "url": "http://www.backbeatmedia.com",
+ "companyId": "backbeat_media"
+ },
+ "backtype_widgets": {
+ "name": "BackType Widgets",
+ "categoryId": 4,
+ "url": "http://www.backtype.com/widgets",
+ "companyId": "backtype"
+ },
+ "bahn_de": {
+ "name": "Deutsche Bahn",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "baidu_ads": {
+ "name": "Baidu Ads",
+ "categoryId": 4,
+ "url": "http://www.baidu.com/",
+ "companyId": "baidu"
+ },
+ "baidu_static": {
+ "name": "Baidu Static",
+ "categoryId": 8,
+ "url": "https://www.baidu.com/",
+ "companyId": "baidu"
+ },
+ "baletingo.com": {
+ "name": "baletingo.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "bangdom.com": {
+ "name": "BangBros",
+ "categoryId": 3,
+ "url": null,
+ "companyId": null
+ },
+ "bankrate": {
+ "name": "Bankrate",
+ "categoryId": 4,
+ "url": "https://www.bankrate.com/",
+ "companyId": "bankrate"
+ },
+ "banner_connect": {
+ "name": "Banner Connect",
+ "categoryId": 4,
+ "url": "http://www.bannerconnect.net/",
+ "companyId": "bannerconnect"
+ },
+ "bannerflow.com": {
+ "name": "Bannerflow",
+ "categoryId": 4,
+ "url": "https://www.bannerflow.com/",
+ "companyId": "bannerflow"
+ },
+ "bannerplay": {
+ "name": "BannerPlay",
+ "categoryId": 4,
+ "url": "http://www.bannerplay.com/",
+ "companyId": "bannerplay"
+ },
+ "bannersnack": {
+ "name": "Bannersnack",
+ "categoryId": 4,
+ "url": "http://www.bannersnack.com/",
+ "companyId": "bannersnack"
+ },
+ "barilliance": {
+ "name": "Barilliance",
+ "categoryId": 4,
+ "url": "http://www.barilliance.com/",
+ "companyId": "barilliance"
+ },
+ "barometer": {
+ "name": "Barometer",
+ "categoryId": 2,
+ "url": "http://getbarometer.com/",
+ "companyId": "barometer"
+ },
+ "basilic.io": {
+ "name": "basilic.io",
+ "categoryId": 6,
+ "url": "https://basilic.io/",
+ "companyId": null
+ },
+ "batanga_network": {
+ "name": "Batanga Network",
+ "categoryId": 4,
+ "url": "http://www.batanganetwork.com/",
+ "companyId": "batanga_network"
+ },
+ "batch_media": {
+ "name": "Batch Media",
+ "categoryId": 4,
+ "url": "http://batch.ba/",
+ "companyId": "prosieben_sat1"
+ },
+ "bauer_media": {
+ "name": "Bauer Media",
+ "categoryId": 4,
+ "url": "http://www.bauermedia.com",
+ "companyId": "bauer_media"
+ },
+ "baur.de": {
+ "name": "baur.de",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "baynote_observer": {
+ "name": "Baynote Observer",
+ "categoryId": 4,
+ "url": "http://www.baynote.com/",
+ "companyId": "baynote"
+ },
+ "bazaarvoice": {
+ "name": "Bazaarvoice",
+ "categoryId": 2,
+ "url": "http://www.bazaarvoice.com/",
+ "companyId": "bazaarvoice"
+ },
+ "bbci": {
+ "name": "BBC",
+ "categoryId": 10,
+ "url": "https://bbc.co.uk",
+ "companyId": null
+ },
+ "bd4travel": {
+ "name": "bd4travel",
+ "categoryId": 4,
+ "url": "https://bd4travel.com/",
+ "companyId": "bd4travel"
+ },
+ "be_opinion": {
+ "name": "Be Opinion",
+ "categoryId": 2,
+ "url": "http://beopinion.com/",
+ "companyId": "be_opinion"
+ },
+ "beachfront": {
+ "name": "Beachfront Media",
+ "categoryId": 4,
+ "url": "http://beachfrontmedia.com/",
+ "companyId": null
+ },
+ "beacon_ad_network": {
+ "name": "Beacon Ad Network",
+ "categoryId": 4,
+ "url": "http://beaconads.com/",
+ "companyId": "beacon_ad_network"
+ },
+ "beampulse.com": {
+ "name": "BeamPulse",
+ "categoryId": 4,
+ "url": "https://en.beampulse.com/",
+ "companyId": null
+ },
+ "beanstalk_data": {
+ "name": "Beanstalk Data",
+ "categoryId": 4,
+ "url": "http://www.beanstalkdata.com/",
+ "companyId": "beanstalk_data"
+ },
+ "bebi": {
+ "name": "Bebi Media",
+ "categoryId": 4,
+ "url": "https://www.bebi.com/",
+ "companyId": "bebi_media"
+ },
+ "beeketing.com": {
+ "name": "Beeketing",
+ "categoryId": 4,
+ "url": "https://beeketing.com/",
+ "companyId": "beeketing"
+ },
+ "beeline.ru": {
+ "name": "Beeline",
+ "categoryId": 4,
+ "url": "https://moskva.beeline.ru/",
+ "companyId": null
+ },
+ "beeswax": {
+ "name": "Beeswax",
+ "categoryId": 4,
+ "url": "http://beeswax.com/",
+ "companyId": "beeswax"
+ },
+ "beezup": {
+ "name": "BeezUP",
+ "categoryId": 4,
+ "url": "http://www.beezup.co.uk/",
+ "companyId": "beezup"
+ },
+ "begun": {
+ "name": "Begun",
+ "categoryId": 4,
+ "url": "http://begun.ru/",
+ "companyId": "begun"
+ },
+ "behavioralengine": {
+ "name": "BehavioralEngine",
+ "categoryId": 4,
+ "url": "http://www.behavioralengine.com/",
+ "companyId": "behavioralengine"
+ },
+ "belboon_gmbh": {
+ "name": "belboon GmbH",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "belco": {
+ "name": "Belco",
+ "categoryId": 2,
+ "url": "https://www.belco.io/",
+ "companyId": "belco"
+ },
+ "belstat": {
+ "name": "BelStat",
+ "categoryId": 6,
+ "url": "http://www.belstat.com/",
+ "companyId": "belstat"
+ },
+ "bemobile.ua": {
+ "name": "Bemobile",
+ "categoryId": 10,
+ "url": "http://bemobile.ua/en/",
+ "companyId": "bemobile"
+ },
+ "bench_platform": {
+ "name": "Bench Platform",
+ "categoryId": 4,
+ "url": "https://benchplatform.com",
+ "companyId": "bench_platform"
+ },
+ "betterttv": {
+ "name": "BetterTTV",
+ "categoryId": 7,
+ "url": "https://nightdev.com/betterttv/",
+ "companyId": "nightdev"
+ },
+ "betweendigital.com": {
+ "name": "Between Digital",
+ "categoryId": 4,
+ "url": "http://betweendigital.ru/ssp",
+ "companyId": "between_digital"
+ },
+ "bid.run": {
+ "name": "Bid Run",
+ "categoryId": 4,
+ "url": "http://bid.run/",
+ "companyId": "bid.run"
+ },
+ "bidgear": {
+ "name": "BidGear",
+ "categoryId": 6,
+ "url": "https://bidgear.com/",
+ "companyId": "bidgear"
+ },
+ "bidswitch": {
+ "name": "Bidswitch",
+ "categoryId": 4,
+ "url": "http://www.iponweb.com/",
+ "companyId": "iponweb"
+ },
+ "bidtellect": {
+ "name": "Bidtellect",
+ "categoryId": 4,
+ "url": "https://www.bidtellect.com/",
+ "companyId": "bidtellect"
+ },
+ "bidtheatre": {
+ "name": "BidTheatre",
+ "categoryId": 4,
+ "url": "http://www.bidtheatre.com/",
+ "companyId": "bidtheatre"
+ },
+ "bidvertiser": {
+ "name": "BidVertiser",
+ "categoryId": 4,
+ "url": "http://www.bidvertiser.com/",
+ "companyId": "bidvertiser"
+ },
+ "big_mobile": {
+ "name": "Big Mobile",
+ "categoryId": 4,
+ "url": "http://www.bigmobile.com/",
+ "companyId": "big_mobile"
+ },
+ "bigcommerce.com": {
+ "name": "BigCommerce",
+ "categoryId": 6,
+ "url": "https://www.bigcommerce.com/",
+ "companyId": "bigcommerce"
+ },
+ "bigmir.net": {
+ "name": "bigmir",
+ "categoryId": 6,
+ "url": "https://www.bigmir.net/",
+ "companyId": "bigmir-internet"
+ },
+ "bigpoint": {
+ "name": "Bigpoint",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "bild": {
+ "name": "Bild.de",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "bilgin_pro": {
+ "name": "Bilgin Pro",
+ "categoryId": 4,
+ "url": "http://bilgin.pro/",
+ "companyId": "bilginpro"
+ },
+ "bilin": {
+ "name": "Bilin",
+ "categoryId": 4,
+ "url": "http://www.bilintechnology.com/",
+ "companyId": "bilin"
+ },
+ "bing_ads": {
+ "name": "Bing Ads",
+ "categoryId": 4,
+ "url": "https://bingads.microsoft.com/",
+ "companyId": "microsoft"
+ },
+ "bing_maps": {
+ "name": "Bing Maps",
+ "categoryId": 2,
+ "url": "https://www.microsoft.com/",
+ "companyId": "microsoft"
+ },
+ "binlayer": {
+ "name": "BinLayer",
+ "categoryId": 4,
+ "url": "http://binlayer.com/",
+ "companyId": "binlayer"
+ },
+ "binotel": {
+ "name": "Binotel",
+ "categoryId": 4,
+ "url": "http://www.binotel.ua/",
+ "companyId": "binotel"
+ },
+ "bisnode": {
+ "name": "Bisnode",
+ "categoryId": 4,
+ "url": "http://www.esendra.fi/",
+ "companyId": "bisnode"
+ },
+ "bitcoin_miner": {
+ "name": "Bitcoin Miner",
+ "categoryId": 2,
+ "url": "http://www.bitcoinplus.com/",
+ "companyId": "bitcoin_plus"
+ },
+ "bitly": {
+ "name": "Bitly",
+ "categoryId": 6,
+ "url": "https://bitly.com/",
+ "companyId": null
+ },
+ "bitrix": {
+ "name": "Bitrix24",
+ "categoryId": 4,
+ "url": "https://www.bitrix24.com/",
+ "companyId": "bitrix24"
+ },
+ "bizcn": {
+ "name": "Bizcn",
+ "categoryId": 4,
+ "url": "http://www.bizcn.com/",
+ "companyId": "bizcn"
+ },
+ "blackdragon": {
+ "name": "BlackDragon",
+ "categoryId": 4,
+ "url": "http://www.jd.com/",
+ "companyId": "jing_dong"
+ },
+ "blau.de": {
+ "name": "Blau",
+ "categoryId": 8,
+ "url": "https://www.blau.de/",
+ "companyId": null
+ },
+ "blink_new_media": {
+ "name": "Blink New Media",
+ "categoryId": 4,
+ "url": "http://engagebdr.com/",
+ "companyId": "engage_bdr"
+ },
+ "blis": {
+ "name": "Blis",
+ "categoryId": 6,
+ "url": "http://www.blis.com/index.php",
+ "companyId": "blis"
+ },
+ "blogad": {
+ "name": "BlogAD",
+ "categoryId": 4,
+ "url": "http://www.blogad.com.tw/",
+ "companyId": "blogad"
+ },
+ "blogbang": {
+ "name": "BlogBang",
+ "categoryId": 4,
+ "url": "http://www.blogbang.com/",
+ "companyId": "blogbang"
+ },
+ "blogcatalog": {
+ "name": "BlogCatalog",
+ "categoryId": 2,
+ "url": "http://www.blogcatalog.com/",
+ "companyId": "blogcatalog"
+ },
+ "blogcounter": {
+ "name": "BlogCounter",
+ "categoryId": 6,
+ "url": "http://blogcounter.com/",
+ "companyId": "adfire_gmbh"
+ },
+ "blogfoster.com": {
+ "name": "Blogfoster",
+ "categoryId": 8,
+ "url": "http://www.blogfoster.com/",
+ "companyId": "blogfoster"
+ },
+ "bloggerads": {
+ "name": "BloggerAds",
+ "categoryId": 4,
+ "url": "http://www.bloggerads.net/",
+ "companyId": "bloggerads"
+ },
+ "blogher": {
+ "name": "BlogHer Ads",
+ "categoryId": 4,
+ "url": "https://www.blogher.com/",
+ "companyId": "penske_media_corp"
+ },
+ "blogimg.jp": {
+ "name": "blogimg.jp",
+ "categoryId": 9,
+ "url": "https://line.me/",
+ "companyId": "line"
+ },
+ "blogsmithmedia.com": {
+ "name": "blogsmithmedia.com",
+ "categoryId": 8,
+ "url": "https://www.verizon.com/",
+ "companyId": "verizon"
+ },
+ "blogspot_com": {
+ "name": "blogspot.com",
+ "categoryId": 8,
+ "url": "http://www.google.com",
+ "companyId": "google"
+ },
+ "bloomreach": {
+ "name": "BloomReach",
+ "categoryId": 4,
+ "url": "https://www.bloomreach.com/en",
+ "companyId": "bloomreach"
+ },
+ "blue_cherry_group": {
+ "name": "Blue Cherry Group",
+ "categoryId": 4,
+ "url": "http://www.bluecherrygroup.com",
+ "companyId": "blue_cherry_group"
+ },
+ "blue_seed": {
+ "name": "Blue Seed",
+ "categoryId": 4,
+ "url": "http://blueseed.tv/#/en/platform",
+ "companyId": "blue_seed"
+ },
+ "blueconic.net": {
+ "name": "BlueConic Plugin",
+ "categoryId": 6,
+ "url": "https://www.blueconic.com/",
+ "companyId": "blueconic"
+ },
+ "bluecore": {
+ "name": "Bluecore",
+ "categoryId": 4,
+ "url": "https://www.bluecore.com/",
+ "companyId": "triggermail"
+ },
+ "bluekai": {
+ "name": "BlueKai",
+ "categoryId": 4,
+ "url": "http://www.bluekai.com/",
+ "companyId": "oracle"
+ },
+ "bluelithium": {
+ "name": "Bluelithium",
+ "categoryId": 4,
+ "url": "http://www.bluelithium.com/",
+ "companyId": "verizon"
+ },
+ "bluemetrix": {
+ "name": "Bluemetrix",
+ "categoryId": 4,
+ "url": "http://www.bluemetrix.ie/",
+ "companyId": "bluemetrix"
+ },
+ "bluenewsupdate.info": {
+ "name": "bluenewsupdate.info",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "bluestreak": {
+ "name": "BlueStreak",
+ "categoryId": 4,
+ "url": "http://www.bluestreak.com/",
+ "companyId": "dentsu_aegis_network"
+ },
+ "bluetriangle": {
+ "name": "Blue Triangle",
+ "categoryId": 6,
+ "url": "https://www.bluetriangle.com/",
+ "companyId": "blue_triangle"
+ },
+ "bodelen.com": {
+ "name": "bodelen.com",
+ "categoryId": 4,
+ "url": null,
+ "companyId": null
+ },
+ "bol_affiliate_program": {
+ "name": "BOL Affiliate Program",
+ "categoryId": 4,
+ "url": "http://www.bol.com",
+ "companyId": "bol.com"
+ },
+ "bold": {
+ "name": "Bold",
+ "categoryId": 4,
+ "url": "https://boldcommerce.com/",
+ "companyId": "bold"
+ },
+ "boldchat": {
+ "name": "Boldchat",
+ "categoryId": 2,
+ "url": "http://www.boldchat.com/",
+ "companyId": "boldchat"
+ },
+ "boltdns.net": {
+ "name": "boltdns.net",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "bombora": {
+ "name": "Bombora",
+ "categoryId": 6,
+ "url": "http://bombora.com/",
+ "companyId": "bombora"
+ },
+ "bongacams.com": {
+ "name": "bongacams.com",
+ "categoryId": 3,
+ "url": null,
+ "companyId": null
+ },
+ "bonial": {
+ "name": "Bonial Connect",
+ "categoryId": 2,
+ "url": "http://www.bonial.com/",
+ "companyId": null
+ },
+ "boo-box": {
+ "name": "boo-box",
+ "categoryId": 4,
+ "url": "http://boo-box.com/",
+ "companyId": "boo-box"
+ },
+ "booking.com": {
+ "name": "Booking.com",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "boost_box": {
+ "name": "Boost Box",
+ "categoryId": 6,
+ "url": "http://www.boostbox.com.br/",
+ "companyId": "boost_box"
+ },
+ "booster_video": {
+ "name": "Booster Video",
+ "categoryId": 0,
+ "url": "https://boostervideo.ru/",
+ "companyId": "booster_video"
+ },
+ "bootstrap": {
+ "name": "Bootstrap CDN",
+ "categoryId": 9,
+ "url": "http://getbootstrap.com/",
+ "companyId": "bootstrap_cdn"
+ },
+ "borrango.com": {
+ "name": "borrango.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "botscanner": {
+ "name": "BotScanner",
+ "categoryId": 6,
+ "url": "http://botscanner.com",
+ "companyId": "botscanner"
+ },
+ "boudja.com": {
+ "name": "boudja.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "bounce_exchange": {
+ "name": "Bounce Exchange",
+ "categoryId": 4,
+ "url": "http://bounceexchange.com",
+ "companyId": "bounce_exchange"
+ },
+ "bouncex": {
+ "name": "BounceX",
+ "categoryId": 4,
+ "url": "https://www.bouncex.com/",
+ "companyId": null
+ },
+ "box_uk": {
+ "name": "Box UK",
+ "categoryId": 6,
+ "url": "http://www.clickdensity.com",
+ "companyId": "box_uk"
+ },
+ "boxever": {
+ "name": "Boxever",
+ "categoryId": 4,
+ "url": "https://www.boxever.com/",
+ "companyId": "boxever"
+ },
+ "brainient": {
+ "name": "Brainient",
+ "categoryId": 4,
+ "url": "http://www.brainient.com/",
+ "companyId": "brainient"
+ },
+ "brainsins": {
+ "name": "BrainSINS",
+ "categoryId": 4,
+ "url": "http://www.brainsins.com/",
+ "companyId": "brainsins"
+ },
+ "branch_metrics": {
+ "name": "Branch",
+ "categoryId": 4,
+ "url": "https://branch.io/",
+ "companyId": "branch_metrics_inc"
+ },
+ "brand_affinity": {
+ "name": "Brand Affinity",
+ "categoryId": 4,
+ "url": "http://brandaffinity.net/about",
+ "companyId": "yoonla"
+ },
+ "brand_networks": {
+ "name": "Brand Networks",
+ "categoryId": 4,
+ "url": "http://www.xa.net/",
+ "companyId": "brand_networks"
+ },
+ "brandmetrics.com": {
+ "name": "Brandmetrics.com",
+ "categoryId": 4,
+ "url": "https://www.brandmetrics.com/",
+ "companyId": null
+ },
+ "brandreach": {
+ "name": "BrandReach",
+ "categoryId": 4,
+ "url": "http://www.brandreach.com/",
+ "companyId": "brandreach"
+ },
+ "brandscreen": {
+ "name": "Brandscreen",
+ "categoryId": 4,
+ "url": "http://www.brandscreen.com/",
+ "companyId": "zenovia"
+ },
+ "brandwire.tv": {
+ "name": "BrandWire",
+ "categoryId": 4,
+ "url": "https://brandwire.tv/",
+ "companyId": null
+ },
+ "branica": {
+ "name": "Branica",
+ "categoryId": 4,
+ "url": "http://www.branica.com/",
+ "companyId": "branica"
+ },
+ "braze": {
+ "name": "Braze",
+ "categoryId": 6,
+ "url": "https://www.braze.com/",
+ "companyId": "braze_inc"
+ },
+ "brealtime": {
+ "name": "EMX Digital",
+ "categoryId": 4,
+ "url": "https://emxdigital.com/",
+ "companyId": null
+ },
+ "bridgetrack": {
+ "name": "BridgeTrack",
+ "categoryId": 4,
+ "url": "http://www.bridgetrack.com/",
+ "companyId": "bridgetrack"
+ },
+ "brightcove": {
+ "name": "Brightcove",
+ "categoryId": 0,
+ "url": "http://www.brightcove.com/en/",
+ "companyId": "brightcove"
+ },
+ "brightcove_player": {
+ "name": "Brightcove Player",
+ "categoryId": 0,
+ "url": "http://www.brightcove.com/en/",
+ "companyId": "brightcove"
+ },
+ "brightedge": {
+ "name": "BrightEdge",
+ "categoryId": 4,
+ "url": "http://www.brightedge.com/",
+ "companyId": "brightedge"
+ },
+ "brightfunnel": {
+ "name": "BrightFunnel",
+ "categoryId": 6,
+ "url": "http://www.brightfunnel.com/",
+ "companyId": "brightfunnel"
+ },
+ "brightonclick.com": {
+ "name": "brightonclick.com",
+ "categoryId": 4,
+ "url": null,
+ "companyId": null
+ },
+ "brightroll": {
+ "name": "BrightRoll",
+ "categoryId": 4,
+ "url": "http://www.brightroll.com/",
+ "companyId": "verizon"
+ },
+ "brilig": {
+ "name": "Brilig",
+ "categoryId": 4,
+ "url": "http://www.brilig.com/",
+ "companyId": "dentsu_aegis_network"
+ },
+ "brillen.de": {
+ "name": "brillen.de",
+ "categoryId": 8,
+ "url": "https://www.brillen.de/",
+ "companyId": null
+ },
+ "broadstreet": {
+ "name": "Broadstreet",
+ "categoryId": 4,
+ "url": "http://broadstreetads.com/",
+ "companyId": "broadstreet"
+ },
+ "bronto": {
+ "name": "Bronto",
+ "categoryId": 4,
+ "url": "http://bronto.com/",
+ "companyId": "bronto"
+ },
+ "brow.si": {
+ "name": "Brow.si",
+ "categoryId": 4,
+ "url": "https://brow.si/",
+ "companyId": "brow.si"
+ },
+ "browser-statistik": {
+ "name": "Browser-Statistik",
+ "categoryId": 6,
+ "url": "http://www.browser-statistik.de/",
+ "companyId": "browser-statistik"
+ },
+ "browser_update": {
+ "name": "Browser Update",
+ "categoryId": 2,
+ "url": "http://www.browser-update.org/",
+ "companyId": "browser-update"
+ },
+ "btncdn.com": {
+ "name": "btncdn.com",
+ "categoryId": 9,
+ "url": null,
+ "companyId": null
+ },
+ "bubblestat": {
+ "name": "Bubblestat",
+ "categoryId": 4,
+ "url": "http://www.bubblestat.com/",
+ "companyId": "bubblestat"
+ },
+ "buddy_media": {
+ "name": "Buddy Media",
+ "categoryId": 7,
+ "url": "http://www.salesforce.com/",
+ "companyId": "salesforce"
+ },
+ "buffer_button": {
+ "name": "Buffer Button",
+ "categoryId": 7,
+ "url": "http://www.bufferapp.com/",
+ "companyId": "buffer"
+ },
+ "bugherd.com": {
+ "name": "BugHerd",
+ "categoryId": 2,
+ "url": "https://bugherd.com",
+ "companyId": "bugherd"
+ },
+ "bugsnag": {
+ "name": "Bugsnag",
+ "categoryId": 6,
+ "url": "https://bugsnag.com",
+ "companyId": "bugsnag"
+ },
+ "bulkhentai.com": {
+ "name": "bulkhentai.com",
+ "categoryId": 3,
+ "url": null,
+ "companyId": null
+ },
+ "bumlam.com": {
+ "name": "bumlam.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "bunchbox": {
+ "name": "Bunchbox",
+ "categoryId": 6,
+ "url": "https://app.bunchbox.co/login",
+ "companyId": "bunchbox"
+ },
+ "burda": {
+ "name": "BurdaForward",
+ "categoryId": 4,
+ "url": "http://www.hubert-burda-media.com/",
+ "companyId": "hubert_burda_media"
+ },
+ "burda_digital_systems": {
+ "name": "Burda Digital Systems",
+ "categoryId": 4,
+ "url": "http://www.hubert-burda-media.com/",
+ "companyId": "hubert_burda_media"
+ },
+ "burst_media": {
+ "name": "Burst Media",
+ "categoryId": 4,
+ "url": "http://www.burstmedia.com/",
+ "companyId": "rhythmone"
+ },
+ "burt": {
+ "name": "Burt",
+ "categoryId": 4,
+ "url": "http://www.burtcorp.com/",
+ "companyId": "burt"
+ },
+ "businessonline_analytics": {
+ "name": "BusinessOnLine Analytics",
+ "categoryId": 6,
+ "url": "http://www.businessol.com/",
+ "companyId": "businessonline"
+ },
+ "buysellads": {
+ "name": "BuySellAds",
+ "categoryId": 4,
+ "url": "http://buysellads.com/",
+ "companyId": "buysellads.com"
+ },
+ "buzzadexchange.com": {
+ "name": "buzzadexchange.com",
+ "categoryId": 4,
+ "url": null,
+ "companyId": null
+ },
+ "buzzador": {
+ "name": "Buzzador",
+ "categoryId": 7,
+ "url": "http://www.buzzador.com",
+ "companyId": "buzzador"
+ },
+ "buzzfeed": {
+ "name": "BuzzFeed",
+ "categoryId": 2,
+ "url": "http://www.buzzfeed.com",
+ "companyId": "buzzfeed"
+ },
+ "bwbx.io": {
+ "name": "Bloomberg CDN",
+ "categoryId": 9,
+ "url": "https://www.bloomberg.com/",
+ "companyId": null
+ },
+ "bypass": {
+ "name": "Bypass",
+ "categoryId": 4,
+ "url": "http://bypass.jp/",
+ "companyId": "united_inc"
+ },
+ "c1_exchange": {
+ "name": "C1 Exchange",
+ "categoryId": 4,
+ "url": "http://c1exchange.com/",
+ "companyId": "c1_exchange"
+ },
+ "c3_metrics": {
+ "name": "C3 Metrics",
+ "categoryId": 6,
+ "url": "http://c3metrics.com/",
+ "companyId": "c3_metrics"
+ },
+ "c8_network": {
+ "name": "C8 Network",
+ "categoryId": 4,
+ "url": "http://c8.net.ua/",
+ "companyId": "c8_network"
+ },
+ "cackle.me": {
+ "name": "Cackle",
+ "categoryId": 3,
+ "url": "https://cackle.me/",
+ "companyId": null
+ },
+ "cadreon": {
+ "name": "Cadreon",
+ "categoryId": 4,
+ "url": "http://www.cadreon.com/",
+ "companyId": "cadreon"
+ },
+ "call_page": {
+ "name": "Call Page",
+ "categoryId": 2,
+ "url": "https://www.callpage.io/",
+ "companyId": "call_page"
+ },
+ "callbackhunter": {
+ "name": "CallbackHunter",
+ "categoryId": 2,
+ "url": "http://callbackhunter.com/main",
+ "companyId": "callbackhunter"
+ },
+ "callbox": {
+ "name": "CallBox",
+ "categoryId": 2,
+ "url": "http://www.centuryinteractive.com",
+ "companyId": "callbox"
+ },
+ "callibri": {
+ "name": "Callibri",
+ "categoryId": 4,
+ "url": "https://callibri.ru/",
+ "companyId": "callibri"
+ },
+ "callrail": {
+ "name": "CallRail",
+ "categoryId": 2,
+ "url": "http://www.callrail.com/",
+ "companyId": "callrail"
+ },
+ "calltracking": {
+ "name": "Calltracking",
+ "categoryId": 2,
+ "url": "https://calltracking.ru",
+ "companyId": "calltracking"
+ },
+ "caltat.com": {
+ "name": "Caltat",
+ "categoryId": 2,
+ "url": "https://caltat.com/",
+ "companyId": null
+ },
+ "cam-content.com": {
+ "name": "Cam-Content.com",
+ "categoryId": 3,
+ "url": "https://www.cam-content.com/",
+ "companyId": null
+ },
+ "camakaroda.com": {
+ "name": "camakaroda.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "campus_explorer": {
+ "name": "Campus Explorer",
+ "categoryId": 6,
+ "url": "http://www.campusexplorer.com/",
+ "companyId": "campus_explorer"
+ },
+ "canddi": {
+ "name": "CANDDI",
+ "categoryId": 6,
+ "url": "https://www.canddi.com/",
+ "companyId": "canddi"
+ },
+ "canvas": {
+ "name": "Canvas",
+ "categoryId": 2,
+ "url": "https://www.canvas.net/",
+ "companyId": null
+ },
+ "capitaldata": {
+ "name": "CapitalData",
+ "categoryId": 6,
+ "url": "https://www.capitaldata.fr/",
+ "companyId": "highco"
+ },
+ "captora": {
+ "name": "Captora",
+ "categoryId": 4,
+ "url": "http://www.captora.com/",
+ "companyId": "captora"
+ },
+ "capture_media": {
+ "name": "Capture Media",
+ "categoryId": 4,
+ "url": "http://capturemedia.ch/",
+ "companyId": "capture_media"
+ },
+ "capturly": {
+ "name": "Capturly",
+ "categoryId": 6,
+ "url": "http://capturly.com/",
+ "companyId": "capturly"
+ },
+ "carambola": {
+ "name": "Carambola",
+ "categoryId": 4,
+ "url": "http://carambo.la/",
+ "companyId": "carambola"
+ },
+ "carbonads": {
+ "name": "Carbon Ads",
+ "categoryId": 4,
+ "url": "https://www.carbonads.net/",
+ "companyId": "buysellads.com"
+ },
+ "cardinal": {
+ "name": "Cardinal",
+ "categoryId": 6,
+ "url": "https://www.cardinalcommerce.com/",
+ "companyId": "visa"
+ },
+ "cardlytics": {
+ "name": "Cardlytics",
+ "categoryId": 6,
+ "url": "http://www.cardlytics.com/",
+ "companyId": null
+ },
+ "carrot_quest": {
+ "name": "Carrot Quest",
+ "categoryId": 6,
+ "url": "http://www.carrotquest.io/",
+ "companyId": "carrot_quest"
+ },
+ "cartstack": {
+ "name": "CartStack",
+ "categoryId": 2,
+ "url": "http://cartstack.com/",
+ "companyId": "cartstack"
+ },
+ "caspion": {
+ "name": "Caspion",
+ "categoryId": 6,
+ "url": "http://caspion.com/",
+ "companyId": "caspion"
+ },
+ "castle": {
+ "name": "Castle",
+ "categoryId": 2,
+ "url": "https://castle.io",
+ "companyId": "castle"
+ },
+ "catchpoint": {
+ "name": "Catchpoint",
+ "categoryId": 6,
+ "url": "http://www.catchpoint.com/",
+ "companyId": "catchpoint_systems"
+ },
+ "cbox": {
+ "name": "Cbox",
+ "categoryId": 2,
+ "url": "http://cbox.ws",
+ "companyId": "cbox"
+ },
+ "cbs_interactive": {
+ "name": "CBS Interactive",
+ "categoryId": 0,
+ "url": "http://www.cbsinteractive.com/",
+ "companyId": "cbs_interactive"
+ },
+ "ccm_benchmark": {
+ "name": "CCM Benchmark",
+ "categoryId": 4,
+ "url": "http://www.ccmbenchmark.com/",
+ "companyId": null
+ },
+ "cdk_digital_marketing": {
+ "name": "CDK Digital Marketing",
+ "categoryId": 4,
+ "url": "http://www.cobaltgroup.com",
+ "companyId": "cdk_digital_marketing"
+ },
+ "cdn-net.com": {
+ "name": "cdn-net.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "cdn13.com": {
+ "name": "cdn13.com",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "cdn77": {
+ "name": "CDN77",
+ "categoryId": 9,
+ "url": "https://www.cdn77.com/",
+ "companyId": null
+ },
+ "cdnetworks.net": {
+ "name": "cdnetworks.net",
+ "categoryId": 9,
+ "url": "https://www.cdnetworks.com/",
+ "companyId": null
+ },
+ "cdnnetwok_xyz": {
+ "name": "cdnnetwok.xyz",
+ "categoryId": 12,
+ "url": null,
+ "companyId": null
+ },
+ "cdnondemand.org": {
+ "name": "cdnondemand.org",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "cdnsure.com": {
+ "name": "cdnsure.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "cdnvideo.com": {
+ "name": "CDNvideo",
+ "categoryId": 9,
+ "url": "https://www.cdnvideo.com/",
+ "companyId": "cdnvideo"
+ },
+ "cdnwidget.com": {
+ "name": "cdnwidget.com",
+ "categoryId": 9,
+ "url": null,
+ "companyId": null
+ },
+ "cedexis_radar": {
+ "name": "Cedexis Radar",
+ "categoryId": 6,
+ "url": "http://www.cedexis.com/products_radar.html",
+ "companyId": "cedexis"
+ },
+ "celebrus": {
+ "name": "Celebrus",
+ "categoryId": 6,
+ "url": "https://www.celebrus.com/",
+ "companyId": "celebrus"
+ },
+ "celtra": {
+ "name": "Celtra",
+ "categoryId": 0,
+ "url": "http://www.celtra.com/",
+ "companyId": "celtra"
+ },
+ "cendyn": {
+ "name": "Cendyn",
+ "categoryId": 4,
+ "url": "http://www.cendyn.com/",
+ "companyId": "cendyn"
+ },
+ "centraltag": {
+ "name": "CentralTag",
+ "categoryId": 4,
+ "url": "http://www.centraltag.com/",
+ "companyId": "centraltag"
+ },
+ "centro": {
+ "name": "Centro",
+ "categoryId": 4,
+ "url": "http://centro.net/",
+ "companyId": "centro"
+ },
+ "cerberus_speed-trap": {
+ "name": "Cerberus Speed-Trap",
+ "categoryId": 6,
+ "url": "http://cerberusip.com/",
+ "companyId": "cerberus"
+ },
+ "certainsource": {
+ "name": "CertainSource",
+ "categoryId": 4,
+ "url": "http://www.ewaydirect.com",
+ "companyId": "certainsource"
+ },
+ "certifica_metric": {
+ "name": "Certifica Metric",
+ "categoryId": 4,
+ "url": "http://www.comscore.com/Products_Services/Product_Index/Certifica_Metric",
+ "companyId": "comscore"
+ },
+ "certona": {
+ "name": "Certona",
+ "categoryId": 4,
+ "url": "http://www.certona.com/products/recommendation.php",
+ "companyId": "certona"
+ },
+ "chameleon": {
+ "name": "Chameleon",
+ "categoryId": 4,
+ "url": "http://chameleon.ad/",
+ "companyId": "chamaleon"
+ },
+ "chango": {
+ "name": "Chango",
+ "categoryId": 4,
+ "url": "http://www.chango.com/",
+ "companyId": "rubicon_project"
+ },
+ "channel_intelligence": {
+ "name": "Channel Intelligence",
+ "categoryId": 4,
+ "url": "http://www.channelintelligence.com/",
+ "companyId": "google"
+ },
+ "channel_pilot_solutions": {
+ "name": "ChannelPilot Solutions",
+ "categoryId": 6,
+ "url": "https://www.channelpilot.de/",
+ "companyId": null
+ },
+ "channeladvisor": {
+ "name": "ChannelAdvisor",
+ "categoryId": 4,
+ "url": "http://www.channeladvisor.com/",
+ "companyId": "channeladvisor"
+ },
+ "channelfinder": {
+ "name": "ChannelFinder",
+ "categoryId": 4,
+ "url": "http://www.kpicentral.com/",
+ "companyId": "kaleidoscope_promotions"
+ },
+ "chaordic": {
+ "name": "Chaordic",
+ "categoryId": 4,
+ "url": "https://www.chaordic.com.br/",
+ "companyId": "chaordic"
+ },
+ "chartbeat": {
+ "name": "ChartBeat",
+ "categoryId": 6,
+ "url": "http://chartbeat.com/",
+ "companyId": "chartbeat"
+ },
+ "chaser": {
+ "name": "Chaser",
+ "categoryId": 2,
+ "url": "http://chaser.ru/",
+ "companyId": "chaser"
+ },
+ "chat_beacon": {
+ "name": "Chat Beacon",
+ "categoryId": 2,
+ "url": "https://www.chatbeacon.io/",
+ "companyId": "chat_beacon"
+ },
+ "chatango": {
+ "name": "Chatango",
+ "categoryId": 2,
+ "url": "http://www.chatango.com/",
+ "companyId": "chatango"
+ },
+ "chatra": {
+ "name": "Chatra",
+ "categoryId": 2,
+ "url": "https://chatra.io",
+ "companyId": "chatra"
+ },
+ "chaturbate.com": {
+ "name": "chaturbate.com",
+ "categoryId": 3,
+ "url": null,
+ "companyId": null
+ },
+ "chatwing": {
+ "name": "ChatWing",
+ "categoryId": 2,
+ "url": "http://chatwing.com/",
+ "companyId": "chatwing"
+ },
+ "checkmystats": {
+ "name": "CheckMyStats",
+ "categoryId": 4,
+ "url": "http://checkmystats.com.au",
+ "companyId": "checkmystats"
+ },
+ "chefkoch_de": {
+ "name": "chefkoch.de",
+ "categoryId": 8,
+ "url": "http://chefkoch.de/",
+ "companyId": null
+ },
+ "chin_media": {
+ "name": "Chin Media",
+ "categoryId": 4,
+ "url": "http://www.chinmedia.vn/#",
+ "companyId": "chin_media"
+ },
+ "chinesean": {
+ "name": "ChineseAN",
+ "categoryId": 4,
+ "url": "http://www.chinesean.com/",
+ "companyId": "chinesean"
+ },
+ "chitika": {
+ "name": "Chitika",
+ "categoryId": 4,
+ "url": "http://chitika.com/",
+ "companyId": "chitika"
+ },
+ "choicestream": {
+ "name": "ChoiceStream",
+ "categoryId": 4,
+ "url": "http://www.choicestream.com/",
+ "companyId": "choicestream"
+ },
+ "chute": {
+ "name": "Chute",
+ "categoryId": 5,
+ "url": "https://www.getchute.com/",
+ "companyId": "esw_capital"
+ },
+ "circit": {
+ "name": "circIT",
+ "categoryId": 6,
+ "url": "http://www.circit.de/",
+ "companyId": null
+ },
+ "circulate": {
+ "name": "Circulate",
+ "categoryId": 6,
+ "url": "http://circulate.com/",
+ "companyId": "circulate"
+ },
+ "city_spark": {
+ "name": "City Spark",
+ "categoryId": 4,
+ "url": "http://www.cityspark.com/",
+ "companyId": "city_spark"
+ },
+ "cityads": {
+ "name": "CityAds",
+ "categoryId": 4,
+ "url": "http://cityads.ru/",
+ "companyId": "cityads"
+ },
+ "ciuvo.com": {
+ "name": "ciuvo.com",
+ "categoryId": 12,
+ "url": "https://www.ciuvo.com/",
+ "companyId": null
+ },
+ "civey_widgets": {
+ "name": "Civey Widgets",
+ "categoryId": 2,
+ "url": "https://civey.com/",
+ "companyId": "civey"
+ },
+ "civicscience.com": {
+ "name": "CivicScience",
+ "categoryId": 6,
+ "url": "https://civicscience.com/",
+ "companyId": "civicscience"
+ },
+ "ciwebgroup": {
+ "name": "CIWebGroup",
+ "categoryId": 4,
+ "url": "http://www.ciwebgroup.com/",
+ "companyId": "ciwebgroup"
+ },
+ "clcknads.pro": {
+ "name": "clcknads.pro",
+ "categoryId": 3,
+ "url": null,
+ "companyId": null
+ },
+ "clear_pier": {
+ "name": "ClearPier",
+ "categoryId": 4,
+ "url": "http://clearpier.com/",
+ "companyId": "clear_pier"
+ },
+ "clearbit.com": {
+ "name": "Clearbit",
+ "categoryId": 6,
+ "url": "https://clearbit.com/",
+ "companyId": "clearbit"
+ },
+ "clearsale": {
+ "name": "clearsale",
+ "categoryId": 4,
+ "url": "https://www.clear.sale/",
+ "companyId": null
+ },
+ "clearstream.tv": {
+ "name": "Clearstream.TV",
+ "categoryId": 4,
+ "url": "http://clearstream.tv/",
+ "companyId": "clearstream.tv"
+ },
+ "clerk.io": {
+ "name": "Clerk.io",
+ "categoryId": 4,
+ "url": "https://clerk.io/",
+ "companyId": "clerk.io"
+ },
+ "clever_push": {
+ "name": "Clever Push",
+ "categoryId": 6,
+ "url": "https://clevertap.com/",
+ "companyId": "clever_push"
+ },
+ "clever_tap": {
+ "name": "CleverTap",
+ "categoryId": 6,
+ "url": "https://clevertap.com/",
+ "companyId": "clever_tap"
+ },
+ "cleversite": {
+ "name": "Cleversite",
+ "categoryId": 2,
+ "url": "http://cleversite.ru/",
+ "companyId": "cleversite"
+ },
+ "click360": {
+ "name": "Click360",
+ "categoryId": 6,
+ "url": "https://www.click360.io/",
+ "companyId": "click360"
+ },
+ "click_and_chat": {
+ "name": "Click and Chat",
+ "categoryId": 2,
+ "url": "http://www.clickandchat.com/",
+ "companyId": "clickandchat"
+ },
+ "click_back": {
+ "name": "Click Back",
+ "categoryId": 4,
+ "url": "http://www.clickback.com/",
+ "companyId": "clickback"
+ },
+ "clickaider": {
+ "name": "ClickAider",
+ "categoryId": 4,
+ "url": "http://clickaider.com/",
+ "companyId": "clickaider"
+ },
+ "clickbank": {
+ "name": "ClickBank",
+ "categoryId": 4,
+ "url": "http://www.clickbank.com/",
+ "companyId": "clickbank"
+ },
+ "clickbank_proads": {
+ "name": "ClickBank ProAds",
+ "categoryId": 4,
+ "url": "http://www.cbproads.com/",
+ "companyId": "clickbank_proads"
+ },
+ "clickbooth": {
+ "name": "Clickbooth",
+ "categoryId": 4,
+ "url": "http://www.clickbooth.com/",
+ "companyId": "clickbooth"
+ },
+ "clickcease": {
+ "name": "ClickCease",
+ "categoryId": 2,
+ "url": "https://www.clickcease.com/",
+ "companyId": "click_cease"
+ },
+ "clickcertain": {
+ "name": "ClickCertain",
+ "categoryId": 4,
+ "url": "http://www.clickcertain.com",
+ "companyId": "clickcertain"
+ },
+ "clickdesk": {
+ "name": "ClickDesk",
+ "categoryId": 2,
+ "url": "https://www.clickdesk.com/",
+ "companyId": "clickdesk"
+ },
+ "clickdimensions": {
+ "name": "ClickDimensions",
+ "categoryId": 4,
+ "url": "http://www.clickdimensions.com/",
+ "companyId": "clickdimensions"
+ },
+ "clickequations": {
+ "name": "ClickEquations",
+ "categoryId": 4,
+ "url": "http://www.clickequations.com/",
+ "companyId": "acquisio"
+ },
+ "clickexperts": {
+ "name": "ClickExperts",
+ "categoryId": 4,
+ "url": "http://clickexperts.com/corp/index.php?lang=en",
+ "companyId": "clickexperts"
+ },
+ "clickforce": {
+ "name": "ClickForce",
+ "categoryId": 4,
+ "url": "http://www.clickforce.com.tw/",
+ "companyId": "clickforce"
+ },
+ "clickinc": {
+ "name": "ClickInc",
+ "categoryId": 4,
+ "url": "http://www.clickinc.com",
+ "companyId": "clickinc"
+ },
+ "clickintext": {
+ "name": "ClickInText",
+ "categoryId": 4,
+ "url": "http://www.clickintext.com/",
+ "companyId": "clickintext"
+ },
+ "clickky": {
+ "name": "Clickky",
+ "categoryId": 4,
+ "url": "http://www.clickky.biz/",
+ "companyId": "clickky"
+ },
+ "clickmeter": {
+ "name": "ClickMeter",
+ "categoryId": 4,
+ "url": "http://www.clickmeter.com",
+ "companyId": "clickmeter"
+ },
+ "clickonometrics": {
+ "name": "Clickonometrics",
+ "categoryId": 4,
+ "url": "http://clickonometrics.pl/",
+ "companyId": "clickonometrics"
+ },
+ "clickpoint": {
+ "name": "Clickpoint",
+ "categoryId": 4,
+ "url": "http://clickpoint.com/",
+ "companyId": "clickpoint"
+ },
+ "clickprotector": {
+ "name": "ClickProtector",
+ "categoryId": 6,
+ "url": "http://www.clickprotector.com/",
+ "companyId": "clickprotector"
+ },
+ "clickreport": {
+ "name": "ClickReport",
+ "categoryId": 6,
+ "url": "http://clickreport.com/",
+ "companyId": "clickreport"
+ },
+ "clicks_thru_networks": {
+ "name": "Clicks Thru Networks",
+ "categoryId": 4,
+ "url": "http://www.clicksthrunetwork.com/",
+ "companyId": "clicksthrunetwork"
+ },
+ "clicksor": {
+ "name": "Clicksor",
+ "categoryId": 4,
+ "url": "http://clicksor.com/",
+ "companyId": "clicksor"
+ },
+ "clicktale": {
+ "name": "ClickTale",
+ "categoryId": 6,
+ "url": "http://www.clicktale.com/",
+ "companyId": "clicktale"
+ },
+ "clicktripz": {
+ "name": "ClickTripz",
+ "categoryId": 4,
+ "url": "https://www.clicktripz.com",
+ "companyId": "clicktripz"
+ },
+ "clickwinks": {
+ "name": "Clickwinks",
+ "categoryId": 4,
+ "url": "http://www.clickwinks.com/",
+ "companyId": "clickwinks"
+ },
+ "clicky": {
+ "name": "Clicky",
+ "categoryId": 6,
+ "url": "http://getclicky.com/",
+ "companyId": "clicky"
+ },
+ "clickyab": {
+ "name": "Clickyab",
+ "categoryId": 4,
+ "url": "https://www.clickyab.com/",
+ "companyId": "clickyab"
+ },
+ "clicmanager": {
+ "name": "ClicManager",
+ "categoryId": 4,
+ "url": "http://www.clicmanager.fr/",
+ "companyId": "clicmanager"
+ },
+ "clip_syndicate": {
+ "name": "Clip Syndicate",
+ "categoryId": 4,
+ "url": "http://www.clipsyndicate.com/",
+ "companyId": "clip_syndicate"
+ },
+ "clixgalore": {
+ "name": "clixGalore",
+ "categoryId": 4,
+ "url": "http://www.clixgalore.com/",
+ "companyId": "clixgalore"
+ },
+ "clixmetrix": {
+ "name": "ClixMetrix",
+ "categoryId": 4,
+ "url": "http://www.clixmetrix.com/",
+ "companyId": "clixmedia"
+ },
+ "clixsense": {
+ "name": "ClixSense",
+ "categoryId": 4,
+ "url": "http://www.clixsense.com/",
+ "companyId": "clixsense"
+ },
+ "cloud-media.fr": {
+ "name": "CloudMedia",
+ "categoryId": 4,
+ "url": "https://cloudmedia.fr/",
+ "companyId": null
+ },
+ "cloudflare": {
+ "name": "CloudFlare",
+ "categoryId": 9,
+ "url": "https://www.cloudflare.com/",
+ "companyId": "cloudflare"
+ },
+ "cloudimage.io": {
+ "name": "Cloudimage.io",
+ "categoryId": 9,
+ "url": "https://www.cloudimage.io/en/home",
+ "companyId": "scaleflex_sas"
+ },
+ "cloudinary": {
+ "name": "Cloudinary",
+ "categoryId": 9,
+ "url": "https://cloudinary.com/",
+ "companyId": null
+ },
+ "clove_network": {
+ "name": "Clove Network",
+ "categoryId": 4,
+ "url": "http://www.clovenetwork.com/",
+ "companyId": "clove_network"
+ },
+ "clustrmaps": {
+ "name": "ClustrMaps",
+ "categoryId": 4,
+ "url": "http://www.clustrmaps.com/",
+ "companyId": "clustrmaps"
+ },
+ "cnbc": {
+ "name": "CNBC",
+ "categoryId": 8,
+ "url": "https://www.cnbc.com/",
+ "companyId": "nbcuniversal"
+ },
+ "cnetcontent.com": {
+ "name": "Cnetcontent",
+ "categoryId": 8,
+ "url": "http://cnetcontent.com/",
+ "companyId": "cbs_interactive"
+ },
+ "cnstats": {
+ "name": "CNStats",
+ "categoryId": 6,
+ "url": "http://cnstats.ru/",
+ "companyId": "cnstats"
+ },
+ "cnzz.com": {
+ "name": "Umeng",
+ "categoryId": 6,
+ "url": "http://www.umeng.com/",
+ "companyId": "umeng"
+ },
+ "coadvertise": {
+ "name": "COADVERTISE",
+ "categoryId": 4,
+ "url": "http://www.coadvertise.com/",
+ "companyId": "coadvertise"
+ },
+ "cobrowser": {
+ "name": "CoBrowser",
+ "categoryId": 2,
+ "url": "https://www.cobrowser.net/",
+ "companyId": "cobrowser.net"
+ },
+ "codeonclick.com": {
+ "name": "codeonclick.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "cogocast": {
+ "name": "CogoCast",
+ "categoryId": 4,
+ "url": "http://www.cogocast.com",
+ "companyId": "cogocast"
+ },
+ "coin_have": {
+ "name": "Coin Have",
+ "categoryId": 4,
+ "url": "https://coin-have.com/",
+ "companyId": "coin_have"
+ },
+ "coin_traffic": {
+ "name": "Coin Traffic",
+ "categoryId": 2,
+ "url": "https://cointraffic.io/",
+ "companyId": "coin_traffic"
+ },
+ "coinhive": {
+ "name": "Coinhive",
+ "categoryId": 8,
+ "url": "https://coinhive.com/",
+ "companyId": "coinhive"
+ },
+ "coinurl": {
+ "name": "CoinURL",
+ "categoryId": 4,
+ "url": "https://coinurl.com/",
+ "companyId": "coinurl"
+ },
+ "coll1onf.com": {
+ "name": "coll1onf.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "coll2onf.com": {
+ "name": "coll2onf.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "collarity": {
+ "name": "Collarity",
+ "categoryId": 4,
+ "url": "http://www.collarity.com/",
+ "companyId": "collarity"
+ },
+ "columbia_online": {
+ "name": "Columbia Online",
+ "categoryId": 4,
+ "url": "https://www.colombiaonline.com/",
+ "companyId": "columbia_online"
+ },
+ "combotag": {
+ "name": "ComboTag",
+ "categoryId": 4,
+ "url": "https://www.combotag.com/",
+ "companyId": null
+ },
+ "comcast_technology_solutions": {
+ "name": "Comcast Technology Solutions",
+ "categoryId": 0,
+ "url": "https://www.comcasttechnologysolutions.com/",
+ "companyId": "comcast_technology_solutions"
+ },
+ "comm100": {
+ "name": "Comm100",
+ "categoryId": 2,
+ "url": "http://www.comm100.com/",
+ "companyId": "comm100"
+ },
+ "commerce_sciences": {
+ "name": "Commerce Sciences",
+ "categoryId": 4,
+ "url": "http://commercesciences.com/",
+ "companyId": "commerce_sciences"
+ },
+ "commercehub": {
+ "name": "CommerceHub",
+ "categoryId": 4,
+ "url": "http://www.mercent.com/",
+ "companyId": "commercehub"
+ },
+ "commercialvalue.org": {
+ "name": "commercialvalue.org",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "commission_junction": {
+ "name": "CJ Affiliate",
+ "categoryId": 4,
+ "url": "http://www.cj.com/",
+ "companyId": "conversant"
+ },
+ "communicator_corp": {
+ "name": "Communicator Corp",
+ "categoryId": 4,
+ "url": "http://www.communicatorcorp.com/",
+ "companyId": "communicator_corp"
+ },
+ "communigator": {
+ "name": "CommuniGator",
+ "categoryId": 6,
+ "url": "http://www.wowanalytics.co.uk/",
+ "companyId": "communigator"
+ },
+ "competexl": {
+ "name": "CompeteXL",
+ "categoryId": 6,
+ "url": "http://www.compete.com/help/s12",
+ "companyId": "wpp"
+ },
+ "complex_media_network": {
+ "name": "Complex Media",
+ "categoryId": 4,
+ "url": "https://www.complex.com/",
+ "companyId": "verizon"
+ },
+ "comprigo": {
+ "name": "comprigo",
+ "categoryId": 12,
+ "url": "https://www.comprigo.com/",
+ "companyId": null
+ },
+ "comscore": {
+ "name": "ComScore, Inc.",
+ "categoryId": 6,
+ "url": "https://www.comscore.com/",
+ "companyId": "comscore"
+ },
+ "conative.de": {
+ "name": "CoNative",
+ "categoryId": 4,
+ "url": "http://www.conative.de/",
+ "companyId": null
+ },
+ "condenastdigital.com": {
+ "name": "Condé Nast Digital",
+ "categoryId": 8,
+ "url": "http://www.condenast.com/",
+ "companyId": "conde_nast"
+ },
+ "conduit": {
+ "name": "Conduit",
+ "categoryId": 4,
+ "url": "http://www.conduit.com/",
+ "companyId": "conduit"
+ },
+ "confirmit": {
+ "name": "Confirmit",
+ "categoryId": 4,
+ "url": "http://confirmit.com/",
+ "companyId": "confirmit"
+ },
+ "congstar.de": {
+ "name": "congstar.de",
+ "categoryId": 4,
+ "url": null,
+ "companyId": null
+ },
+ "connatix.com": {
+ "name": "Connatix",
+ "categoryId": 4,
+ "url": "https://connatix.com/",
+ "companyId": "connatix"
+ },
+ "connectad": {
+ "name": "ConnectAd",
+ "categoryId": 4,
+ "url": "https://connectad.io/",
+ "companyId": "connectad"
+ },
+ "connecto": {
+ "name": "Connecto",
+ "categoryId": 6,
+ "url": "http://www.connecto.io/",
+ "companyId": "connecto"
+ },
+ "connexity": {
+ "name": "Connexity",
+ "categoryId": 4,
+ "url": "http://www.connexity.com",
+ "companyId": "shopzilla"
+ },
+ "connextra": {
+ "name": "Connextra",
+ "categoryId": 4,
+ "url": "http://connextra.com/",
+ "companyId": "connextra"
+ },
+ "constant_contact": {
+ "name": "Constant Contact",
+ "categoryId": 4,
+ "url": "http://www.constantcontact.com/index.jsp",
+ "companyId": "constant_contact"
+ },
+ "consumable": {
+ "name": "Consumable",
+ "categoryId": 4,
+ "url": "http://consumable.com/index.html",
+ "companyId": "giftconnect"
+ },
+ "contact_at_once": {
+ "name": "Contact At Once!",
+ "categoryId": 2,
+ "url": "http://www.contactatonce.com/",
+ "companyId": "contact_at_once!"
+ },
+ "contact_impact": {
+ "name": "Contact Impact",
+ "categoryId": 4,
+ "url": "https://www.contactimpact.de/",
+ "companyId": "axel_springer"
+ },
+ "contactme": {
+ "name": "ContactMe",
+ "categoryId": 4,
+ "url": "http://www.contactme.com",
+ "companyId": "contactme"
+ },
+ "contaxe": {
+ "name": "Contaxe",
+ "categoryId": 5,
+ "url": "http://www.contaxe.com/",
+ "companyId": "contaxe"
+ },
+ "content.ad": {
+ "name": "Content.ad",
+ "categoryId": 4,
+ "url": "https://www.content.ad/",
+ "companyId": "content.ad"
+ },
+ "content_insights": {
+ "name": "Content Insights",
+ "categoryId": 6,
+ "url": "https://contentinsights.com/",
+ "companyId": "content_insights"
+ },
+ "contentexchange.me": {
+ "name": "Content Exchange",
+ "categoryId": 6,
+ "url": "https://www.contentexchange.me/",
+ "companyId": "i.r.v."
+ },
+ "contentful_gmbh": {
+ "name": "Contentful GmbH",
+ "categoryId": 9,
+ "url": "https://www.contentful.com/",
+ "companyId": "contentful_gmbh"
+ },
+ "contentpass": {
+ "name": "ContentPass",
+ "categoryId": 6,
+ "url": "https://www.contentpass.de/",
+ "companyId": "contentpass"
+ },
+ "contentsquare.net": {
+ "name": "ContentSquare",
+ "categoryId": 4,
+ "url": "https://www.contentsquare.com/",
+ "companyId": "content_square"
+ },
+ "contentwrx": {
+ "name": "Contentwrx",
+ "categoryId": 6,
+ "url": "http://contentwrx.com/",
+ "companyId": "contentwrx"
+ },
+ "context": {
+ "name": "C|ON|TEXT",
+ "categoryId": 4,
+ "url": "http://c-on-text.com",
+ "companyId": "c_on_text"
+ },
+ "context.ad": {
+ "name": "Context.ad",
+ "categoryId": 4,
+ "url": "http://contextad.pl/",
+ "companyId": "context.ad"
+ },
+ "continum_net": {
+ "name": "continum.net",
+ "categoryId": 10,
+ "url": "http://continum.net/",
+ "companyId": null
+ },
+ "contribusource": {
+ "name": "Contribusource",
+ "categoryId": 4,
+ "url": "https://www.contribusource.com/",
+ "companyId": "contribusource"
+ },
+ "convergetrack": {
+ "name": "ConvergeTrack",
+ "categoryId": 6,
+ "url": "http://www.convergedirect.com/technology/convergetrack.shtml",
+ "companyId": "convergedirect"
+ },
+ "conversant": {
+ "name": "Conversant",
+ "categoryId": 4,
+ "url": "https://www.conversantmedia.eu/",
+ "companyId": "conversant"
+ },
+ "conversio": {
+ "name": "CM Commerce",
+ "categoryId": 6,
+ "url": "https://cm-commerce.com/",
+ "companyId": "conversio"
+ },
+ "conversion_logic": {
+ "name": "Conversion Logic",
+ "categoryId": 6,
+ "url": "http://www.conversionlogic.com/",
+ "companyId": "conversion_logic"
+ },
+ "conversionruler": {
+ "name": "ConversionRuler",
+ "categoryId": 4,
+ "url": "http://www.conversionruler.com/",
+ "companyId": "market_ruler"
+ },
+ "conversions_box": {
+ "name": "Conversions Box",
+ "categoryId": 7,
+ "url": "http://www.conversionsbox.com/",
+ "companyId": "conversions_box"
+ },
+ "conversions_on_demand": {
+ "name": "Conversions On Demand",
+ "categoryId": 5,
+ "url": "https://www.conversionsondemand.com/",
+ "companyId": "conversions_on_demand"
+ },
+ "conversive": {
+ "name": "Conversive",
+ "categoryId": 4,
+ "url": "http://www.conversive.nl/",
+ "companyId": "conversive"
+ },
+ "convert": {
+ "name": "Convert",
+ "categoryId": 6,
+ "url": "https://www.convert.com/",
+ "companyId": "convert"
+ },
+ "convertfox": {
+ "name": "ConvertFox",
+ "categoryId": 2,
+ "url": "https://convertfox.com/",
+ "companyId": "convertfox"
+ },
+ "convertro": {
+ "name": "Convertro",
+ "categoryId": 4,
+ "url": "http://www.convertro.com/",
+ "companyId": "verizon"
+ },
+ "conviva": {
+ "name": "Conviva",
+ "categoryId": 6,
+ "url": "http://www.conviva.com/",
+ "companyId": "conviva"
+ },
+ "cookie_consent": {
+ "name": "Cookie Consent",
+ "categoryId": 5,
+ "url": "https://silktide.com/",
+ "companyId": "silktide"
+ },
+ "cookie_script": {
+ "name": "Cookie Script",
+ "categoryId": 5,
+ "url": "https://cookie-script.com/",
+ "companyId": "cookie_script"
+ },
+ "cookiebot": {
+ "name": "Cookiebot",
+ "categoryId": 5,
+ "url": "https://www.cookiebot.com/en/",
+ "companyId": "cybot"
+ },
+ "cookieq": {
+ "name": "CookieQ",
+ "categoryId": 5,
+ "url": "http://cookieq.com/CookieQ",
+ "companyId": "baycloud"
+ },
+ "cooliris": {
+ "name": "Cooliris",
+ "categoryId": 2,
+ "url": "http://www.cooliris.com",
+ "companyId": "cooliris"
+ },
+ "copacet": {
+ "name": "Copacet",
+ "categoryId": 4,
+ "url": "http://copacet.com/",
+ "companyId": "copacet"
+ },
+ "coreaudience": {
+ "name": "CoreAudience",
+ "categoryId": 4,
+ "url": "http://www.redaril.com/",
+ "companyId": "hearst"
+ },
+ "coremotives": {
+ "name": "CoreMotives",
+ "categoryId": 4,
+ "url": "http://coremotives.com/",
+ "companyId": "coremotives"
+ },
+ "coull": {
+ "name": "Coull",
+ "categoryId": 4,
+ "url": "http://coull.com/",
+ "companyId": "coull"
+ },
+ "cpm_rocket": {
+ "name": "CPM Rocket",
+ "categoryId": 4,
+ "url": "http://www.cpmrocket.com/",
+ "companyId": "cpm_rocket"
+ },
+ "cpmprofit": {
+ "name": "CPMProfit",
+ "categoryId": 4,
+ "url": "http://www.cpmprofit.com/",
+ "companyId": "cpmprofit"
+ },
+ "cpmstar": {
+ "name": "CPMStar",
+ "categoryId": 4,
+ "url": "http://www.cpmstar.com",
+ "companyId": "cpmstar"
+ },
+ "cpx.to": {
+ "name": "Captify",
+ "categoryId": 4,
+ "url": "https://www.captify.co.uk/",
+ "companyId": "captify"
+ },
+ "cq_counter": {
+ "name": "CQ Counter",
+ "categoryId": 6,
+ "url": "http://www.cqcounter.com/",
+ "companyId": "cq_counter"
+ },
+ "cqq5id8n.com": {
+ "name": "cqq5id8n.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "cquotient.com": {
+ "name": "CQuotient",
+ "categoryId": 6,
+ "url": "https://www.demandware.com/#cquotient",
+ "companyId": "salesforce"
+ },
+ "craftkeys": {
+ "name": "CraftKeys",
+ "categoryId": 4,
+ "url": "http://craftkeys.com/",
+ "companyId": "craftkeys"
+ },
+ "crakmedia_network": {
+ "name": "Crakmedia Network",
+ "categoryId": 4,
+ "url": "http://crakmedia.com/",
+ "companyId": "crakmedia_network"
+ },
+ "crankyads": {
+ "name": "CrankyAds",
+ "categoryId": 4,
+ "url": "http://www.crankyads.com",
+ "companyId": "crankyads"
+ },
+ "crazy_egg": {
+ "name": "Crazy Egg",
+ "categoryId": 6,
+ "url": "http://crazyegg.com/",
+ "companyId": "crazy_egg"
+ },
+ "creafi": {
+ "name": "Creafi",
+ "categoryId": 4,
+ "url": "http://www.creafi.com/en/home/",
+ "companyId": "crazy4media"
+ },
+ "createjs": {
+ "name": "CreateJS",
+ "categoryId": 9,
+ "url": "https://createjs.com/",
+ "companyId": null
+ },
+ "creative_commons": {
+ "name": "Creative Commons",
+ "categoryId": 8,
+ "url": "https://creativecommons.org/",
+ "companyId": "creative_commons_corp"
+ },
+ "crimsonhexagon_com": {
+ "name": "Brandwatch",
+ "categoryId": 6,
+ "url": "https://www.brandwatch.com/",
+ "companyId": "brandwatch"
+ },
+ "crimtan": {
+ "name": "Crimtan",
+ "categoryId": 4,
+ "url": "http://www.crimtan.com/",
+ "companyId": "crimtan"
+ },
+ "crisp": {
+ "name": "Crisp",
+ "categoryId": 2,
+ "url": "https://crisp.chat/",
+ "companyId": "crisp"
+ },
+ "criteo": {
+ "name": "Criteo",
+ "categoryId": 4,
+ "url": "http://www.criteo.com/",
+ "companyId": "criteo"
+ },
+ "crm4d": {
+ "name": "CRM4D",
+ "categoryId": 6,
+ "url": "https://crm4d.com/",
+ "companyId": "crm4d"
+ },
+ "crossengage": {
+ "name": "CrossEngage",
+ "categoryId": 6,
+ "url": "https://www.crossengage.io/",
+ "companyId": "crossengage"
+ },
+ "crosspixel": {
+ "name": "Cross Pixel",
+ "categoryId": 4,
+ "url": "http://crosspixel.net/",
+ "companyId": "cross_pixel"
+ },
+ "crosssell.info": {
+ "name": "econda Cross Sell",
+ "categoryId": 4,
+ "url": "https://www.econda.de/en/solutions/personalization/cross-sell/",
+ "companyId": "econda"
+ },
+ "crossss": {
+ "name": "Crossss",
+ "categoryId": 4,
+ "url": "http://crossss.ru/",
+ "companyId": "crossss"
+ },
+ "crowd_ignite": {
+ "name": "Crowd Ignite",
+ "categoryId": 4,
+ "url": "http://get.crowdignite.com/",
+ "companyId": "gorilla_nation_media"
+ },
+ "crowd_science": {
+ "name": "Crowd Science",
+ "categoryId": 4,
+ "url": "http://www.crowdscience.com/",
+ "companyId": "crowd_science"
+ },
+ "crowdprocess": {
+ "name": "CrowdProcess",
+ "categoryId": 2,
+ "url": "https://crowdprocess.com",
+ "companyId": "crowdprocess"
+ },
+ "crowdynews": {
+ "name": "Crowdynews",
+ "categoryId": 7,
+ "url": "http://www.crowdynews.com/",
+ "companyId": "crowdynews"
+ },
+ "crownpeak": {
+ "name": "Crownpeak",
+ "categoryId": 5,
+ "url": "https://www.crownpeak.com/",
+ "companyId": "crownpeak"
+ },
+ "cryptoloot_miner": {
+ "name": "CryptoLoot Miner",
+ "categoryId": 4,
+ "url": "https://crypto-loot.com/",
+ "companyId": "cryptoloot"
+ },
+ "ctnetwork": {
+ "name": "CTnetwork",
+ "categoryId": 4,
+ "url": "http://ctnetwork.hu/",
+ "companyId": "ctnetwork"
+ },
+ "ctrlshift": {
+ "name": "CtrlShift",
+ "categoryId": 4,
+ "url": "http://www.adzcentral.com/",
+ "companyId": "ctrlshift"
+ },
+ "cubed": {
+ "name": "Cubed",
+ "categoryId": 6,
+ "url": "http://withcubed.com/",
+ "companyId": "cubed_attribution"
+ },
+ "cuelinks": {
+ "name": "CueLinks",
+ "categoryId": 4,
+ "url": "http://www.cuelinks.com/",
+ "companyId": "cuelinks"
+ },
+ "cup_interactive": {
+ "name": "Cup Interactive",
+ "categoryId": 4,
+ "url": "http://www.cupinteractive.com/",
+ "companyId": "cup_interactive"
+ },
+ "curse.com": {
+ "name": "Curse",
+ "categoryId": 8,
+ "url": "https://www.curse.com/",
+ "companyId": "amazon_associates"
+ },
+ "cursecdn.com": {
+ "name": "Curse CDN",
+ "categoryId": 9,
+ "url": "https://www.curse.com/",
+ "companyId": "amazon_associates"
+ },
+ "customer.io": {
+ "name": "Customer.io",
+ "categoryId": 2,
+ "url": "http://www.customer.io/",
+ "companyId": "customer.io"
+ },
+ "customerly": {
+ "name": "Customerly",
+ "categoryId": 2,
+ "url": "https://www.customerly.io/",
+ "companyId": "customerly"
+ },
+ "cxense": {
+ "name": "cXense",
+ "categoryId": 4,
+ "url": "http://www.cxense.com/",
+ "companyId": "cxense"
+ },
+ "cxo.name": {
+ "name": "Chip Analytics",
+ "categoryId": 6,
+ "url": "http://www.chip.de/",
+ "companyId": null
+ },
+ "cyber_wing": {
+ "name": "Cyber Wing",
+ "categoryId": 4,
+ "url": "http://www.cyberwing.co.jp/",
+ "companyId": "cyberwing"
+ },
+ "cybersource": {
+ "name": "CyberSource",
+ "categoryId": 6,
+ "url": "https://www.cybersource.com/en-gb.html",
+ "companyId": "visa"
+ },
+ "cygnus": {
+ "name": "Cygnus",
+ "categoryId": 4,
+ "url": "http://www.cygnus.com/",
+ "companyId": "cygnus"
+ },
+ "da-ads.com": {
+ "name": "da-ads.com",
+ "categoryId": 4,
+ "url": null,
+ "companyId": null
+ },
+ "dailymail.co.uk": {
+ "name": "Daily Mail",
+ "categoryId": 8,
+ "url": "http://www.dailymail.co.uk/home/index.html",
+ "companyId": "dmg_media"
+ },
+ "dailymotion": {
+ "name": "Dailymotion",
+ "categoryId": 8,
+ "url": "https://vivendi.com/",
+ "companyId": "vivendi"
+ },
+ "dailymotion_advertising": {
+ "name": "Dailymotion Advertising",
+ "categoryId": 4,
+ "url": "http://advertising.dailymotion.com/",
+ "companyId": "vivendi"
+ },
+ "daisycon": {
+ "name": "Daisycon",
+ "categoryId": 4,
+ "url": "http://www.daisycon.com",
+ "companyId": "daisycon"
+ },
+ "dantrack.net": {
+ "name": "DANtrack",
+ "categoryId": 4,
+ "url": "http://media.dantrack.net/privacy/",
+ "companyId": "dentsu_aegis_network"
+ },
+ "darwin_marketing": {
+ "name": "Darwin Marketing",
+ "categoryId": 4,
+ "url": "http://www.darwinmarketing.com/",
+ "companyId": "darwin_marketing"
+ },
+ "dashboard_ad": {
+ "name": "Dashboard Ad",
+ "categoryId": 4,
+ "url": "http://www.dashboardad.com/",
+ "companyId": "premium_access"
+ },
+ "datacaciques.com": {
+ "name": "DataCaciques",
+ "categoryId": 6,
+ "url": "http://www.datacaciques.com/",
+ "companyId": null
+ },
+ "datacoral": {
+ "name": "Datacoral",
+ "categoryId": 4,
+ "url": "https://datacoral.com/",
+ "companyId": "datacoral"
+ },
+ "datacrushers": {
+ "name": "Datacrushers",
+ "categoryId": 6,
+ "url": "https://www.datacrushers.com/",
+ "companyId": "datacrushers"
+ },
+ "datadome": {
+ "name": "DataDome",
+ "categoryId": 6,
+ "url": "https://datadome.co/",
+ "companyId": "datadome"
+ },
+ "datalicious_datacollector": {
+ "name": "Datalicious DataCollector",
+ "categoryId": 6,
+ "url": "http://www.datalicious.com/",
+ "companyId": "datalicious"
+ },
+ "datalicious_supertag": {
+ "name": "Datalicious SuperTag",
+ "categoryId": 5,
+ "url": "http://www.datalicious.com/",
+ "companyId": "datalicious"
+ },
+ "datalogix": {
+ "name": "Datalogix",
+ "categoryId": 4,
+ "url": "https://www.oracle.com/corporate/acquisitions/datalogix/",
+ "companyId": "oracle"
+ },
+ "datamind.ru": {
+ "name": "DataMind",
+ "categoryId": 4,
+ "url": "http://datamind.ru/",
+ "companyId": "datamind"
+ },
+ "datatables": {
+ "name": "DataTables",
+ "categoryId": 2,
+ "url": "https://datatables.net/",
+ "companyId": null
+ },
+ "datawrkz": {
+ "name": "Datawrkz",
+ "categoryId": 4,
+ "url": "http://datawrkz.com/",
+ "companyId": "datawrkz"
+ },
+ "dataxpand": {
+ "name": "Dataxpand",
+ "categoryId": 4,
+ "url": "http://dataxpand.com/",
+ "companyId": "dataxpand"
+ },
+ "dataxu": {
+ "name": "DataXu",
+ "categoryId": 4,
+ "url": "http://www.dataxu.com/",
+ "companyId": "dataxu"
+ },
+ "datds.net": {
+ "name": "datds.net",
+ "categoryId": 12,
+ "url": null,
+ "companyId": null
+ },
+ "datonics": {
+ "name": "Datonics",
+ "categoryId": 4,
+ "url": "http://datonics.com/",
+ "companyId": "almondnet"
+ },
+ "datran": {
+ "name": "Pulsepoint",
+ "categoryId": 4,
+ "url": "https://www.pulsepoint.com/",
+ "companyId": "pulsepoint_ad_exchange"
+ },
+ "davebestdeals.com": {
+ "name": "davebestdeals.com",
+ "categoryId": 12,
+ "url": null,
+ "companyId": null
+ },
+ "dawandastatic.com": {
+ "name": "Dawanda CDN",
+ "categoryId": 8,
+ "url": "https://dawanda.com/",
+ "companyId": null
+ },
+ "dc_stormiq": {
+ "name": "DC StormIQ",
+ "categoryId": 4,
+ "url": "http://www.dc-storm.com/",
+ "companyId": "dc_storm"
+ },
+ "dcbap.com": {
+ "name": "dcbap.com",
+ "categoryId": 12,
+ "url": null,
+ "companyId": null
+ },
+ "dcmn.com": {
+ "name": "DCMN",
+ "categoryId": 4,
+ "url": "https://www.dcmn.com/",
+ "companyId": null
+ },
+ "de_persgroep": {
+ "name": "De Persgroep",
+ "categoryId": 4,
+ "url": "https://www.persgroep.nl",
+ "companyId": "de_persgroep"
+ },
+ "deadline_funnel": {
+ "name": "Deadline Funnel",
+ "categoryId": 6,
+ "url": "https://deadlinefunnel.com/",
+ "companyId": "deadline_funnel"
+ },
+ "dealer.com": {
+ "name": "Dealer.com",
+ "categoryId": 6,
+ "url": "http://www.dealer.com/",
+ "companyId": "dealer.com"
+ },
+ "decibel_insight": {
+ "name": "Decibel Insight",
+ "categoryId": 6,
+ "url": "https://www.decibelinsight.com/",
+ "companyId": "decibel_insight"
+ },
+ "dedicated_media": {
+ "name": "Dedicated Media",
+ "categoryId": 4,
+ "url": "http://www.dedicatedmedia.com/",
+ "companyId": "dedicated_media"
+ },
+ "deep.bi": {
+ "name": "Deep.BI",
+ "categoryId": 6,
+ "url": "http://www.deep.bi/#",
+ "companyId": "deep.bi"
+ },
+ "deepintent.com": {
+ "name": "DeepIntent",
+ "categoryId": 4,
+ "url": "https://www.deepintent.com/",
+ "companyId": "deep_intent"
+ },
+ "defpush.com": {
+ "name": "defpush.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "deichmann.com": {
+ "name": "deichmann.com",
+ "categoryId": 4,
+ "url": null,
+ "companyId": null
+ },
+ "delacon": {
+ "name": "Delacon",
+ "categoryId": 6,
+ "url": "http://www.delacon.com.au/",
+ "companyId": "delacon"
+ },
+ "delivr": {
+ "name": "Delivr",
+ "categoryId": 6,
+ "url": "http://www.percentmobile.com/",
+ "companyId": "delivr"
+ },
+ "delta_projects": {
+ "name": "Delta Projects",
+ "categoryId": 4,
+ "url": "http://www.adaction.se/",
+ "companyId": "delta_projects"
+ },
+ "deluxe": {
+ "name": "Deluxe",
+ "categoryId": 6,
+ "url": "https://ww.deluxe.com/",
+ "companyId": "deluxe"
+ },
+ "delve_networks": {
+ "name": "Delve Networks",
+ "categoryId": 7,
+ "url": "http://www.delvenetworks.com/",
+ "companyId": "limelight_networks"
+ },
+ "demandbase": {
+ "name": "Demandbase",
+ "categoryId": 4,
+ "url": "http://www.demandbase.com/",
+ "companyId": "demandbase"
+ },
+ "demandmedia": {
+ "name": "DemandMedia",
+ "categoryId": 4,
+ "url": "http://www.demandmedia.com",
+ "companyId": "leaf_group"
+ },
+ "deqwas": {
+ "name": "Deqwas",
+ "categoryId": 6,
+ "url": "http://www.deqwas.com/",
+ "companyId": "deqwas"
+ },
+ "devatics": {
+ "name": "Devatics",
+ "categoryId": 2,
+ "url": "http://www.devatics.co.uk/",
+ "companyId": "devatics"
+ },
+ "developer_media": {
+ "name": "Developer Media",
+ "categoryId": 4,
+ "url": "http://www.developermedia.com/",
+ "companyId": "developer_media"
+ },
+ "deviantart.net": {
+ "name": "deviantart.net",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "dex_platform": {
+ "name": "DEX Platform",
+ "categoryId": 4,
+ "url": "http://blueadvertise.com/",
+ "companyId": "dex_platform"
+ },
+ "dgm": {
+ "name": "dgm",
+ "categoryId": 4,
+ "url": "http://www.dgm-au.com/",
+ "companyId": "apd"
+ },
+ "dialogtech": {
+ "name": "Dialogtech",
+ "categoryId": 6,
+ "url": "https://www.dialogtech.com/",
+ "companyId": "dialogtech"
+ },
+ "dianomi": {
+ "name": "Dianomi",
+ "categoryId": 4,
+ "url": "http://www.dianomi.com/cms/",
+ "companyId": "dianomi"
+ },
+ "didit_blizzard": {
+ "name": "Didit Blizzard",
+ "categoryId": 4,
+ "url": "http://www.didit.com/blizzard",
+ "companyId": "didit"
+ },
+ "didit_maestro": {
+ "name": "Didit Maestro",
+ "categoryId": 4,
+ "url": "http://www.didit.com/maestro",
+ "companyId": "didit"
+ },
+ "didomi": {
+ "name": "Didomi",
+ "categoryId": 5,
+ "url": "https://www.didomi.io/en/",
+ "companyId": "didomi"
+ },
+ "digg_widget": {
+ "name": "Digg Widget",
+ "categoryId": 2,
+ "url": "http://digg.com/apple/Digg_Widget",
+ "companyId": "buysellads.com"
+ },
+ "digicert_trust_seal": {
+ "name": "Digicert Trust Seal",
+ "categoryId": 5,
+ "url": "http://www.digicert.com/",
+ "companyId": "digicert"
+ },
+ "digidip": {
+ "name": "Digidip",
+ "categoryId": 4,
+ "url": "http://www.digidip.net/",
+ "companyId": "digidip"
+ },
+ "digiglitz": {
+ "name": "Digiglitz",
+ "categoryId": 6,
+ "url": "http://www.digiglitz.com/",
+ "companyId": "digiglitz"
+ },
+ "digilant": {
+ "name": "Digilant",
+ "categoryId": 4,
+ "url": "https://www.digilant.com/",
+ "companyId": "digilant"
+ },
+ "digioh": {
+ "name": "Digioh",
+ "categoryId": 4,
+ "url": "https://digioh.com/",
+ "companyId": null
+ },
+ "digital.gov": {
+ "name": "Digital.gov",
+ "categoryId": 6,
+ "url": "https://digital.gov/",
+ "companyId": "us_government"
+ },
+ "digital_control_room": {
+ "name": "Digital Control Room",
+ "categoryId": 5,
+ "url": "http://www.cookiereports.com/",
+ "companyId": "digital_control_room"
+ },
+ "digital_nomads": {
+ "name": "Digital Nomads",
+ "categoryId": 4,
+ "url": "http://dnomads.net/",
+ "companyId": null
+ },
+ "digital_remedy": {
+ "name": "Digital Remedy",
+ "categoryId": 4,
+ "url": "https://www.digitalremedy.com/",
+ "companyId": "digital_remedy"
+ },
+ "digital_river": {
+ "name": "Digital River",
+ "categoryId": 4,
+ "url": "http://corporate.digitalriver.com",
+ "companyId": "digital_river"
+ },
+ "digital_window": {
+ "name": "Digital Window",
+ "categoryId": 4,
+ "url": "http://www.digitalwindow.com/",
+ "companyId": "axel_springer"
+ },
+ "digiteka": {
+ "name": "Digiteka",
+ "categoryId": 4,
+ "url": "http://digiteka.com/",
+ "companyId": "digiteka"
+ },
+ "digitrust": {
+ "name": "DigiTrust",
+ "categoryId": 4,
+ "url": "http://www.digitru.st/",
+ "companyId": "iab"
+ },
+ "dihitt_badge": {
+ "name": "diHITT Badge",
+ "categoryId": 7,
+ "url": "http://www.dihitt.com.br/",
+ "companyId": "dihitt"
+ },
+ "dimml": {
+ "name": "DimML",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "direct_keyword_link": {
+ "name": "Direct Keyword Link",
+ "categoryId": 4,
+ "url": "http://www.keywordsconnect.com/",
+ "companyId": "direct_keyword_link"
+ },
+ "directadvert": {
+ "name": "Direct/ADVERT",
+ "categoryId": 4,
+ "url": "http://www.directadvert.ru/",
+ "companyId": "directadvert"
+ },
+ "directrev": {
+ "name": "DirectREV",
+ "categoryId": 4,
+ "url": "http://www.directrev.com/",
+ "companyId": "directrev"
+ },
+ "discord": {
+ "name": "Discord",
+ "categoryId": 2,
+ "url": "https://discordapp.com/",
+ "companyId": null
+ },
+ "display_block": {
+ "name": "display block",
+ "categoryId": 4,
+ "url": "https://www.displayblock.com/",
+ "companyId": "display_block"
+ },
+ "disqus": {
+ "name": "Disqus",
+ "categoryId": 1,
+ "url": "https://disqus.com/",
+ "companyId": "zeta"
+ },
+ "disqus_ads": {
+ "name": "Disqus Ads",
+ "categoryId": 4,
+ "url": "https://disqusads.com/",
+ "companyId": "zeta"
+ },
+ "distil_tag": {
+ "name": "Distil Networks",
+ "categoryId": 5,
+ "url": "https://www.distilnetworks.com/",
+ "companyId": "distil_networks"
+ },
+ "districtm.io": {
+ "name": "district m",
+ "categoryId": 4,
+ "url": "https://districtm.net/",
+ "companyId": "district_m"
+ },
+ "distroscale": {
+ "name": "Distroscale",
+ "categoryId": 6,
+ "url": "http://www.distroscale.com/",
+ "companyId": "distroscale"
+ },
+ "div.show": {
+ "name": "div.show",
+ "categoryId": 12,
+ "url": null,
+ "companyId": null
+ },
+ "diva": {
+ "name": "DiVa",
+ "categoryId": 6,
+ "url": "http://www.vertriebsassistent.de/",
+ "companyId": "diva"
+ },
+ "divvit": {
+ "name": "Divvit",
+ "categoryId": 6,
+ "url": "https://www.divvit.com/",
+ "companyId": "divvit"
+ },
+ "dm2": {
+ "name": "DM2",
+ "categoryId": 4,
+ "url": "http://digitalmediamanagement.com/",
+ "companyId": "digital_media_management"
+ },
+ "dmg_media": {
+ "name": "DMG Media",
+ "categoryId": 8,
+ "url": "https://www.dmgmedia.co.uk/",
+ "companyId": "dmgt"
+ },
+ "dmm": {
+ "name": "DMM",
+ "categoryId": 3,
+ "url": "http://www.dmm.co.jp",
+ "companyId": "dmm.r18"
+ },
+ "dmwd": {
+ "name": "DMWD",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "dockvine": {
+ "name": "dockvine",
+ "categoryId": 2,
+ "url": "https://www.dockvine.com",
+ "companyId": "dockvine"
+ },
+ "docler": {
+ "name": "Docler",
+ "categoryId": 0,
+ "url": "https://www.doclerholding.com/en/about/companies/33/",
+ "companyId": "docler_ip"
+ },
+ "dogannet": {
+ "name": "Dogannet",
+ "categoryId": 4,
+ "url": "http://s.dogannet.tv/",
+ "companyId": "dogannet"
+ },
+ "domodomain": {
+ "name": "DomoDomain",
+ "categoryId": 6,
+ "url": "http://www.domodomain.com/",
+ "companyId": "intelligencefocus"
+ },
+ "donationtools": {
+ "name": "iRobinHood",
+ "categoryId": 12,
+ "url": "http://www.irobinhood.org",
+ "companyId": null
+ },
+ "doofinder.com": {
+ "name": "doofinder",
+ "categoryId": 2,
+ "url": "https://www.doofinder.com/",
+ "companyId": null
+ },
+ "doorbell.io": {
+ "name": "Doorbell.io",
+ "categoryId": 5,
+ "url": "https://doorbell.io/",
+ "companyId": "doorbell.io"
+ },
+ "dotandmedia": {
+ "name": "DotAndMedia",
+ "categoryId": 4,
+ "url": "http://www.dotandmedia.com",
+ "companyId": "dotandmedia"
+ },
+ "dotmailer": {
+ "name": "dotMailer",
+ "categoryId": 2,
+ "url": "http://www.dotdigitalgroup.com/",
+ "companyId": "dotdigital_group"
+ },
+ "dotmetrics.net": {
+ "name": "Dotmetrics",
+ "categoryId": 6,
+ "url": "https://dotmetrics.net/",
+ "companyId": null
+ },
+ "dotomi": {
+ "name": "Dotomi",
+ "categoryId": 4,
+ "url": "http://www.dotomi.com/",
+ "companyId": "conversant"
+ },
+ "double.net": {
+ "name": "Double.net",
+ "categoryId": 4,
+ "url": "http://double.net/en/",
+ "companyId": "double.net"
+ },
+ "doubleclick": {
+ "name": "DoubleClick",
+ "categoryId": 4,
+ "url": "http://www.doubleclick.com",
+ "companyId": "google"
+ },
+ "doubleclick_ad_buyer": {
+ "name": "DoubleClick Ad Exchange-Buyer",
+ "categoryId": 4,
+ "url": "http://www.google.com",
+ "companyId": "google"
+ },
+ "doubleclick_bid_manager": {
+ "name": "DoubleClick Bid Manager",
+ "categoryId": 4,
+ "url": "http://www.invitemedia.com",
+ "companyId": "google"
+ },
+ "doubleclick_floodlight": {
+ "name": "DoubleClick Floodlight",
+ "categoryId": 4,
+ "url": "http://www.google.com/support/dfa/partner/bin/topic.py?topic=23943",
+ "companyId": "google"
+ },
+ "doubleclick_spotlight": {
+ "name": "DoubleClick Spotlight",
+ "categoryId": 4,
+ "url": "http://www.doubleclick.com/products/richmedia",
+ "companyId": "google"
+ },
+ "doubleclick_video_stats": {
+ "name": "Doubleclick Video Stats",
+ "categoryId": 4,
+ "url": "http://www.google.com",
+ "companyId": "google"
+ },
+ "doublepimp": {
+ "name": "DoublePimp",
+ "categoryId": 3,
+ "url": "http://www.doublepimp.com/",
+ "companyId": "doublepimp"
+ },
+ "doubleverify": {
+ "name": "DoubleVerify",
+ "categoryId": 4,
+ "url": "http://www.doubleverify.com/",
+ "companyId": "doubleverify"
+ },
+ "dratio": {
+ "name": "Dratio",
+ "categoryId": 6,
+ "url": "http://www.dratio.com/",
+ "companyId": "dratio"
+ },
+ "drawbridge": {
+ "name": "Drawbridge",
+ "categoryId": 4,
+ "url": "http://www.drawbrid.ge/",
+ "companyId": "drawbridge"
+ },
+ "dreamlab.pl": {
+ "name": "DreamLab.pl",
+ "categoryId": 4,
+ "url": "https://www.dreamlab.pl/",
+ "companyId": "onet.pl"
+ },
+ "drift": {
+ "name": "Drift",
+ "categoryId": 2,
+ "url": "https://www.drift.com/",
+ "companyId": "drift"
+ },
+ "drip": {
+ "name": "Drip",
+ "categoryId": 2,
+ "url": "https://www.getdrip.com",
+ "companyId": "drip"
+ },
+ "dropbox.com": {
+ "name": "Dropbox",
+ "categoryId": 2,
+ "url": "https://www.dropbox.com/",
+ "companyId": null
+ },
+ "dsnr_media_group": {
+ "name": "DSNR Media Group",
+ "categoryId": 4,
+ "url": "http://www.dsnrmg.com/",
+ "companyId": "dsnr_media_group"
+ },
+ "dsp_rambler": {
+ "name": "Rambler DSP",
+ "categoryId": 4,
+ "url": "http://dsp.rambler.ru/",
+ "companyId": "rambler"
+ },
+ "dstillery": {
+ "name": "Dstillery",
+ "categoryId": 4,
+ "url": "https://dstillery.com/",
+ "companyId": "dstillery"
+ },
+ "dtscout.com": {
+ "name": "DTScout",
+ "categoryId": 4,
+ "url": "http://www.dtscout.com/",
+ "companyId": "dtscout"
+ },
+ "dudamobile": {
+ "name": "DudaMobile",
+ "categoryId": 4,
+ "url": "https://www.dudamobile.com/",
+ "companyId": "dudamobile"
+ },
+ "dun_and_bradstreet": {
+ "name": "Dun and Bradstreet",
+ "categoryId": 6,
+ "url": "http://www.dnb.com/#",
+ "companyId": "dun_&_bradstreet"
+ },
+ "dwstat.cn": {
+ "name": "dwstat.cn",
+ "categoryId": 6,
+ "url": "http://www.dwstat.cn/",
+ "companyId": "dwstat"
+ },
+ "dynad": {
+ "name": "DynAd",
+ "categoryId": 4,
+ "url": "http://dynad.net/",
+ "companyId": "dynad"
+ },
+ "dynadmic": {
+ "name": "DynAdmic",
+ "categoryId": 4,
+ "url": null,
+ "companyId": null
+ },
+ "dynamic_1001_gmbh": {
+ "name": "Dynamic 1001 GmbH",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "dynamic_logic": {
+ "name": "Dynamic Logic",
+ "categoryId": 4,
+ "url": "http://www.dynamiclogic.com/",
+ "companyId": "millward_brown"
+ },
+ "dynamic_yield": {
+ "name": "Dynamic Yield",
+ "categoryId": 5,
+ "url": "https://www.dynamicyield.com/",
+ "companyId": "dynamic_yield"
+ },
+ "dynamic_yield_analytics": {
+ "name": "Dynamic Yield Analytics",
+ "categoryId": 6,
+ "url": "http://www.dynamicyield.com/",
+ "companyId": "dynamic_yield"
+ },
+ "dynata": {
+ "name": "Dynata",
+ "categoryId": 4,
+ "url": "http://hottraffic.nl/en",
+ "companyId": "dynata"
+ },
+ "dynatrace.com": {
+ "name": "Dynatrace",
+ "categoryId": 6,
+ "url": "https://www.dynatrace.com/",
+ "companyId": "thoma_bravo"
+ },
+ "dyncdn.me": {
+ "name": "dyncdn.me",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "e-planning": {
+ "name": "e-planning",
+ "categoryId": 4,
+ "url": "http://www.e-planning.net/",
+ "companyId": "e-planning"
+ },
+ "eadv": {
+ "name": "eADV",
+ "categoryId": 4,
+ "url": "http://eadv.it/",
+ "companyId": "eadv"
+ },
+ "eanalyzer.de": {
+ "name": "eanalyzer.de",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "early_birds": {
+ "name": "Early Birds",
+ "categoryId": 4,
+ "url": "http://www.early-birds.fr/",
+ "companyId": "early_birds"
+ },
+ "earnify": {
+ "name": "Earnify",
+ "categoryId": 4,
+ "url": "https://www.earnify.com/",
+ "companyId": "earnify"
+ },
+ "earnify_tracker": {
+ "name": "Earnify Tracker",
+ "categoryId": 6,
+ "url": "https://www.earnify.com/",
+ "companyId": "earnify"
+ },
+ "easyads": {
+ "name": "EasyAds",
+ "categoryId": 4,
+ "url": "https://easyads.bg/",
+ "companyId": "easyads"
+ },
+ "easylist_club": {
+ "name": "easylist.club",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "ebay": {
+ "name": "eBay Stats",
+ "categoryId": 4,
+ "url": "https://partnernetwork.ebay.com/",
+ "companyId": "ebay_partner_network"
+ },
+ "ebay_korea": {
+ "name": "eBay Korea",
+ "categoryId": 4,
+ "url": "http://www.ebay.com/",
+ "companyId": "ebay"
+ },
+ "ebay_partner_network": {
+ "name": "eBay Partner Network",
+ "categoryId": 4,
+ "url": "https://www.ebaypartnernetwork.com/files/hub/en-US/index.html",
+ "companyId": "ebay_partner_network"
+ },
+ "ebuzzing": {
+ "name": "eBuzzing",
+ "categoryId": 4,
+ "url": "http://www.ebuzzing.com/",
+ "companyId": "ebuzzing"
+ },
+ "echo": {
+ "name": "Echo",
+ "categoryId": 4,
+ "url": "http://js-kit.com/",
+ "companyId": "echo"
+ },
+ "eclick": {
+ "name": "eClick",
+ "categoryId": 4,
+ "url": "http://eclick.vn",
+ "companyId": "eclick"
+ },
+ "econda": {
+ "name": "Econda",
+ "categoryId": 6,
+ "url": "http://www.econda.de/",
+ "companyId": "econda"
+ },
+ "ecotag": {
+ "name": "ecotag",
+ "categoryId": 4,
+ "url": "http://www.eco-tag.jp/",
+ "companyId": "ecotag"
+ },
+ "edigitalresearch": {
+ "name": "eDigitalResearch",
+ "categoryId": 4,
+ "url": "http://www.edigitalresearch.com/",
+ "companyId": "edigitalresearch"
+ },
+ "effective_measure": {
+ "name": "Effective Measure",
+ "categoryId": 4,
+ "url": "http://www.effectivemeasure.com/",
+ "companyId": "effective_measure"
+ },
+ "effiliation": {
+ "name": "Effiliation",
+ "categoryId": 4,
+ "url": "http://www.effiliation.com/",
+ "companyId": "effiliation"
+ },
+ "egain": {
+ "name": "eGain",
+ "categoryId": 2,
+ "url": "http://www.egain.com/",
+ "companyId": "egain"
+ },
+ "egain_analytics": {
+ "name": "eGain Analytics",
+ "categoryId": 6,
+ "url": "http://www.egain.com/",
+ "companyId": "egain"
+ },
+ "ehi-siegel_de": {
+ "name": "ehi-siegel.de",
+ "categoryId": 2,
+ "url": "http://ehi-siegel.de/",
+ "companyId": null
+ },
+ "ekmpinpoint": {
+ "name": "ekmPinPoint",
+ "categoryId": 6,
+ "url": "http://ekmpinpoint.com/",
+ "companyId": "ekmpinpoint"
+ },
+ "ekomi": {
+ "name": "eKomi",
+ "categoryId": 1,
+ "url": "http://www.ekomi.co.uk",
+ "companyId": "ekomi"
+ },
+ "elastic_ad": {
+ "name": "Elastic Ad",
+ "categoryId": 4,
+ "url": "http://www.elasticad.com",
+ "companyId": "elastic_ad"
+ },
+ "elastic_beanstalk": {
+ "name": "Elastic Beanstalk",
+ "categoryId": 6,
+ "url": "http://www.amazon.com/",
+ "companyId": "amazon_associates"
+ },
+ "elicit": {
+ "name": "elicit",
+ "categoryId": 4,
+ "url": "http://www.elicitsearch.com/",
+ "companyId": "elicit"
+ },
+ "eloqua": {
+ "name": "Eloqua",
+ "categoryId": 4,
+ "url": "http://www.eloqua.com/",
+ "companyId": "oracle"
+ },
+ "eluxer_net": {
+ "name": "eluxer.net",
+ "categoryId": 12,
+ "url": null,
+ "companyId": null
+ },
+ "email_aptitude": {
+ "name": "Email Aptitude",
+ "categoryId": 4,
+ "url": "http://www.emailaptitude.com/",
+ "companyId": "email_aptitude"
+ },
+ "email_attitude": {
+ "name": "Email Attitude",
+ "categoryId": 4,
+ "url": "http://us.email-attitude.com/Default.aspx",
+ "companyId": "1000mercis"
+ },
+ "emarketeer": {
+ "name": "emarketeer",
+ "categoryId": 4,
+ "url": "http://www.emarketeer.com/",
+ "companyId": "emarketeer"
+ },
+ "embed.ly": {
+ "name": "Embedly",
+ "categoryId": 6,
+ "url": "http://embed.ly/",
+ "companyId": "medium"
+ },
+ "emediate": {
+ "name": "Emediate",
+ "categoryId": 4,
+ "url": "http://www.emediate.biz/",
+ "companyId": "cxense"
+ },
+ "emetriq": {
+ "name": "emetriq",
+ "categoryId": 4,
+ "url": "http://www.emetriq.com",
+ "companyId": "emetriq"
+ },
+ "emma": {
+ "name": "Emma",
+ "categoryId": 4,
+ "url": "http://myemma.com/",
+ "companyId": "emma"
+ },
+ "emnet": {
+ "name": "eMnet",
+ "categoryId": 4,
+ "url": "http://www.emnet.co.kr",
+ "companyId": "emnet"
+ },
+ "empathy": {
+ "name": "Empathy",
+ "categoryId": 4,
+ "url": "http://www.colbenson.com",
+ "companyId": "empathy"
+ },
+ "emsmobile.de": {
+ "name": "EMS Mobile",
+ "categoryId": 8,
+ "url": "http://www.emsmobile.com/",
+ "companyId": null
+ },
+ "encore_metrics": {
+ "name": "Encore Metrics",
+ "categoryId": 4,
+ "url": "http://sitecompass.com",
+ "companyId": "flashtalking"
+ },
+ "enecto_analytics": {
+ "name": "Enecto Analytics",
+ "categoryId": 6,
+ "url": "http://www.enecto.com/en/",
+ "companyId": "enecto"
+ },
+ "engage_sciences": {
+ "name": "Engage Sciences",
+ "categoryId": 6,
+ "url": "http://www.engagesciences.com/",
+ "companyId": "engagesciences"
+ },
+ "engageya_widget": {
+ "name": "Engageya Widget",
+ "categoryId": 4,
+ "url": "http://www.engageya.com/home/",
+ "companyId": "engageya"
+ },
+ "engagio": {
+ "name": "Engagio",
+ "categoryId": 6,
+ "url": "https://www.engagio.com/",
+ "companyId": "engagio"
+ },
+ "engineseeker": {
+ "name": "EngineSeeker",
+ "categoryId": 4,
+ "url": "http://www.engineseeker.com/",
+ "companyId": "engineseeker"
+ },
+ "enquisite": {
+ "name": "Enquisite",
+ "categoryId": 4,
+ "url": "http://www.enquisite.com/",
+ "companyId": "inboundwriter"
+ },
+ "enreach": {
+ "name": "Enreach",
+ "categoryId": 4,
+ "url": "https://enreach.me/",
+ "companyId": "enreach"
+ },
+ "ensemble": {
+ "name": "Ensemble",
+ "categoryId": 4,
+ "url": "http://www.tumri.com",
+ "companyId": "ensemble"
+ },
+ "ensighten": {
+ "name": "Ensighten",
+ "categoryId": 5,
+ "url": "http://www.ensighten.com",
+ "companyId": "ensighten"
+ },
+ "envolve": {
+ "name": "Envolve",
+ "categoryId": 2,
+ "url": "https://www.envolve.com/",
+ "companyId": "envolve"
+ },
+ "envybox": {
+ "name": "Envybox",
+ "categoryId": 2,
+ "url": "https://envybox.io/",
+ "companyId": "envybox"
+ },
+ "eperflex": {
+ "name": "Eperflex",
+ "categoryId": 4,
+ "url": "https://eperflex.com/",
+ "companyId": "ividence"
+ },
+ "epic_game_ads": {
+ "name": "Epic Game Ads",
+ "categoryId": 4,
+ "url": "http://www.epicgameads.com/",
+ "companyId": "epic_game_ads"
+ },
+ "epic_marketplace": {
+ "name": "Epic Marketplace",
+ "categoryId": 4,
+ "url": "http://www.trafficmarketplace.com/",
+ "companyId": "epic_advertising"
+ },
+ "epom": {
+ "name": "Epom",
+ "categoryId": 4,
+ "url": "http://epom.com/",
+ "companyId": "epom"
+ },
+ "epoq": {
+ "name": "epoq",
+ "categoryId": 2,
+ "url": "http://www.epoq.de/",
+ "companyId": "epoq"
+ },
+ "eprice": {
+ "name": "ePrice",
+ "categoryId": 4,
+ "url": "http://banzaiadv.it/",
+ "companyId": "eprice"
+ },
+ "eproof": {
+ "name": "eProof",
+ "categoryId": 6,
+ "url": "http://www.eproof.com/",
+ "companyId": "eproof"
+ },
+ "eqs_group": {
+ "name": "EQS Group",
+ "categoryId": 6,
+ "url": "https://www.eqs.com/",
+ "companyId": "eqs_group"
+ },
+ "eqworks": {
+ "name": "EQWorks",
+ "categoryId": 4,
+ "url": "http://eqads.com",
+ "companyId": "eq_works"
+ },
+ "eroadvertising": {
+ "name": "EroAdvertising",
+ "categoryId": 3,
+ "url": "http://www.ero-advertising.com/",
+ "companyId": "ero_advertising"
+ },
+ "errorception": {
+ "name": "Errorception",
+ "categoryId": 6,
+ "url": "http://errorception.com/",
+ "companyId": "errorception"
+ },
+ "eshopcomp.com": {
+ "name": "eshopcomp.com",
+ "categoryId": 12,
+ "url": null,
+ "companyId": null
+ },
+ "espn_cdn": {
+ "name": "ESPN CDN",
+ "categoryId": 9,
+ "url": "http://www.espn.com/",
+ "companyId": "disney"
+ },
+ "esprit.de": {
+ "name": "esprit.de",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "estat": {
+ "name": "eStat",
+ "categoryId": 6,
+ "url": "http://www.mediametrie-estat.com/",
+ "companyId": "mediametrie"
+ },
+ "etag": {
+ "name": "etag",
+ "categoryId": 4,
+ "url": "http://etagdigital.com.br/",
+ "companyId": "etag"
+ },
+ "etahub.com": {
+ "name": "etahub.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "etarget": {
+ "name": "Etarget",
+ "categoryId": 4,
+ "url": "http://etargetnet.com/",
+ "companyId": "etarget"
+ },
+ "ethnio": {
+ "name": "Ethnio",
+ "categoryId": 4,
+ "url": "http://ethn.io/",
+ "companyId": "ethnio"
+ },
+ "etology": {
+ "name": "Etology",
+ "categoryId": 4,
+ "url": "http://www.etology.com",
+ "companyId": "etology"
+ },
+ "etp": {
+ "name": "ETP",
+ "categoryId": 6,
+ "url": "https://www.etpgroup.com",
+ "companyId": "etp"
+ },
+ "etracker": {
+ "name": "etracker",
+ "categoryId": 6,
+ "url": "http://www.etracker.com/en/",
+ "companyId": "etracker_gmbh"
+ },
+ "etrigue": {
+ "name": "eTrigue",
+ "categoryId": 4,
+ "url": "http://www.etrigue.com/",
+ "companyId": "etrigue"
+ },
+ "etsystatic": {
+ "name": "Etsy CDN",
+ "categoryId": 9,
+ "url": "https://www.etsy.com/",
+ "companyId": "etsy"
+ },
+ "eulerian": {
+ "name": "Eulerian",
+ "categoryId": 6,
+ "url": "https://www.eulerian.com/",
+ "companyId": "eulerian"
+ },
+ "euroads": {
+ "name": "Euroads",
+ "categoryId": 4,
+ "url": "http://euroads.com/en/",
+ "companyId": "euroads"
+ },
+ "europecash": {
+ "name": "Europecash",
+ "categoryId": 4,
+ "url": "https://www.europacash.com/",
+ "companyId": "europacash"
+ },
+ "euroweb_counter": {
+ "name": "Euroweb Counter",
+ "categoryId": 4,
+ "url": "http://www.euroweb.de/",
+ "companyId": "euroweb"
+ },
+ "evergage.com": {
+ "name": "Evergage",
+ "categoryId": 2,
+ "url": "https://www.evergage.com",
+ "companyId": "evergage"
+ },
+ "everstring": {
+ "name": "Everstring",
+ "categoryId": 6,
+ "url": "http://www.everstring.com/",
+ "companyId": "everstring"
+ },
+ "everyday_health": {
+ "name": "Everyday Health",
+ "categoryId": 7,
+ "url": "http://www.everydayhealth.com/",
+ "companyId": "everyday_health"
+ },
+ "evidon": {
+ "name": "Evidon",
+ "categoryId": 5,
+ "url": "https://www.evidon.com/",
+ "companyId": "crownpeak"
+ },
+ "evisit_analyst": {
+ "name": "eVisit Analyst",
+ "categoryId": 4,
+ "url": "http://www.evisitanalyst.com",
+ "companyId": "evisit_analyst"
+ },
+ "exact_drive": {
+ "name": "Exact Drive",
+ "categoryId": 4,
+ "url": "http://www.exactdrive.com/",
+ "companyId": "exact_drive"
+ },
+ "exactag": {
+ "name": "Exactag",
+ "categoryId": 6,
+ "url": "http://www.exactag.com",
+ "companyId": "exactag"
+ },
+ "exelate": {
+ "name": "eXelate",
+ "categoryId": 4,
+ "url": "http://www.exelate.com/",
+ "companyId": "nielsen"
+ },
+ "exitjunction": {
+ "name": "ExitJunction",
+ "categoryId": 4,
+ "url": "https://secure.exitjunction.com",
+ "companyId": "exitjunction"
+ },
+ "exoclick": {
+ "name": "ExoClick",
+ "categoryId": 3,
+ "url": "http://exoclick.com/",
+ "companyId": "exoclick"
+ },
+ "exoticads.com": {
+ "name": "exoticads",
+ "categoryId": 3,
+ "url": "https://exoticads.com/welcome/",
+ "companyId": null
+ },
+ "expedia": {
+ "name": "Expedia",
+ "categoryId": 8,
+ "url": "https://www.trvl-px.com/",
+ "companyId": "iac_apps"
+ },
+ "experian": {
+ "name": "Experian",
+ "categoryId": 8,
+ "url": "https://www.experian.com/",
+ "companyId": "experian_inc"
+ },
+ "experian_marketing_services": {
+ "name": "Experian Marketing Services",
+ "categoryId": 4,
+ "url": "http://www.experian.com/",
+ "companyId": "experian_inc"
+ },
+ "expo-max": {
+ "name": "expo-MAX",
+ "categoryId": 4,
+ "url": "http://expo-max.com/",
+ "companyId": "expo-max"
+ },
+ "expose_box": {
+ "name": "Expose Box",
+ "categoryId": 4,
+ "url": "http://www.exposebox.com/",
+ "companyId": "expose_box"
+ },
+ "expose_box_widgets": {
+ "name": "Expose Box Widgets",
+ "categoryId": 2,
+ "url": "http://www.exposebox.com/",
+ "companyId": "expose_box"
+ },
+ "express.co.uk": {
+ "name": "express.co.uk",
+ "categoryId": 8,
+ "url": "https://www.express.co.uk/",
+ "companyId": null
+ },
+ "expressvpn": {
+ "name": "ExpressVPN",
+ "categoryId": 2,
+ "url": "https://www.expressvpn.com/",
+ "companyId": "expressvpn"
+ },
+ "extreme_tracker": {
+ "name": "eXTReMe Tracker",
+ "categoryId": 6,
+ "url": "http://www.extremetracking.com/",
+ "companyId": "extreme_digital"
+ },
+ "eye_newton": {
+ "name": "Eye Newton",
+ "categoryId": 2,
+ "url": "http://eyenewton.ru/",
+ "companyId": "eyenewton"
+ },
+ "eyeota": {
+ "name": "Eyeota",
+ "categoryId": 4,
+ "url": "http://www.eyeota.com/",
+ "companyId": "eyeota"
+ },
+ "eyereturnmarketing": {
+ "name": "Eyereturn Marketing",
+ "categoryId": 4,
+ "url": "https://eyereturnmarketing.com/",
+ "companyId": "torstar_corp"
+ },
+ "eyeview": {
+ "name": "Eyeview",
+ "categoryId": 4,
+ "url": "http://www.eyeviewdigital.com/",
+ "companyId": "eyeview"
+ },
+ "ezakus": {
+ "name": "Ezakus",
+ "categoryId": 4,
+ "url": "http://www.ezakus.com/",
+ "companyId": "np6"
+ },
+ "f11-ads.com": {
+ "name": "Factor Eleven",
+ "categoryId": 4,
+ "url": null,
+ "companyId": null
+ },
+ "facebook": {
+ "name": "Facebook",
+ "categoryId": 4,
+ "url": "https://www.facebook.com",
+ "companyId": "facebook"
+ },
+ "facebook_beacon": {
+ "name": "Facebook Beacon",
+ "categoryId": 7,
+ "url": "http://www.facebook.com/beacon/faq.php",
+ "companyId": "facebook"
+ },
+ "facebook_cdn": {
+ "name": "Facebook CDN",
+ "categoryId": 9,
+ "url": "https://www.facebook.com",
+ "companyId": "facebook"
+ },
+ "facebook_connect": {
+ "name": "Facebook Connect",
+ "categoryId": 6,
+ "url": "https://developers.facebook.com/connect.php",
+ "companyId": "facebook"
+ },
+ "facebook_conversion_tracking": {
+ "name": "Facebook Conversion Tracking",
+ "categoryId": 4,
+ "url": "http://www.facebook.com/",
+ "companyId": "facebook"
+ },
+ "facebook_custom_audience": {
+ "name": "Facebook Custom Audience",
+ "categoryId": 4,
+ "url": "https://www.facebook.com",
+ "companyId": "facebook"
+ },
+ "facebook_graph": {
+ "name": "Facebook Social Graph",
+ "categoryId": 7,
+ "url": "https://developers.facebook.com/docs/reference/api/",
+ "companyId": "facebook"
+ },
+ "facebook_impressions": {
+ "name": "Facebook Impressions",
+ "categoryId": 4,
+ "url": "https://www.facebook.com/",
+ "companyId": "facebook"
+ },
+ "facebook_social_plugins": {
+ "name": "Facebook Social Plugins",
+ "categoryId": 7,
+ "url": "https://developers.facebook.com/plugins",
+ "companyId": "facebook"
+ },
+ "facetz.dca": {
+ "name": "Facetz.DCA",
+ "categoryId": 4,
+ "url": "http://facetz.net",
+ "companyId": "dca"
+ },
+ "facilitate_digital": {
+ "name": "Facilitate Digital",
+ "categoryId": 4,
+ "url": "http://www.facilitatedigital.com/",
+ "companyId": "adslot"
+ },
+ "faktor.io": {
+ "name": "faktor.io",
+ "categoryId": 6,
+ "url": "https://faktor.io/",
+ "companyId": "faktor.io"
+ },
+ "fancy_widget": {
+ "name": "Fancy Widget",
+ "categoryId": 7,
+ "url": "http://www.thefancy.com/",
+ "companyId": "fancy"
+ },
+ "fanplayr": {
+ "name": "Fanplayr",
+ "categoryId": 4,
+ "url": "http://www.fanplayr.com/",
+ "companyId": "fanplayr"
+ },
+ "fap.to": {
+ "name": "Imagefap",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "fastly_insights": {
+ "name": "Fastly Insights",
+ "categoryId": 6,
+ "url": "https://insights.fastlylabs.com/",
+ "companyId": "fastly"
+ },
+ "fastlylb.net": {
+ "name": "Fastly",
+ "categoryId": 9,
+ "url": "https://www.fastly.com/",
+ "companyId": "fastly"
+ },
+ "fastpic.ru": {
+ "name": "FastPic",
+ "categoryId": 10,
+ "url": "http://fastpic.ru/",
+ "companyId": "fastpic"
+ },
+ "federated_media": {
+ "name": "Federated Media",
+ "categoryId": 4,
+ "url": "http://www.federatedmedia.net/",
+ "companyId": "hyfn"
+ },
+ "feedbackify": {
+ "name": "Feedbackify",
+ "categoryId": 2,
+ "url": "http://www.feedbackify.com/",
+ "companyId": "feedbackify"
+ },
+ "feedburner.com": {
+ "name": "FeedBurner",
+ "categoryId": 4,
+ "url": "https://feedburner.com",
+ "companyId": "google"
+ },
+ "feedify": {
+ "name": "Feedify",
+ "categoryId": 7,
+ "url": "http://feedify.de/",
+ "companyId": "feedify"
+ },
+ "feedjit": {
+ "name": "Feedjit",
+ "categoryId": 4,
+ "url": "http://feedjit.com/",
+ "companyId": "feedjit"
+ },
+ "feedperfect": {
+ "name": "FeedPerfect",
+ "categoryId": 4,
+ "url": "http://www.feedperfect.com/",
+ "companyId": "feedperfect"
+ },
+ "feedsportal": {
+ "name": "Feedsportal",
+ "categoryId": 4,
+ "url": "http://www.mediafed.com/",
+ "companyId": "mediafed"
+ },
+ "feefo": {
+ "name": "Feefo",
+ "categoryId": 2,
+ "url": "http://www.feefo.com/web/en/us/",
+ "companyId": "feefo"
+ },
+ "fidelity_media": {
+ "name": "Fidelity Media",
+ "categoryId": 4,
+ "url": "http://fidelity-media.com/",
+ "companyId": "fidelity_media"
+ },
+ "fiksu": {
+ "name": "Fiksu",
+ "categoryId": 4,
+ "url": "https://fiksu.com/",
+ "companyId": "noosphere"
+ },
+ "filament.io": {
+ "name": "Filament.io",
+ "categoryId": 4,
+ "url": "http://sharethis.com/",
+ "companyId": "sharethis"
+ },
+ "fileserve": {
+ "name": "FileServe",
+ "categoryId": 10,
+ "url": "http://fileserve.com/",
+ "companyId": "fileserve"
+ },
+ "financeads": {
+ "name": "FinanceADs",
+ "categoryId": 4,
+ "url": "https://www.financeads.net/",
+ "companyId": "financeads_gmbh_&_co._kg"
+ },
+ "financial_content": {
+ "name": "Financial Content",
+ "categoryId": 4,
+ "url": "http://www.financialcontent.com",
+ "companyId": "financial_content"
+ },
+ "findizer.fr": {
+ "name": "Findizer",
+ "categoryId": 8,
+ "url": "http://www.findizer.fr/",
+ "companyId": null
+ },
+ "findologic.com": {
+ "name": "Findologic",
+ "categoryId": 2,
+ "url": "https://www.findologic.com/",
+ "companyId": "findologic"
+ },
+ "firebaseio.com": {
+ "name": "Firebase",
+ "categoryId": 8,
+ "url": "https://firebase.google.com/",
+ "companyId": "google"
+ },
+ "first_impression": {
+ "name": "First Impression",
+ "categoryId": 4,
+ "url": "http://www.firstimpression.io",
+ "companyId": "first_impression"
+ },
+ "fit_analytics": {
+ "name": "Fit Analytics",
+ "categoryId": 6,
+ "url": "http://www.fitanalytics.com/",
+ "companyId": "fit_analytics"
+ },
+ "fivetran": {
+ "name": "Fivetran",
+ "categoryId": 6,
+ "url": "https://fivetran.com/",
+ "companyId": "fivetran"
+ },
+ "flag_ads": {
+ "name": "Flag Ads",
+ "categoryId": 4,
+ "url": "http://www.flagads.net/",
+ "companyId": "flag_ads"
+ },
+ "flag_counter": {
+ "name": "Flag Counter",
+ "categoryId": 4,
+ "url": "http://flagcounter.com/",
+ "companyId": "flag_counter"
+ },
+ "flashtalking": {
+ "name": "Flashtalking",
+ "categoryId": 4,
+ "url": "http://www.flashtalking.com/",
+ "companyId": "flashtalking"
+ },
+ "flattr_button": {
+ "name": "Flattr Button",
+ "categoryId": 7,
+ "url": "http://flattr.com/",
+ "companyId": "flattr"
+ },
+ "flexoffers": {
+ "name": "FlexOffers",
+ "categoryId": 4,
+ "url": "http://www.flexoffers.com/",
+ "companyId": "flexoffers.com"
+ },
+ "flickr_badge": {
+ "name": "Flickr Badge",
+ "categoryId": 7,
+ "url": "http://www.flickr.com/",
+ "companyId": "smugmug"
+ },
+ "flipboard": {
+ "name": "Flipboard",
+ "categoryId": 6,
+ "url": "http://www.flipboard.com/",
+ "companyId": "flipboard"
+ },
+ "flite": {
+ "name": "Flite",
+ "categoryId": 4,
+ "url": "http://www.flite.com/",
+ "companyId": "flite"
+ },
+ "flixcdn.com": {
+ "name": "flixcdn.com",
+ "categoryId": 9,
+ "url": null,
+ "companyId": null
+ },
+ "flixmedia": {
+ "name": "Flixmedia",
+ "categoryId": 8,
+ "url": "https://flixmedia.eu",
+ "companyId": "flixmedia"
+ },
+ "flocktory.com": {
+ "name": "Flocktory",
+ "categoryId": 6,
+ "url": "https://www.flocktory.com/",
+ "companyId": "flocktory"
+ },
+ "flowplayer": {
+ "name": "Flowplayer",
+ "categoryId": 4,
+ "url": "https://flowplayer.org/",
+ "companyId": "flowplayer"
+ },
+ "fluct": {
+ "name": "Fluct",
+ "categoryId": 4,
+ "url": "https://corp.fluct.jp/",
+ "companyId": "fluct"
+ },
+ "fluent": {
+ "name": "Fluent",
+ "categoryId": 4,
+ "url": "http://www.fluentco.com/",
+ "companyId": "fluent"
+ },
+ "fluid": {
+ "name": "Fluid",
+ "categoryId": 4,
+ "url": "http://www.8thbridge.com/",
+ "companyId": "fluid"
+ },
+ "fluidads": {
+ "name": "FluidAds",
+ "categoryId": 4,
+ "url": "http://www.fluidads.co/",
+ "companyId": "fluidads"
+ },
+ "fluidsurveys": {
+ "name": "FluidSurveys",
+ "categoryId": 2,
+ "url": "http://fluidsurveys.com/",
+ "companyId": "fluidware"
+ },
+ "flurry": {
+ "name": "Flurry",
+ "categoryId": 101,
+ "url": "http://www.flurry.com/",
+ "companyId": "verizon",
+ "source": "AdGuard"
+ },
+ "flxone": {
+ "name": "FLXONE",
+ "categoryId": 4,
+ "url": "http://www.flxone.com/",
+ "companyId": "flxone"
+ },
+ "flyertown": {
+ "name": "Flyertown",
+ "categoryId": 6,
+ "url": "http://www.flyertown.ca/",
+ "companyId": "flyertown"
+ },
+ "fmadserving": {
+ "name": "FMAdserving",
+ "categoryId": 4,
+ "url": "http://www.fmadserving.dk/",
+ "companyId": "fm_adserving"
+ },
+ "fonbet": {
+ "name": "Fonbet",
+ "categoryId": 6,
+ "url": "https://www.fonbet.ru",
+ "companyId": "fonbet"
+ },
+ "fonecta": {
+ "name": "Fonecta",
+ "categoryId": 2,
+ "url": "http://www.fonecta.com/",
+ "companyId": "fonecta"
+ },
+ "fontawesome_com": {
+ "name": "fontawesome.com",
+ "categoryId": 9,
+ "url": "http://fontawesome.com/",
+ "companyId": null
+ },
+ "foodie_blogroll": {
+ "name": "Foodie Blogroll",
+ "categoryId": 7,
+ "url": "http://www.foodieblogroll.com",
+ "companyId": "foodie_blogroll"
+ },
+ "footprint": {
+ "name": "Footprint",
+ "categoryId": 4,
+ "url": "http://www.footprintlive.com/",
+ "companyId": "opentracker"
+ },
+ "footprintdns.com": {
+ "name": "Footprint DNS",
+ "categoryId": 11,
+ "url": "https://www.microsoft.com/",
+ "companyId": "microsoft"
+ },
+ "forcetrac": {
+ "name": "ForceTrac",
+ "categoryId": 2,
+ "url": "http://www.forcetrac.com/",
+ "companyId": "force_marketing"
+ },
+ "forensiq": {
+ "name": "Forensiq",
+ "categoryId": 4,
+ "url": "http://www.cpadetective.com/",
+ "companyId": "impact"
+ },
+ "foresee": {
+ "name": "ForeSee",
+ "categoryId": 5,
+ "url": "https://www.foresee.com/",
+ "companyId": "foresee_results"
+ },
+ "formisimo": {
+ "name": "Formisimo",
+ "categoryId": 4,
+ "url": "https://www.formisimo.com/",
+ "companyId": "formisimo"
+ },
+ "forter": {
+ "name": "Forter",
+ "categoryId": 4,
+ "url": "https://www.forter.com/",
+ "companyId": "forter"
+ },
+ "fortlachanhecksof.info": {
+ "name": "fortlachanhecksof.info",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "foursquare_widget": {
+ "name": "Foursquare Widget",
+ "categoryId": 4,
+ "url": "https://foursquare.com/",
+ "companyId": "foursquare"
+ },
+ "fout.jp": {
+ "name": "FreakOut",
+ "categoryId": 4,
+ "url": "https://www.fout.co.jp/",
+ "companyId": "freakout"
+ },
+ "fox_audience_network": {
+ "name": "Fox Audience Network",
+ "categoryId": 4,
+ "url": "https://publishers.foxaudiencenetwork.com/",
+ "companyId": "fox_audience_network"
+ },
+ "foxnews_static": {
+ "name": "Fox News CDN",
+ "categoryId": 9,
+ "url": "http://www.foxnews.com/",
+ "companyId": "fox_news"
+ },
+ "foxpush": {
+ "name": "FoxPush",
+ "categoryId": 4,
+ "url": "https://www.foxpush.com/",
+ "companyId": "foxpush"
+ },
+ "foxydeal_com": {
+ "name": "foxydeal.com",
+ "categoryId": 12,
+ "url": "https://www.foxydeal.de",
+ "companyId": null
+ },
+ "fraudlogix": {
+ "name": "FraudLogix",
+ "categoryId": 4,
+ "url": "https://www.fraudlogix.com/",
+ "companyId": null
+ },
+ "free_counter": {
+ "name": "Free Counter",
+ "categoryId": 6,
+ "url": "http://www.statcounterfree.com/",
+ "companyId": "free_counter"
+ },
+ "free_online_users": {
+ "name": "Free Online Users",
+ "categoryId": 6,
+ "url": "http://www.freeonlineusers.com",
+ "companyId": "free_online_users"
+ },
+ "free_pagerank": {
+ "name": "Free PageRank",
+ "categoryId": 6,
+ "url": "http://www.free-pagerank.com/",
+ "companyId": "free_pagerank"
+ },
+ "freedom_mortgage": {
+ "name": "Freedom Mortgage",
+ "categoryId": 6,
+ "url": "https://www.freedommortgage.com/",
+ "companyId": "freedom_mortgage"
+ },
+ "freegeoip_net": {
+ "name": "freegeoip.net",
+ "categoryId": 6,
+ "url": "http://freegeoip.net/",
+ "companyId": null
+ },
+ "freenet_de": {
+ "name": "freenet.de",
+ "categoryId": 4,
+ "url": "http://freenet.de/",
+ "companyId": "debitel"
+ },
+ "freewheel": {
+ "name": "FreeWheel",
+ "categoryId": 4,
+ "url": "http://www.freewheel.tv/",
+ "companyId": "comcast"
+ },
+ "fresh8": {
+ "name": "Fresh8",
+ "categoryId": 6,
+ "url": "http://fresh8gaming.com/",
+ "companyId": "fresh_8_gaming"
+ },
+ "freshdesk": {
+ "name": "Freshdesk",
+ "categoryId": 2,
+ "url": "http://www.freshdesk.com",
+ "companyId": "freshdesk"
+ },
+ "freshplum": {
+ "name": "Freshplum",
+ "categoryId": 4,
+ "url": "https://freshplum.com/",
+ "companyId": "freshplum"
+ },
+ "friendbuy": {
+ "name": "FriendBuy",
+ "categoryId": 6,
+ "url": "https://www.friendbuy.com",
+ "companyId": "friendbuy"
+ },
+ "friendfeed": {
+ "name": "FriendFeed",
+ "categoryId": 7,
+ "url": "http://friendfeed.com/",
+ "companyId": "facebook"
+ },
+ "friendfinder_network": {
+ "name": "FriendFinder Network",
+ "categoryId": 3,
+ "url": "http://www.ffn.com/",
+ "companyId": "friendfinder_networks"
+ },
+ "frosmo_optimizer": {
+ "name": "Frosmo Optimizer",
+ "categoryId": 4,
+ "url": "http://frosmo.com/",
+ "companyId": "frosmo"
+ },
+ "fruitflan": {
+ "name": "FruitFlan",
+ "categoryId": 4,
+ "url": "http://flan-tech.com/",
+ "companyId": "keytiles"
+ },
+ "fstrk.net": {
+ "name": "24metrics Fraudshield",
+ "categoryId": 6,
+ "url": "https://24metrics.com/",
+ "companyId": "24metrics"
+ },
+ "fuelx": {
+ "name": "FuelX",
+ "categoryId": 4,
+ "url": "http://fuelx.com/",
+ "companyId": "fuelx"
+ },
+ "fullstory": {
+ "name": "FullStory",
+ "categoryId": 6,
+ "url": "http://fullstory.com",
+ "companyId": "fullstory"
+ },
+ "funnelytics": {
+ "name": "Funnelytics",
+ "categoryId": 6,
+ "url": "https://funnelytics.io/",
+ "companyId": "funnelytics"
+ },
+ "fyber": {
+ "name": "Fyber",
+ "categoryId": 4,
+ "url": "https://www.fyber.com/",
+ "companyId": "fyber"
+ },
+ "ga_audiences": {
+ "name": "GA Audiences",
+ "categoryId": 6,
+ "url": "http://www.google.com",
+ "companyId": "google"
+ },
+ "game_advertising_online": {
+ "name": "Game Advertising Online",
+ "categoryId": 4,
+ "url": "http://www.game-advertising-online.com/",
+ "companyId": "game_advertising_online"
+ },
+ "gamedistribution.com": {
+ "name": "Gamedistribution.com",
+ "categoryId": 8,
+ "url": "http://gamedistribution.com/",
+ "companyId": null
+ },
+ "gamerdna": {
+ "name": "gamerDNA",
+ "categoryId": 7,
+ "url": "http://www.gamerdnamedia.com/",
+ "companyId": "gamerdna_media"
+ },
+ "gannett": {
+ "name": "Gannett Media",
+ "categoryId": 0,
+ "url": "https://www.gannett.com/",
+ "companyId": "gannett_digital_media_network"
+ },
+ "gaug.es": {
+ "name": "Gaug.es",
+ "categoryId": 6,
+ "url": "http://get.gaug.es/",
+ "companyId": "euroweb"
+ },
+ "gazprom-media_digital": {
+ "name": "Gazprom-Media Digital",
+ "categoryId": 0,
+ "url": "http://www.gpm-digital.com/",
+ "companyId": "gazprom-media_digital"
+ },
+ "gb-world": {
+ "name": "GB-World",
+ "categoryId": 7,
+ "url": "http://www.gb-world.net/",
+ "companyId": "gb-world"
+ },
+ "gdeslon": {
+ "name": "GdeSlon",
+ "categoryId": 4,
+ "url": "http://www.gdeslon.ru/",
+ "companyId": "gdeslon"
+ },
+ "gdm_digital": {
+ "name": "GDM Digital",
+ "categoryId": 4,
+ "url": "http://www.gdmdigital.com/",
+ "companyId": "ve_interactive"
+ },
+ "geeen": {
+ "name": "Geeen",
+ "categoryId": 6,
+ "url": "https://www.geeen.co.jp/",
+ "companyId": "geeen"
+ },
+ "gemius": {
+ "name": "Gemius",
+ "categoryId": 4,
+ "url": "http://www.gemius.com",
+ "companyId": "gemius_sa"
+ },
+ "generaltracking_de": {
+ "name": "generaltracking.de",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "genesis": {
+ "name": "Genesis",
+ "categoryId": 4,
+ "url": "http://genesismedia.com/",
+ "companyId": "genesis_media"
+ },
+ "geniee": {
+ "name": "GENIEE",
+ "categoryId": 4,
+ "url": "http://geniee.co.jp/",
+ "companyId": null
+ },
+ "genius": {
+ "name": "Genius",
+ "categoryId": 6,
+ "url": "http://www.genius.com/",
+ "companyId": "genius"
+ },
+ "genoo": {
+ "name": "Genoo",
+ "categoryId": 4,
+ "url": "http://www.genoo.com/",
+ "companyId": "genoo"
+ },
+ "geoads": {
+ "name": "GeoAds",
+ "categoryId": 4,
+ "url": "http://www.geoads.com",
+ "companyId": "geoads"
+ },
+ "geolify": {
+ "name": "Geolify",
+ "categoryId": 4,
+ "url": "http://geolify.com/",
+ "companyId": "geolify"
+ },
+ "geoplugin": {
+ "name": "geoPlugin",
+ "categoryId": 6,
+ "url": "http://www.geoplugin.com/",
+ "companyId": "geoplugin"
+ },
+ "geotrust": {
+ "name": "GeoTrust",
+ "categoryId": 5,
+ "url": "http://www.geotrust.com/",
+ "companyId": "symantec"
+ },
+ "geovisite": {
+ "name": "Geovisite",
+ "categoryId": 6,
+ "url": "http://www.geovisite.com/",
+ "companyId": "geovisite"
+ },
+ "gestionpub": {
+ "name": "GestionPub",
+ "categoryId": 4,
+ "url": "http://www.gestionpub.com/",
+ "companyId": "gestionpub"
+ },
+ "get_response": {
+ "name": "Get Response",
+ "categoryId": 2,
+ "url": "https://www.getresponse.com/?marketing_gv=v2",
+ "companyId": "getresponse"
+ },
+ "get_site_control": {
+ "name": "Get Site Control",
+ "categoryId": 4,
+ "url": "https://getsitecontrol.com/",
+ "companyId": "getsitecontrol"
+ },
+ "getconversion": {
+ "name": "GetConversion",
+ "categoryId": 2,
+ "url": "http://www.getconversion.net/",
+ "companyId": "getconversion"
+ },
+ "getglue": {
+ "name": "GetGlue",
+ "categoryId": 0,
+ "url": "http://getglue.com",
+ "companyId": "telfie"
+ },
+ "getintent": {
+ "name": "GetIntent",
+ "categoryId": 4,
+ "url": "http://www.getintent.com/",
+ "companyId": "getintent"
+ },
+ "getkudos": {
+ "name": "GetKudos",
+ "categoryId": 1,
+ "url": "https://www.getkudos.me/",
+ "companyId": "zendesk"
+ },
+ "getmyad": {
+ "name": "GetMyAd",
+ "categoryId": 4,
+ "url": "http://yottos.com",
+ "companyId": "yottos"
+ },
+ "getsatisfaction": {
+ "name": "GetSatisfaction",
+ "categoryId": 1,
+ "url": "http://getsatisfaction.com/",
+ "companyId": "get_satisfaction"
+ },
+ "gettyimages": {
+ "name": "Getty Images",
+ "categoryId": 8,
+ "url": "https://www.gettyimages.com/",
+ "companyId": null
+ },
+ "gfk": {
+ "name": "GfK",
+ "categoryId": 4,
+ "url": "http://nurago.com/",
+ "companyId": "gfk_nurago"
+ },
+ "gfycat.com": {
+ "name": "gfycat",
+ "categoryId": 7,
+ "url": "https://gfycat.com/",
+ "companyId": null
+ },
+ "giant_realm": {
+ "name": "Giant Realm",
+ "categoryId": 4,
+ "url": "http://corp.giantrealm.com/",
+ "companyId": "giant_realm"
+ },
+ "giantmedia": {
+ "name": "GiantMedia",
+ "categoryId": 4,
+ "url": "http://giantmedia.com/",
+ "companyId": "adknowledge"
+ },
+ "giga": {
+ "name": "Giga",
+ "categoryId": 4,
+ "url": "https://gigaonclick.com",
+ "companyId": "giga"
+ },
+ "gigya": {
+ "name": "Gigya",
+ "categoryId": 6,
+ "url": "https://www.sap.com/index.html",
+ "companyId": "sap"
+ },
+ "gigya_beacon": {
+ "name": "Gigya Beacon",
+ "categoryId": 2,
+ "url": "http://www.gigya.com",
+ "companyId": "sap"
+ },
+ "gigya_socialize": {
+ "name": "Gigya Socialize",
+ "categoryId": 2,
+ "url": "http://www.gigya.com",
+ "companyId": "sap"
+ },
+ "gigya_toolbar": {
+ "name": "Gigya Toolbar",
+ "categoryId": 2,
+ "url": "http://www.gigya.com/",
+ "companyId": "sap"
+ },
+ "giosg": {
+ "name": "Giosg",
+ "categoryId": 6,
+ "url": "https://www.giosg.com/",
+ "companyId": "giosg"
+ },
+ "giphy.com": {
+ "name": "Giphy",
+ "categoryId": 7,
+ "url": "https://giphy.com/",
+ "companyId": null
+ },
+ "giraff.io": {
+ "name": "Giraff.io",
+ "categoryId": 4,
+ "url": "https://www.giraff.io/",
+ "companyId": null
+ },
+ "github": {
+ "name": "GitHub",
+ "categoryId": 2,
+ "url": "https://github.com/",
+ "companyId": "github"
+ },
+ "github_apps": {
+ "name": "GitHub Apps",
+ "categoryId": 2,
+ "url": "https://github.com/",
+ "companyId": "github"
+ },
+ "github_pages": {
+ "name": "Github Pages",
+ "categoryId": 10,
+ "url": "https://pages.github.com/",
+ "companyId": "github"
+ },
+ "gittigidiyor_affiliate_program": {
+ "name": "GittiGidiyor Affiliate Program",
+ "categoryId": 4,
+ "url": "http://www.ebay.com/",
+ "companyId": "ebay"
+ },
+ "gittip": {
+ "name": "Gittip",
+ "categoryId": 2,
+ "url": "https://www.gittip.com/",
+ "companyId": "gittip"
+ },
+ "glad_cube": {
+ "name": "Glad Cube",
+ "categoryId": 6,
+ "url": "http://www.glad-cube.com/",
+ "companyId": "glad_cube_inc."
+ },
+ "glganltcs.space": {
+ "name": "glganltcs.space",
+ "categoryId": 12,
+ "url": null,
+ "companyId": null
+ },
+ "global_web_index": {
+ "name": "GlobalWebIndex",
+ "categoryId": 6,
+ "url": "https://www.globalwebindex.com/",
+ "companyId": "global_web_index"
+ },
+ "globalnotifier.com": {
+ "name": "globalnotifier.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "globalsign": {
+ "name": "GlobalSign",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "globaltakeoff": {
+ "name": "GlobalTakeoff",
+ "categoryId": 4,
+ "url": "http://www.globaltakeoff.net/",
+ "companyId": "globaltakeoff"
+ },
+ "glomex.com": {
+ "name": "Glomex",
+ "categoryId": 0,
+ "url": "https://www.glomex.com/",
+ "companyId": "glomex"
+ },
+ "glotgrx.com": {
+ "name": "glotgrx.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "gm_delivery": {
+ "name": "GM Delivery",
+ "categoryId": 4,
+ "url": "http://a.gmdelivery.com/",
+ "companyId": "gm_delivery"
+ },
+ "gmo": {
+ "name": "GMO",
+ "categoryId": 4,
+ "url": "https://www.gmo.media/",
+ "companyId": "gmo_media"
+ },
+ "gmx_net": {
+ "name": "gmx.net",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "go.com": {
+ "name": "go.com",
+ "categoryId": 8,
+ "url": "go.com",
+ "companyId": "disney"
+ },
+ "godaddy_affiliate_program": {
+ "name": "GoDaddy Affiliate Program",
+ "categoryId": 4,
+ "url": "http://www.godaddy.com/",
+ "companyId": "godaddy"
+ },
+ "godaddy_site_analytics": {
+ "name": "GoDaddy Site Analytics",
+ "categoryId": 6,
+ "url": "https://www.godaddy.com/gdshop/hosting/stats_",
+ "companyId": "godaddy"
+ },
+ "godaddy_site_seal": {
+ "name": "GoDaddy Site Seal",
+ "categoryId": 5,
+ "url": "http://www.godaddy.com/",
+ "companyId": "godaddy"
+ },
+ "godatafeed": {
+ "name": "GoDataFeed",
+ "categoryId": 6,
+ "url": "http://www.godatafeed.com",
+ "companyId": "godatafeed"
+ },
+ "goingup": {
+ "name": "GoingUp",
+ "categoryId": 6,
+ "url": "http://www.goingup.com/",
+ "companyId": "goingup"
+ },
+ "gomez": {
+ "name": "Gomez",
+ "categoryId": 6,
+ "url": "http://www.gomez.com/",
+ "companyId": "dynatrace"
+ },
+ "goodadvert": {
+ "name": "GoodADVERT",
+ "categoryId": 4,
+ "url": "http://goodadvert.ru/",
+ "companyId": "goodadvert"
+ },
+ "google": {
+ "name": "Google",
+ "categoryId": 4,
+ "url": "https://www.google.com/",
+ "companyId": "google"
+ },
+ "google_ads_measurement": {
+ "name": "Google Ads Measurement",
+ "categoryId": 4,
+ "url": "http://www.google.com",
+ "companyId": "google"
+ },
+ "google_adsense": {
+ "name": "Google Adsense",
+ "categoryId": 4,
+ "url": "https://www.google.com/adsense/",
+ "companyId": "google"
+ },
+ "google_adservices": {
+ "name": "Google AdServices",
+ "categoryId": 4,
+ "url": "http://www.google.com",
+ "companyId": "google"
+ },
+ "google_adwords_conversion": {
+ "name": "Google AdWords Conversion",
+ "categoryId": 4,
+ "url": "https://adwords.google.com/",
+ "companyId": "google"
+ },
+ "google_adwords_user_lists": {
+ "name": "Google Adwords User Lists",
+ "categoryId": 4,
+ "url": "http://www.google.com",
+ "companyId": "google"
+ },
+ "google_analytics": {
+ "name": "Google Analytics",
+ "categoryId": 6,
+ "url": "http://www.google.com/analytics/",
+ "companyId": "google"
+ },
+ "google_appspot": {
+ "name": "Google Appspot",
+ "categoryId": 10,
+ "url": "http://www.google.com",
+ "companyId": "google"
+ },
+ "google_beacons": {
+ "name": "Google Beacons",
+ "categoryId": 6,
+ "url": "https://google.xyz",
+ "companyId": "google"
+ },
+ "google_custom_search": {
+ "name": "Google Custom Search Ads",
+ "categoryId": 4,
+ "url": "https://developers.google.com/custom-search-ads/",
+ "companyId": "google"
+ },
+ "google_custom_search_engine": {
+ "name": "Google Programmable Search Engine",
+ "categoryId": 5,
+ "url": "https://programmablesearchengine.google.com/about/",
+ "companyId": "google"
+ },
+ "google_email": {
+ "name": "Google Email",
+ "categoryId": 13,
+ "url": "http://www.google.com",
+ "companyId": "google"
+ },
+ "google_fonts": {
+ "name": "Google Fonts",
+ "categoryId": 9,
+ "url": "https://fonts.google.com/",
+ "companyId": "google"
+ },
+ "google_ima": {
+ "name": "Google IMA",
+ "categoryId": 4,
+ "url": "http://www.google.com",
+ "companyId": "google"
+ },
+ "google_photos": {
+ "name": "Google Photos",
+ "categoryId": 9,
+ "url": "https://photos.google.com/",
+ "companyId": "google"
+ },
+ "google_pingback": {
+ "name": "Google Pingback",
+ "categoryId": 4,
+ "url": "http://www.google.com",
+ "companyId": "google"
+ },
+ "google_plus": {
+ "name": "Google+ Platform",
+ "categoryId": 7,
+ "url": "http://www.google.com/+1/button/",
+ "companyId": "google"
+ },
+ "google_publisher_tags": {
+ "name": "Google Publisher Tags",
+ "categoryId": 6,
+ "url": "http://www.google.com",
+ "companyId": "google"
+ },
+ "google_remarketing": {
+ "name": "Google Dynamic Remarketing",
+ "categoryId": 4,
+ "url": "http://adwords.google.com/",
+ "companyId": "google"
+ },
+ "google_safeframe": {
+ "name": "Google Safeframe",
+ "categoryId": 4,
+ "url": "http://www.google.com",
+ "companyId": "google"
+ },
+ "google_servers": {
+ "name": "Google Servers",
+ "categoryId": 8,
+ "url": "https://support.google.com/faqs/answer/174717?hl=en",
+ "companyId": "google"
+ },
+ "google_shopping_reviews": {
+ "name": "Google Shopping Reviews",
+ "categoryId": 2,
+ "url": "http://www.google.com",
+ "companyId": "google"
+ },
+ "google_syndication": {
+ "name": "Google Syndication",
+ "categoryId": 4,
+ "url": "http://www.google.com",
+ "companyId": "google"
+ },
+ "google_tag_manager": {
+ "name": "Google Tag Manager",
+ "categoryId": 5,
+ "url": "https://marketingplatform.google.com/about/tag-manager/",
+ "companyId": "google"
+ },
+ "google_translate": {
+ "name": "Google Translate",
+ "categoryId": 2,
+ "url": "https://translate.google.com/manager",
+ "companyId": "google"
+ },
+ "google_travel_adds": {
+ "name": "Google Travel Adds",
+ "categoryId": 4,
+ "url": "http://www.google.com",
+ "companyId": "google"
+ },
+ "google_trusted_stores": {
+ "name": "Google Trusted Stores",
+ "categoryId": 6,
+ "url": "http://www.google.com",
+ "companyId": "google"
+ },
+ "google_users": {
+ "name": "Google User Content",
+ "categoryId": 9,
+ "url": "http://www.google.com",
+ "companyId": "google"
+ },
+ "google_website_optimizer": {
+ "name": "Google Website Optimizer",
+ "categoryId": 6,
+ "url": "https://www.google.com/analytics/siteopt/prev",
+ "companyId": "google"
+ },
+ "google_widgets": {
+ "name": "Google Widgets",
+ "categoryId": 2,
+ "url": "http://www.google.com",
+ "companyId": "google"
+ },
+ "googleapis.com": {
+ "name": "Google APIs",
+ "categoryId": 9,
+ "url": "https://www.googleapis.com/",
+ "companyId": "google"
+ },
+ "goooal": {
+ "name": "Goooal",
+ "categoryId": 6,
+ "url": "http://mailchimp.com/",
+ "companyId": "mailchimp"
+ },
+ "gorilla_nation": {
+ "name": "Gorilla Nation",
+ "categoryId": 4,
+ "url": "http://www.gorillanationmedia.com",
+ "companyId": "gorilla_nation_media"
+ },
+ "gosquared": {
+ "name": "GoSquared",
+ "categoryId": 6,
+ "url": "http://www.gosquared.com/livestats/",
+ "companyId": "gosquared"
+ },
+ "gostats": {
+ "name": "GoStats",
+ "categoryId": 6,
+ "url": "http://gostats.com/",
+ "companyId": "gostats"
+ },
+ "govmetric": {
+ "name": "GovMetric",
+ "categoryId": 6,
+ "url": "http://www.govmetric.com/",
+ "companyId": "govmetric"
+ },
+ "grabo_affiliate": {
+ "name": "Grabo Affiliate",
+ "categoryId": 4,
+ "url": "http://grabo.bg/",
+ "companyId": "grabo_media"
+ },
+ "grandslammedia": {
+ "name": "GrandSlamMedia",
+ "categoryId": 4,
+ "url": "http://www.grandslammedia.com/",
+ "companyId": "grand_slam_media"
+ },
+ "granify": {
+ "name": "Granify",
+ "categoryId": 6,
+ "url": "http://granify.com/",
+ "companyId": "granify"
+ },
+ "grapeshot": {
+ "name": "Grapeshot",
+ "categoryId": 4,
+ "url": "https://www.grapeshot.com/",
+ "companyId": "oracle"
+ },
+ "graph_comment": {
+ "name": "Graph Comment",
+ "categoryId": 5,
+ "url": "https://graphcomment.com/en/",
+ "companyId": "graph_comment"
+ },
+ "gravatar": {
+ "name": "Gravatar",
+ "categoryId": 7,
+ "url": "http://en.gravatar.com/",
+ "companyId": "automattic"
+ },
+ "gravitec": {
+ "name": "Gravitec",
+ "categoryId": 6,
+ "url": "https://gravitec.net/",
+ "companyId": "gravitec"
+ },
+ "gravity_insights": {
+ "name": "Gravity Insights",
+ "categoryId": 6,
+ "url": "http://www.gravity.com/",
+ "companyId": "verizon"
+ },
+ "greatviews.de": {
+ "name": "GreatViews",
+ "categoryId": 4,
+ "url": "http://greatviews.de/",
+ "companyId": "parship"
+ },
+ "green_and_red": {
+ "name": "Green and Red",
+ "categoryId": 4,
+ "url": "http://www.green-red.com/",
+ "companyId": "green_&_red_technologies"
+ },
+ "green_certified_site": {
+ "name": "Green Certified Site",
+ "categoryId": 2,
+ "url": "http://www.advenity.com/",
+ "companyId": "advenity"
+ },
+ "green_story": {
+ "name": "Green Story",
+ "categoryId": 6,
+ "url": "https://greenstory.ca/",
+ "companyId": "green_story"
+ },
+ "greentube.com": {
+ "name": "Greentube Internet Entertainment Solutions",
+ "categoryId": 7,
+ "url": "https://www.greentube.com/",
+ "companyId": null
+ },
+ "greystripe": {
+ "name": "Greystripe",
+ "categoryId": 4,
+ "url": "http://www.greystripe.com/",
+ "companyId": "conversant"
+ },
+ "groove": {
+ "name": "Groove",
+ "categoryId": 2,
+ "url": "http://www.groovehq.com/",
+ "companyId": "groove_networks"
+ },
+ "groovinads": {
+ "name": "GroovinAds",
+ "categoryId": 4,
+ "url": "http://www.groovinads.com/en",
+ "companyId": "groovinads"
+ },
+ "groundtruth": {
+ "name": "GroundTruth",
+ "categoryId": 4,
+ "url": "http://www.groundtruth.com/",
+ "companyId": "groundtruth"
+ },
+ "groupm_server": {
+ "name": "GroupM Server",
+ "categoryId": 4,
+ "url": "http://www.groupm.com/",
+ "companyId": "wpp"
+ },
+ "gsi_media": {
+ "name": "GSI Media",
+ "categoryId": 4,
+ "url": "http://gsimedia.net",
+ "companyId": "gsi_media_network"
+ },
+ "gstatic": {
+ "name": "Google Static",
+ "categoryId": 9,
+ "url": "http://www.google.com",
+ "companyId": "google"
+ },
+ "gtop": {
+ "name": "GTop",
+ "categoryId": 6,
+ "url": "http://www.gtopstats.com",
+ "companyId": "gtopstats"
+ },
+ "gugaboo": {
+ "name": "Gugaboo",
+ "categoryId": 4,
+ "url": "https://www.gubagoo.com/",
+ "companyId": "gubagoo"
+ },
+ "guj.de": {
+ "name": "Gruner + Jahr",
+ "categoryId": 4,
+ "url": "https://www.guj.de/",
+ "companyId": "gruner_jahr_ag"
+ },
+ "gujems": {
+ "name": "G+J e|MS",
+ "categoryId": 4,
+ "url": "http://www.gujmedia.de/",
+ "companyId": "gruner_jahr_ag"
+ },
+ "gumgum": {
+ "name": "gumgum",
+ "categoryId": 4,
+ "url": "http://gumgum.com/",
+ "companyId": "gumgum"
+ },
+ "gumroad": {
+ "name": "Gumroad",
+ "categoryId": 7,
+ "url": "https://gumroad.com/",
+ "companyId": "gumroad"
+ },
+ "gunggo": {
+ "name": "Gunggo",
+ "categoryId": 4,
+ "url": "http://www.gunggo.com/",
+ "companyId": "gunggo"
+ },
+ "h12_ads": {
+ "name": "H12 Ads",
+ "categoryId": 4,
+ "url": "http://www.h12-media.com/",
+ "companyId": "h12_media_ads"
+ },
+ "hacker_news_button": {
+ "name": "Hacker News Button",
+ "categoryId": 7,
+ "url": "http://news.ycombinator.com/",
+ "companyId": "hacker_news"
+ },
+ "haendlerbund.de": {
+ "name": "Händlerbund",
+ "categoryId": 2,
+ "url": "https://www.haendlerbund.de/en",
+ "companyId": null
+ },
+ "halogen_network": {
+ "name": "Halogen Network",
+ "categoryId": 7,
+ "url": "http://www.halogennetwork.com/",
+ "companyId": "social_chorus"
+ },
+ "happy_fox_chat": {
+ "name": "Happy Fox Chat",
+ "categoryId": 2,
+ "url": "https://happyfoxchat.com/",
+ "companyId": "happy_fox_chat"
+ },
+ "harren_media": {
+ "name": "Harren Media",
+ "categoryId": 4,
+ "url": "http://www.harrenmedia.com/index.html",
+ "companyId": "harren_media"
+ },
+ "hatchbuck": {
+ "name": "Hatchbuck",
+ "categoryId": 6,
+ "url": "http://www.hatchbuck.com/",
+ "companyId": "hatchbuck"
+ },
+ "head_hunter": {
+ "name": "Head Hunter",
+ "categoryId": 6,
+ "url": "https://hh.ru/",
+ "companyId": "head_hunter"
+ },
+ "healte.de": {
+ "name": "healte.de",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "heap": {
+ "name": "Heap",
+ "categoryId": 6,
+ "url": "https://heapanalytics.com/",
+ "companyId": "heap"
+ },
+ "heatmap": {
+ "name": "Heatmap",
+ "categoryId": 6,
+ "url": "https://heatmap.me/",
+ "companyId": "heatmap"
+ },
+ "heimspiel": {
+ "name": "HEIM:SPIEL Medien GmbH",
+ "categoryId": 8,
+ "url": "http://www.heimspiel.de",
+ "companyId": null
+ },
+ "hello_bar": {
+ "name": "Hello Bar",
+ "categoryId": 7,
+ "url": "https://www.hellobar.com/",
+ "companyId": "crazy_egg"
+ },
+ "hellosociety": {
+ "name": "HelloSociety",
+ "categoryId": 6,
+ "url": "http://hellosociety.com",
+ "companyId": "hellosociety"
+ },
+ "here": {
+ "name": "HERE",
+ "categoryId": 8,
+ "url": "https://www.here.com/",
+ "companyId": null
+ },
+ "heroku": {
+ "name": "Heroku",
+ "categoryId": 10,
+ "url": null,
+ "companyId": null
+ },
+ "heureka-widget": {
+ "name": "Heureka-Widget",
+ "categoryId": 4,
+ "url": "https://www.heurekashopping.cz/",
+ "companyId": "heureka"
+ },
+ "heybubble": {
+ "name": "HeyBubble",
+ "categoryId": 2,
+ "url": "https://www.heybubble.com/",
+ "companyId": "heybubble"
+ },
+ "heyos": {
+ "name": "Heyos",
+ "categoryId": 4,
+ "url": "http://www.heyos.com/",
+ "companyId": "heyos"
+ },
+ "hi-media_performance": {
+ "name": "Hi-Media Performance",
+ "categoryId": 4,
+ "url": "http://www.hi-mediaperformance.co.uk/",
+ "companyId": "hi-media_performance"
+ },
+ "hiconversion": {
+ "name": "HiConversion",
+ "categoryId": 4,
+ "url": "http://www.hiconversion.com",
+ "companyId": "hiconversion"
+ },
+ "highwebmedia.com": {
+ "name": "highwebmedia.com",
+ "categoryId": 3,
+ "url": null,
+ "companyId": null
+ },
+ "highwinds": {
+ "name": "Highwinds",
+ "categoryId": 6,
+ "url": "https://www.highwinds.com/",
+ "companyId": "highwinds"
+ },
+ "hiiir": {
+ "name": "Hiiir",
+ "categoryId": 4,
+ "url": "http://adpower.hiiir.com/",
+ "companyId": "hiiir"
+ },
+ "hiro": {
+ "name": "HIRO",
+ "categoryId": 4,
+ "url": "http://www.hiro-media.com/",
+ "companyId": "hiro_media"
+ },
+ "histats": {
+ "name": "Histats",
+ "categoryId": 4,
+ "url": "http://www.histats.com/",
+ "companyId": "histats"
+ },
+ "hit-parade": {
+ "name": "Hit-Parade",
+ "categoryId": 4,
+ "url": "http://www.hit-parade.com/",
+ "companyId": "hit-parade"
+ },
+ "hit.ua": {
+ "name": "HIT.UA",
+ "categoryId": 4,
+ "url": "http://hit.ua/",
+ "companyId": "hit.ua"
+ },
+ "hitslink": {
+ "name": "HitsLink",
+ "categoryId": 4,
+ "url": "http://www.hitslink.com/",
+ "companyId": "net_applications"
+ },
+ "hitsniffer": {
+ "name": "HitSniffer",
+ "categoryId": 4,
+ "url": "http://hitsniffer.com/",
+ "companyId": "hit_sniffer"
+ },
+ "hittail": {
+ "name": "HitTail",
+ "categoryId": 4,
+ "url": "http://www.hittail.com/",
+ "companyId": "hittail"
+ },
+ "hivedx.com": {
+ "name": "hiveDX",
+ "categoryId": 4,
+ "url": "https://www.hivedx.com/",
+ "companyId": null
+ },
+ "hiveworks": {
+ "name": "Hive Networks",
+ "categoryId": 4,
+ "url": "https://hiveworkscomics.com/",
+ "companyId": "hive_works"
+ },
+ "hoholikik.club": {
+ "name": "hoholikik.club",
+ "categoryId": 12,
+ "url": null,
+ "companyId": null
+ },
+ "hola_player": {
+ "name": "Hola Player",
+ "categoryId": 0,
+ "url": "https://holacdn.com/",
+ "companyId": "hola_cdn"
+ },
+ "homeaway": {
+ "name": "HomeAway",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "honeybadger": {
+ "name": "Honeybadger",
+ "categoryId": 6,
+ "url": "https://www.honeybadger.io/",
+ "companyId": "honeybadger"
+ },
+ "hooklogic": {
+ "name": "HookLogic",
+ "categoryId": 4,
+ "url": "http://hooklogic.com/",
+ "companyId": "criteo"
+ },
+ "hop-cube": {
+ "name": "Hop-Cube",
+ "categoryId": 4,
+ "url": "http://www.hop-cube.com/",
+ "companyId": "hop-cube"
+ },
+ "hotdogsandads.com": {
+ "name": "hotdogsandads.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "hotjar": {
+ "name": "Hotjar",
+ "categoryId": 6,
+ "url": "http://www.hotjar.com/",
+ "companyId": "hotjar"
+ },
+ "hotkeys": {
+ "name": "HotKeys",
+ "categoryId": 4,
+ "url": "http://www.demandmedia.com/",
+ "companyId": "leaf_group"
+ },
+ "hotlog.ru": {
+ "name": "HotLog",
+ "categoryId": 4,
+ "url": "https://hotlog.ru/",
+ "companyId": "hotlog"
+ },
+ "hotwords": {
+ "name": "HOTWords",
+ "categoryId": 4,
+ "url": "http://hotwords.com/",
+ "companyId": "hotwords"
+ },
+ "howtank.com": {
+ "name": "howtank",
+ "categoryId": 7,
+ "url": "https://www.howtank.com/",
+ "companyId": null
+ },
+ "hqentertainmentnetwork.com": {
+ "name": "HQ Entertainment Network",
+ "categoryId": 4,
+ "url": "https://hqentertainmentnetwork.com/",
+ "companyId": null
+ },
+ "hsoub": {
+ "name": "Hsoub",
+ "categoryId": 4,
+ "url": "http://www.hsoub.com/",
+ "companyId": "hsoub"
+ },
+ "hstrck.com": {
+ "name": "HEIM:SPIEL Medien GmbH",
+ "categoryId": 8,
+ "url": "https://www.heimspiel.de/",
+ "companyId": null
+ },
+ "httpool": {
+ "name": "HTTPool",
+ "categoryId": 4,
+ "url": "http://www.httpool.com/",
+ "companyId": "httpool"
+ },
+ "hubrus": {
+ "name": "HUBRUS",
+ "categoryId": 4,
+ "url": "http://www.hubrus.com/",
+ "companyId": "hubrus"
+ },
+ "hubspot": {
+ "name": "HubSpot",
+ "categoryId": 6,
+ "url": "http://www.hubspot.com/",
+ "companyId": "hubspot"
+ },
+ "hubspot_forms": {
+ "name": "HubSpot Forms",
+ "categoryId": 2,
+ "url": "http://www.hubspot.com",
+ "companyId": "hubspot"
+ },
+ "hubvisor.io": {
+ "name": "Hubvisor",
+ "categoryId": 4,
+ "url": "https://hubvisor.io/",
+ "companyId": null
+ },
+ "hucksterbot": {
+ "name": "HucksterBot",
+ "categoryId": 4,
+ "url": "http://hucksterbot.ru/",
+ "companyId": "hucksterbot"
+ },
+ "hupso": {
+ "name": "Hupso",
+ "categoryId": 7,
+ "url": "http://www.hupso.com/",
+ "companyId": "hupso"
+ },
+ "hurra_tracker": {
+ "name": "Hurra Tracker",
+ "categoryId": 4,
+ "url": "http://www.hurra.com/en/",
+ "companyId": "hurra_communications"
+ },
+ "hybrid.ai": {
+ "name": "Hybrid.ai",
+ "categoryId": 4,
+ "url": "https://hybrid.ai/",
+ "companyId": "hybrid_adtech"
+ },
+ "hype_exchange": {
+ "name": "Hype Exchange",
+ "categoryId": 4,
+ "url": "http://www.hypeexchange.com/",
+ "companyId": "hype_exchange"
+ },
+ "hypercomments": {
+ "name": "HyperComments",
+ "categoryId": 1,
+ "url": "http://www.hypercomments.com/",
+ "companyId": "hypercomments"
+ },
+ "hyves_widgets": {
+ "name": "Hyves Widgets",
+ "categoryId": 4,
+ "url": "http://www.hyves.nl/",
+ "companyId": "hyves"
+ },
+ "hyvyd": {
+ "name": "Hyvyd GmbH",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "i-behavior": {
+ "name": "i-Behavior",
+ "categoryId": 4,
+ "url": "http://www.i-behavior.com/",
+ "companyId": "kbm_group"
+ },
+ "i-mobile": {
+ "name": "i-mobile",
+ "categoryId": 4,
+ "url": "https://www2.i-mobile.co.jp/en/index.aspx",
+ "companyId": "i-mobile"
+ },
+ "i.ua": {
+ "name": "i.ua",
+ "categoryId": 4,
+ "url": "http://www.i.ua/",
+ "companyId": "i.ua"
+ },
+ "i10c.net": {
+ "name": "i10c.net",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "i2i.jp": {
+ "name": "i2i.jp",
+ "categoryId": 6,
+ "url": "http://www.i2i.jp/",
+ "companyId": "i2i.jp"
+ },
+ "iab_consent": {
+ "name": "IAB Consent",
+ "categoryId": 5,
+ "url": "https://iabtechlab.com/standards/gdpr-transparency-and-consent-framework/",
+ "companyId": "iab"
+ },
+ "iadvize": {
+ "name": "iAdvize",
+ "categoryId": 2,
+ "url": "http://www.iadvize.com/",
+ "companyId": "iadvize"
+ },
+ "ibm_customer_experience": {
+ "name": "IBM Digital Analytics",
+ "categoryId": 6,
+ "url": "http://www.coremetrics.com/",
+ "companyId": "ibm"
+ },
+ "icerocket_tracker": {
+ "name": "IceRocket Tracker",
+ "categoryId": 7,
+ "url": "http://tracker.icerocket.com/",
+ "companyId": "meltwater_icerocket"
+ },
+ "icf_technology": {
+ "name": "ICF Technology",
+ "categoryId": 2,
+ "url": "http://www.icftechnology.com/",
+ "companyId": null
+ },
+ "iclick": {
+ "name": "iClick",
+ "categoryId": 4,
+ "url": "http://optimix.asia/",
+ "companyId": "iclick_interactive"
+ },
+ "icrossing": {
+ "name": "iCrossing",
+ "categoryId": 4,
+ "url": "http://www.icrossing.com/",
+ "companyId": "hearst"
+ },
+ "icstats": {
+ "name": "ICStats",
+ "categoryId": 6,
+ "url": "http://www.icstats.nl/",
+ "companyId": "icstats"
+ },
+ "icuazeczpeoohx.com": {
+ "name": "icuazeczpeoohx.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "id-news.net": {
+ "name": "Ippen Digital",
+ "categoryId": 4,
+ "url": "https://www.ippen-digital.de/",
+ "companyId": null
+ },
+ "id_services": {
+ "name": "ID Services",
+ "categoryId": 6,
+ "url": "https://id.services/",
+ "companyId": "id_services"
+ },
+ "ideal_media": {
+ "name": "Ideal Media",
+ "categoryId": 4,
+ "url": "http://idealmedia.com/",
+ "companyId": "ideal_media"
+ },
+ "idealo_com": {
+ "name": "idealo.com",
+ "categoryId": 4,
+ "url": "http://idealo.com/",
+ "companyId": null
+ },
+ "ideoclick": {
+ "name": "IdeoClick",
+ "categoryId": 4,
+ "url": "http://ideoclick.com",
+ "companyId": "ideoclick"
+ },
+ "idio": {
+ "name": "Idio",
+ "categoryId": 4,
+ "url": "https://www.idio.ai/",
+ "companyId": "idio"
+ },
+ "ie8eamus.com": {
+ "name": "ie8eamus.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "ientry": {
+ "name": "iEntry",
+ "categoryId": 4,
+ "url": "http://www.ientry.com/",
+ "companyId": "ientry"
+ },
+ "iflychat": {
+ "name": "iFlyChat",
+ "categoryId": 2,
+ "url": "https://iflychat.com/",
+ "companyId": "iflychat"
+ },
+ "ignitionone": {
+ "name": "IgnitionOne",
+ "categoryId": 6,
+ "url": "https://www.ignitionone.com/",
+ "companyId": "zeta"
+ },
+ "igodigital": {
+ "name": "iGoDigital",
+ "categoryId": 2,
+ "url": "http://igodigital.com/",
+ "companyId": "salesforce"
+ },
+ "ihs_markit": {
+ "name": "IHS Markit",
+ "categoryId": 6,
+ "url": "https://ihsmarkit.com/index.html",
+ "companyId": "ihs"
+ },
+ "ihs_markit_online_shopper_insigh": {
+ "name": "IHS Markit Online Shopper Insigh",
+ "categoryId": 6,
+ "url": "http://www.visicogn.com/vcu.htm",
+ "companyId": "ihs"
+ },
+ "ihvmcqojoj.com": {
+ "name": "ihvmcqojoj.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "iias.eu": {
+ "name": "Insight Image",
+ "categoryId": 3,
+ "url": "http://insightimage.com/",
+ "companyId": null
+ },
+ "ijento": {
+ "name": "iJento",
+ "categoryId": 6,
+ "url": "http://www.ijento.com/",
+ "companyId": "ijento"
+ },
+ "imad": {
+ "name": "imad",
+ "categoryId": 4,
+ "url": "http://www.imad.co.kr/",
+ "companyId": "i'mad_republic"
+ },
+ "image_advantage": {
+ "name": "Image Advantage",
+ "categoryId": 4,
+ "url": "http://www.worthathousandwords.com/",
+ "companyId": "image_advantage"
+ },
+ "image_space_media": {
+ "name": "Image Space Media",
+ "categoryId": 4,
+ "url": "http://www.imagespacemedia.com/",
+ "companyId": "image_space_media"
+ },
+ "imgix.net": {
+ "name": "ImgIX",
+ "categoryId": 9,
+ "url": "https://www.imgix.com/",
+ "companyId": null
+ },
+ "imgur": {
+ "name": "Imgur",
+ "categoryId": 8,
+ "url": "https://imgur.com/",
+ "companyId": "imgur"
+ },
+ "imho_vi": {
+ "name": "imho vi",
+ "categoryId": 4,
+ "url": "http://www.imho.ru",
+ "companyId": "imho"
+ },
+ "immanalytics": {
+ "name": "Immanalytics",
+ "categoryId": 2,
+ "url": "https://www.roku.com/",
+ "companyId": "roku"
+ },
+ "immobilienscout24_de": {
+ "name": "immobilienscout24.de",
+ "categoryId": 8,
+ "url": "http://www.scout24.com/",
+ "companyId": "scout24"
+ },
+ "imonomy": {
+ "name": "imonomy",
+ "categoryId": 6,
+ "url": "http://imonomy.com/",
+ "companyId": "imonomy"
+ },
+ "impact_radius": {
+ "name": "Impact Radius",
+ "categoryId": 5,
+ "url": "http://www.impactradius.com/",
+ "companyId": "impact_radius"
+ },
+ "impresiones_web": {
+ "name": "Impresiones Web",
+ "categoryId": 4,
+ "url": "http://www.iw-advertising.com/",
+ "companyId": "impresiones_web"
+ },
+ "improve_digital": {
+ "name": "Improve Digital",
+ "categoryId": 4,
+ "url": "http://www.improvedigital.com/",
+ "companyId": "improve_digital"
+ },
+ "improvely": {
+ "name": "Improvely",
+ "categoryId": 6,
+ "url": "https://www.improvely.com/",
+ "companyId": "awio_web_services"
+ },
+ "inbenta": {
+ "name": "Inbenta",
+ "categoryId": 6,
+ "url": "https://www.inbenta.com/en/",
+ "companyId": "inbenta"
+ },
+ "inboxsdk.com": {
+ "name": "Inbox SDK",
+ "categoryId": 8,
+ "url": "https://www.inboxsdk.com/",
+ "companyId": null
+ },
+ "indeed": {
+ "name": "Indeed",
+ "categoryId": 4,
+ "url": "http://www.indeed.com/",
+ "companyId": "indeed"
+ },
+ "index_exchange": {
+ "name": "Index Exchange",
+ "categoryId": 4,
+ "url": "http://www.casalemedia.com/",
+ "companyId": "index_exchange"
+ },
+ "indieclick": {
+ "name": "IndieClick",
+ "categoryId": 4,
+ "url": "http://www.indieclick.com/",
+ "companyId": "leaf_group"
+ },
+ "industry_brains": {
+ "name": "Industry Brains",
+ "categoryId": 4,
+ "url": "http://www.industrybrains.com/",
+ "companyId": "industrybrains"
+ },
+ "infectious_media": {
+ "name": "Impression Desk",
+ "categoryId": 4,
+ "url": "https://impressiondesk.com/",
+ "companyId": "infectious_media"
+ },
+ "infinite_analytics": {
+ "name": "Infinite Analytics",
+ "categoryId": 6,
+ "url": "http://infiniteanalytics.com/products/",
+ "companyId": "infinite_analytics"
+ },
+ "infinity_tracking": {
+ "name": "Infinity Tracking",
+ "categoryId": 6,
+ "url": "http://www.infinity-tracking.com",
+ "companyId": "infinity_tracking"
+ },
+ "influads": {
+ "name": "InfluAds",
+ "categoryId": 4,
+ "url": "http://www.influads.com/",
+ "companyId": "influads"
+ },
+ "infolinks": {
+ "name": "InfoLinks",
+ "categoryId": 4,
+ "url": "http://www.infolinks.com/",
+ "companyId": "infolinks"
+ },
+ "infonline": {
+ "name": "INFOnline",
+ "categoryId": 6,
+ "url": "http://www.infonline.de/",
+ "companyId": "infonline"
+ },
+ "informer_technologies": {
+ "name": "Informer Technologies",
+ "categoryId": 6,
+ "url": "http://www.informer.com/",
+ "companyId": "informer_technologies"
+ },
+ "infusionsoft": {
+ "name": "Infusionsoft by Keap",
+ "categoryId": 4,
+ "url": "https://keap.com/",
+ "companyId": "infusionsoft"
+ },
+ "innity": {
+ "name": "Innity",
+ "categoryId": 4,
+ "url": "http://www.innity.com/",
+ "companyId": "innity"
+ },
+ "innogames.de": {
+ "name": "InnoGames",
+ "categoryId": 8,
+ "url": "https://www.innogames.com/",
+ "companyId": null
+ },
+ "innovid": {
+ "name": "Innovid",
+ "categoryId": 4,
+ "url": "https://www.innovid.com/",
+ "companyId": "innovid"
+ },
+ "inside": {
+ "name": "inside",
+ "categoryId": 7,
+ "url": "http://www.inside.tm/",
+ "companyId": "powerfront"
+ },
+ "insider": {
+ "name": "Insider",
+ "categoryId": 6,
+ "url": "http://useinsider.com/",
+ "companyId": "insider"
+ },
+ "insightexpress": {
+ "name": "InsightExpress",
+ "categoryId": 6,
+ "url": "https://www.millwardbrowndigital.com/",
+ "companyId": "millward_brown"
+ },
+ "inskin_media": {
+ "name": "InSkin Media",
+ "categoryId": 4,
+ "url": "http://www.inskinmedia.com/",
+ "companyId": "inskin_media"
+ },
+ "inspectlet": {
+ "name": "Inspectlet",
+ "categoryId": 6,
+ "url": "https://www.inspectlet.com/",
+ "companyId": "inspectlet"
+ },
+ "inspsearchapi.com": {
+ "name": "Infospace Search",
+ "categoryId": 4,
+ "url": "http://infospace.com/",
+ "companyId": "system1"
+ },
+ "instagram_com": {
+ "name": "Instagram",
+ "categoryId": 8,
+ "url": "https://www.facebook.com/",
+ "companyId": "facebook"
+ },
+ "instant_check_mate": {
+ "name": "Instant Check Mate",
+ "categoryId": 2,
+ "url": "https://www.instantcheckmate.com/",
+ "companyId": "instant_check_mate"
+ },
+ "instart_logic": {
+ "name": "Instart Logic",
+ "categoryId": 4,
+ "url": "https://www.instartlogic.com/",
+ "companyId": "instart_logic_inc"
+ },
+ "insticator": {
+ "name": "Insticator",
+ "categoryId": 4,
+ "url": "https://www.insticator.com/landingpage",
+ "companyId": "insticator"
+ },
+ "instinctive": {
+ "name": "Instinctive",
+ "categoryId": 4,
+ "url": "https://instinctive.io/",
+ "companyId": "instinctive"
+ },
+ "intango": {
+ "name": "Intango",
+ "categoryId": 4,
+ "url": "https://intango.com/",
+ "companyId": "intango"
+ },
+ "integral_ad_science": {
+ "name": "Integral Ad Science",
+ "categoryId": 4,
+ "url": "https://integralads.com/",
+ "companyId": "integral_ad_science"
+ },
+ "integral_marketing": {
+ "name": "Integral Marketing",
+ "categoryId": 4,
+ "url": "http://integral-marketing.com/",
+ "companyId": "integral_marketing"
+ },
+ "intelliad": {
+ "name": "intelliAd",
+ "categoryId": 6,
+ "url": "http://www.intelliad.de/",
+ "companyId": "intelliad"
+ },
+ "intelligencefocus": {
+ "name": "IntelligenceFocus",
+ "categoryId": 6,
+ "url": "http://www.intelligencefocus.com",
+ "companyId": "intelligencefocus"
+ },
+ "intelligent_reach": {
+ "name": "Intelligent Reach",
+ "categoryId": 4,
+ "url": "http://www.intelligentreach.com/",
+ "companyId": "intelligent_reach"
+ },
+ "intense_debate": {
+ "name": "Intense Debate",
+ "categoryId": 2,
+ "url": "http://intensedebate.com/",
+ "companyId": "automattic"
+ },
+ "intent_iq": {
+ "name": "Intent IQ",
+ "categoryId": 4,
+ "url": "http://datonics.com/",
+ "companyId": "almondnet"
+ },
+ "intent_media": {
+ "name": "Intent",
+ "categoryId": 4,
+ "url": "https://intent.com/",
+ "companyId": "intent_media"
+ },
+ "intercom": {
+ "name": "Intercom",
+ "categoryId": 2,
+ "url": "http://intercom.io/",
+ "companyId": "intercom"
+ },
+ "interedy.info": {
+ "name": "interedy.info",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "intergi": {
+ "name": "Intergi",
+ "categoryId": 4,
+ "url": "http://www.intergi.com/",
+ "companyId": "intergi_entertainment"
+ },
+ "intermarkets.net": {
+ "name": "Intermarkets",
+ "categoryId": 4,
+ "url": "http://intermarkets.net/",
+ "companyId": "intermarkets"
+ },
+ "intermundo_media": {
+ "name": "InterMundo Media",
+ "categoryId": 4,
+ "url": "http://intermundomedia.com/",
+ "companyId": "intermundo_media"
+ },
+ "internet_billboard": {
+ "name": "Internet BillBoard",
+ "categoryId": 4,
+ "url": "http://www.ibillboard.com/en/",
+ "companyId": "internet_billboard"
+ },
+ "internetaudioads": {
+ "name": "InternetAudioAds",
+ "categoryId": 0,
+ "url": "http://www.internetaudioads.com/",
+ "companyId": "internetaudioads"
+ },
+ "internetbrands": {
+ "name": "InternetBrands",
+ "categoryId": 7,
+ "url": "http://www.internetbrands.com/",
+ "companyId": "internet_brands"
+ },
+ "interpolls": {
+ "name": "Interpolls",
+ "categoryId": 4,
+ "url": "http://www.interpolls.com/",
+ "companyId": "interpolls"
+ },
+ "interyield": {
+ "name": "Interyield",
+ "categoryId": 4,
+ "url": "http://www.advertise.com/publisher-solutions/",
+ "companyId": "advertise.com"
+ },
+ "intilery": {
+ "name": "Intilery",
+ "categoryId": 6,
+ "url": "http://www.intilery.com",
+ "companyId": "intilery"
+ },
+ "intimate_merger": {
+ "name": "Intimate Merger",
+ "categoryId": 6,
+ "url": "https://corp.intimatemerger.com/",
+ "companyId": "intimate_merger"
+ },
+ "investingchannel": {
+ "name": "Investing Channel",
+ "categoryId": 8,
+ "url": "http://www.investingchannel.com/",
+ "companyId": "investingchannel"
+ },
+ "inviziads": {
+ "name": "InviziAds",
+ "categoryId": 4,
+ "url": "http://www.inviziads.com",
+ "companyId": "inviziads"
+ },
+ "invoca": {
+ "name": "Invoca",
+ "categoryId": 4,
+ "url": "http://www.invoca.com/",
+ "companyId": "invoca"
+ },
+ "invodo": {
+ "name": "Invodo",
+ "categoryId": 6,
+ "url": "http://www.invodo.com/",
+ "companyId": "invodo"
+ },
+ "ionicframework.com": {
+ "name": "Ionic",
+ "categoryId": 8,
+ "url": "https://ionicframework.com/",
+ "companyId": null
+ },
+ "iotec": {
+ "name": "iotec",
+ "categoryId": 4,
+ "url": "https://www.iotecglobal.com/",
+ "companyId": "iotec"
+ },
+ "iovation": {
+ "name": "iovation",
+ "categoryId": 5,
+ "url": "http://www.iovation.com/",
+ "companyId": "iovation"
+ },
+ "ip-label": {
+ "name": "ip-label",
+ "categoryId": 6,
+ "url": "http://www.ip-label.co.uk/",
+ "companyId": "ip-label"
+ },
+ "ip_targeting": {
+ "name": "IP Targeting",
+ "categoryId": 6,
+ "url": "https://www.iptargeting.com/",
+ "companyId": "el_toro"
+ },
+ "ip_tracker": {
+ "name": "IP Tracker",
+ "categoryId": 6,
+ "url": "http://www.ip-tracker.org/",
+ "companyId": "ip_tracker"
+ },
+ "iperceptions": {
+ "name": "iPerceptions",
+ "categoryId": 2,
+ "url": "http://www.iperceptions.com/",
+ "companyId": "iperceptions"
+ },
+ "ipfingerprint": {
+ "name": "IPFingerprint",
+ "categoryId": 6,
+ "url": "http://www.ipfingerprint.com/",
+ "companyId": "ipfingerprint"
+ },
+ "ipg_mediabrands": {
+ "name": "IPG Mediabrands",
+ "categoryId": 4,
+ "url": "https://www.ipgmediabrands.com/",
+ "companyId": "ipg_mediabrands"
+ },
+ "ipify": {
+ "name": "ipify",
+ "categoryId": 8,
+ "url": "https://www.ipify.org/",
+ "companyId": null
+ },
+ "ipinfo": {
+ "name": "Ipinfo",
+ "categoryId": 2,
+ "url": "https://ipinfo.io/",
+ "companyId": "ipinfo.io"
+ },
+ "iplogger": {
+ "name": "IPLogger",
+ "categoryId": 6,
+ "url": "http://iplogger.ru/",
+ "companyId": "iplogger"
+ },
+ "iprom": {
+ "name": "iprom",
+ "categoryId": 4,
+ "url": "http://www.iprom.si/",
+ "companyId": "iprom"
+ },
+ "ipromote": {
+ "name": "iPromote",
+ "categoryId": 4,
+ "url": "http://www.ipromote.com/",
+ "companyId": "ipromote"
+ },
+ "iprospect": {
+ "name": "iProspect",
+ "categoryId": 4,
+ "url": "http://www.iprospect.com/",
+ "companyId": "dentsu_aegis_network"
+ },
+ "ironsource": {
+ "name": "ironSource",
+ "categoryId": 4,
+ "url": "https://www.ironsrc.com/",
+ "companyId": "ironsource"
+ },
+ "isocket": {
+ "name": "isocket",
+ "categoryId": 4,
+ "url": "http://www.isocket.com/",
+ "companyId": "rubicon_project"
+ },
+ "ispot.tv": {
+ "name": "iSpot.tv",
+ "categoryId": 4,
+ "url": "https://www.ispot.tv/",
+ "companyId": null
+ },
+ "itineraire.info": {
+ "name": "itineraire.info",
+ "categoryId": 2,
+ "url": "https://www.itineraire.info/",
+ "companyId": null
+ },
+ "itunes_link_maker": {
+ "name": "iTunes Link Maker",
+ "categoryId": 4,
+ "url": "https://www.apple.com/",
+ "companyId": "apple"
+ },
+ "ity.im": {
+ "name": "ity.im",
+ "categoryId": 4,
+ "url": "http://ity.im/",
+ "companyId": "ity.im"
+ },
+ "iubenda.com": {
+ "name": "iubenda",
+ "categoryId": 5,
+ "url": "https://www.iubenda.com/",
+ "companyId": "iubenda"
+ },
+ "ivcbrasil.org.br": {
+ "name": "IVC Brasil",
+ "categoryId": 6,
+ "url": "https://ivcbrasil.org.br/#/home",
+ "companyId": null
+ },
+ "ividence": {
+ "name": "Ividence",
+ "categoryId": 4,
+ "url": "https://www.ividence.com/home/",
+ "companyId": "sien"
+ },
+ "iwiw_widgets": {
+ "name": "iWiW Widgets",
+ "categoryId": 2,
+ "url": "http://iwiw.hu",
+ "companyId": "iwiw"
+ },
+ "ixi_digital": {
+ "name": "IXI Digital",
+ "categoryId": 4,
+ "url": "http://www.equifax.com/home/en_us",
+ "companyId": "equifax"
+ },
+ "ixquick.com": {
+ "name": "ixquick",
+ "categoryId": 8,
+ "url": "https://www.ixquick.com/",
+ "companyId": "startpage"
+ },
+ "izooto": {
+ "name": "iZooto",
+ "categoryId": 6,
+ "url": "https://www.izooto.com/",
+ "companyId": "izooto"
+ },
+ "j-list_affiliate_program": {
+ "name": "J-List Affiliate Program",
+ "categoryId": 4,
+ "url": "http://www.jlist.com/page/affiliates.html",
+ "companyId": "j-list"
+ },
+ "jaco": {
+ "name": "Jaco",
+ "categoryId": 6,
+ "url": "https://www.walkme.com/",
+ "companyId": "walkme"
+ },
+ "janrain": {
+ "name": "Janrain",
+ "categoryId": 6,
+ "url": "http://www.janrain.com/",
+ "companyId": "akamai"
+ },
+ "jeeng": {
+ "name": "Jeeng",
+ "categoryId": 4,
+ "url": "https://jeeng.com/",
+ "companyId": "jeeng"
+ },
+ "jeeng_widgets": {
+ "name": "Jeeng Widgets",
+ "categoryId": 4,
+ "url": "https://jeeng.com/",
+ "companyId": "jeeng"
+ },
+ "jet_interactive": {
+ "name": "Jet Interactive",
+ "categoryId": 6,
+ "url": "http://www.jetinteractive.com.au/",
+ "companyId": "jet_interactive"
+ },
+ "jetlore": {
+ "name": "Jetlore",
+ "categoryId": 6,
+ "url": "http://www.jetlore.com/",
+ "companyId": "jetlore"
+ },
+ "jetpack": {
+ "name": "Jetpack",
+ "categoryId": 6,
+ "url": "https://jetpack.com/",
+ "companyId": "automattic"
+ },
+ "jetpack_digital": {
+ "name": "Jetpack Digital",
+ "categoryId": 6,
+ "url": "http://www.jetpack.com/",
+ "companyId": "jetpack_digital"
+ },
+ "jimdo.com": {
+ "name": "jimdo.com",
+ "categoryId": 10,
+ "url": null,
+ "companyId": null
+ },
+ "jink": {
+ "name": "Jink",
+ "categoryId": 4,
+ "url": "http://www.jink.de/",
+ "companyId": "jink"
+ },
+ "jirafe": {
+ "name": "Jirafe",
+ "categoryId": 6,
+ "url": "http://jirafe.com/",
+ "companyId": "jirafe"
+ },
+ "jivochat": {
+ "name": "JivoSite",
+ "categoryId": 2,
+ "url": "https://www.jivochat.com/",
+ "companyId": "jivochat"
+ },
+ "jivox": {
+ "name": "Jivox",
+ "categoryId": 4,
+ "url": "http://www.jivox.com/",
+ "companyId": "jivox"
+ },
+ "jobs_2_careers": {
+ "name": "Jobs 2 Careers",
+ "categoryId": 4,
+ "url": "http://www.jobs2careers.com/",
+ "companyId": "jobs_2_careers"
+ },
+ "joinhoney": {
+ "name": "Honey",
+ "categoryId": 8,
+ "url": "https://www.joinhoney.com/",
+ "companyId": null
+ },
+ "jornaya": {
+ "name": "Jornaya",
+ "categoryId": 6,
+ "url": "http://leadid.com/",
+ "companyId": "jornaya"
+ },
+ "jquery": {
+ "name": "jQuery",
+ "categoryId": 9,
+ "url": "https://jquery.org/",
+ "companyId": "js_foundation"
+ },
+ "js_communications": {
+ "name": "JS Communications",
+ "categoryId": 4,
+ "url": "http://www.jssearch.net/",
+ "companyId": "js_communications"
+ },
+ "jsdelivr": {
+ "name": "jsDelivr",
+ "categoryId": 9,
+ "url": "https://www.jsdelivr.com/",
+ "companyId": null
+ },
+ "jse_coin": {
+ "name": "JSE Coin",
+ "categoryId": 4,
+ "url": "https://jsecoin.com/",
+ "companyId": "jse_coin"
+ },
+ "jsuol.com.br": {
+ "name": "jsuol.com.br",
+ "categoryId": 4,
+ "url": null,
+ "companyId": null
+ },
+ "juggcash": {
+ "name": "JuggCash",
+ "categoryId": 3,
+ "url": "http://www.juggcash.com",
+ "companyId": "juggcash"
+ },
+ "juiceadv": {
+ "name": "JuiceADV",
+ "categoryId": 4,
+ "url": "http://juiceadv.com/",
+ "companyId": "juiceadv"
+ },
+ "juicyads": {
+ "name": "JuicyAds",
+ "categoryId": 3,
+ "url": "http://www.juicyads.com/",
+ "companyId": "juicyads"
+ },
+ "jumplead": {
+ "name": "Jumplead",
+ "categoryId": 6,
+ "url": "https://jumplead.com/",
+ "companyId": "jumplead"
+ },
+ "jumpstart_tagging_solutions": {
+ "name": "Jumpstart Tagging Solutions",
+ "categoryId": 6,
+ "url": "http://www.hearst.com/",
+ "companyId": "hearst"
+ },
+ "jumptap": {
+ "name": "Jumptap",
+ "categoryId": 4,
+ "url": "http://www.jumptap.com/",
+ "companyId": "verizon"
+ },
+ "jumptime": {
+ "name": "JumpTime",
+ "categoryId": 6,
+ "url": "http://www.jumptime.com/",
+ "companyId": "openx"
+ },
+ "just_answer": {
+ "name": "Just Answer",
+ "categoryId": 2,
+ "url": "https://www.justanswer.com/",
+ "companyId": "just_answer"
+ },
+ "just_premium": {
+ "name": "Just Premium",
+ "categoryId": 4,
+ "url": "http://justpremium.com/",
+ "companyId": "just_premium"
+ },
+ "just_relevant": {
+ "name": "Just Relevant",
+ "categoryId": 4,
+ "url": "http://www.justrelevant.com/",
+ "companyId": "just_relevant"
+ },
+ "jvc.gg": {
+ "name": "Jeuxvideo CDN",
+ "categoryId": 9,
+ "url": "http://www.jeuxvideo.com/",
+ "companyId": null
+ },
+ "jw_player": {
+ "name": "JW Player",
+ "categoryId": 0,
+ "url": "https://www.jwplayer.com/",
+ "companyId": "jw_player"
+ },
+ "jw_player_ad_solutions": {
+ "name": "JW Player Ad Solutions",
+ "categoryId": 4,
+ "url": "http://www.longtailvideo.com/adsolution/",
+ "companyId": "jw_player"
+ },
+ "kaeufersiegel.de": {
+ "name": "Käufersiegel",
+ "categoryId": 2,
+ "url": "https://www.kaeufersiegel.de/",
+ "companyId": null
+ },
+ "kairion.de": {
+ "name": "kairion",
+ "categoryId": 4,
+ "url": "https://kairion.de/",
+ "companyId": "prosieben_sat1"
+ },
+ "kaloo.ga": {
+ "name": "Kalooga",
+ "categoryId": 4,
+ "url": "https://www.kalooga.com/",
+ "companyId": "kalooga"
+ },
+ "kalooga_widget": {
+ "name": "Kalooga Widget",
+ "categoryId": 4,
+ "url": "http://kalooga.com/",
+ "companyId": "kalooga"
+ },
+ "kaltura": {
+ "name": "Kaltura",
+ "categoryId": 0,
+ "url": "http://corp.kaltura.com/",
+ "companyId": "kaltura"
+ },
+ "kameleoon": {
+ "name": "Kameleoon",
+ "categoryId": 6,
+ "url": "http://www.kameleoon.com/",
+ "companyId": "kameleoon"
+ },
+ "kampyle": {
+ "name": "Medallia",
+ "categoryId": 2,
+ "url": "http://www.kampyle.com/",
+ "companyId": "medallia"
+ },
+ "kanoodle": {
+ "name": "Kanoodle",
+ "categoryId": 4,
+ "url": "http://www.kanoodle.com/",
+ "companyId": "kanoodle"
+ },
+ "kantar_media": {
+ "name": "Kantar Media",
+ "categoryId": 4,
+ "url": "https://www.kantarmedia.com/",
+ "companyId": "wpp"
+ },
+ "kargo": {
+ "name": "Kargo",
+ "categoryId": 4,
+ "url": "http://www.kargo.com/",
+ "companyId": "kargo"
+ },
+ "kaspersky-labs.com": {
+ "name": "Kaspersky Labs",
+ "categoryId": 12,
+ "url": "https://www.kaspersky.com/",
+ "companyId": "AO Kaspersky Lab"
+ },
+ "kataweb.it": {
+ "name": "KataWeb",
+ "categoryId": 4,
+ "url": "http://www.kataweb.it/",
+ "companyId": null
+ },
+ "katchup": {
+ "name": "Katchup",
+ "categoryId": 4,
+ "url": "http://www.katchup.fr/",
+ "companyId": "katchup"
+ },
+ "kauli": {
+ "name": "Kauli",
+ "categoryId": 4,
+ "url": "http://kau.li/",
+ "companyId": "kauli"
+ },
+ "kavanga": {
+ "name": "Kavanga",
+ "categoryId": 4,
+ "url": "http://kavanga.ru/",
+ "companyId": "kavanga"
+ },
+ "keen_io": {
+ "name": "Keen IO",
+ "categoryId": 6,
+ "url": "https://keen.io",
+ "companyId": "keen_io"
+ },
+ "kelkoo": {
+ "name": "Kelkoo",
+ "categoryId": 4,
+ "url": "http://www.kelkoo.com/",
+ "companyId": "kelkoo"
+ },
+ "kenshoo": {
+ "name": "Kenshoo",
+ "categoryId": 6,
+ "url": "http://www.kenshoo.com/",
+ "companyId": "kenshoo"
+ },
+ "keymetric": {
+ "name": "KeyMetric",
+ "categoryId": 6,
+ "url": "http://keymetric.net/",
+ "companyId": "keymetric"
+ },
+ "keytiles": {
+ "name": "Keytiles",
+ "categoryId": 6,
+ "url": "http://keytiles.com/",
+ "companyId": "keytiles"
+ },
+ "keywee": {
+ "name": "Keywee",
+ "categoryId": 6,
+ "url": "https://keywee.co/",
+ "companyId": "keywee"
+ },
+ "keywordmax": {
+ "name": "KeywordMax",
+ "categoryId": 4,
+ "url": "http://www.keywordmax.com/",
+ "companyId": "digital_river"
+ },
+ "khoros": {
+ "name": "Khoros",
+ "categoryId": 7,
+ "url": "http://www.massrelevance.com/",
+ "companyId": "khoros"
+ },
+ "khzbeucrltin.com": {
+ "name": "khzbeucrltin.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "kickfactory": {
+ "name": "Kickfactory",
+ "categoryId": 4,
+ "url": "https://kickfactory.com/",
+ "companyId": "kickfactory"
+ },
+ "kickfire": {
+ "name": "Kickfire",
+ "categoryId": 4,
+ "url": "http://www.visistat.com/",
+ "companyId": "kickfire"
+ },
+ "king.com": {
+ "name": "King.com",
+ "categoryId": 4,
+ "url": "http://www.king.com/",
+ "companyId": "king.com"
+ },
+ "king_com": {
+ "name": "King.com",
+ "categoryId": 8,
+ "url": "https://king.com/",
+ "companyId": "activision_blizzard"
+ },
+ "kinja.com": {
+ "name": "Kinja",
+ "categoryId": 6,
+ "url": "https://kinja.com/",
+ "companyId": "gizmodo"
+ },
+ "kiosked": {
+ "name": "Kiosked",
+ "categoryId": 4,
+ "url": "http://www.kiosked.com/",
+ "companyId": "kiosked"
+ },
+ "kissmetrics.com": {
+ "name": "Kissmetrics",
+ "categoryId": 6,
+ "url": "https://www.kissmetrics.com/",
+ "companyId": "kissmetrics"
+ },
+ "kitara_media": {
+ "name": "Kitara Media",
+ "categoryId": 4,
+ "url": "http://www.kitaramedia.com/",
+ "companyId": "kitara_media"
+ },
+ "kixer": {
+ "name": "Kixer",
+ "categoryId": 4,
+ "url": "http://www.kixer.com",
+ "companyId": "kixer"
+ },
+ "klarna.com": {
+ "name": "Klarna",
+ "categoryId": 2,
+ "url": "https://www.klarna.com/",
+ "companyId": null
+ },
+ "klaviyo": {
+ "name": "Klaviyo",
+ "categoryId": 6,
+ "url": "https://www.klaviyo.com/",
+ "companyId": "klaviyo"
+ },
+ "klikki": {
+ "name": "Klikki",
+ "categoryId": 4,
+ "url": "http://www.klikki.com/",
+ "companyId": "klikki"
+ },
+ "kliksaya": {
+ "name": "KlikSaya",
+ "categoryId": 4,
+ "url": "http://www.kliksaya.com",
+ "companyId": "kliksaya"
+ },
+ "kmeleo": {
+ "name": "Kméléo",
+ "categoryId": 4,
+ "url": "http://www.6peo.com/",
+ "companyId": "6peo"
+ },
+ "knoopstat": {
+ "name": "Knoopstat",
+ "categoryId": 6,
+ "url": "http://www.knoopstat.nl",
+ "companyId": "knoopstat"
+ },
+ "knotch": {
+ "name": "Knotch",
+ "categoryId": 2,
+ "url": "http://knotch.it",
+ "companyId": "knotch"
+ },
+ "komoona": {
+ "name": "Komoona",
+ "categoryId": 4,
+ "url": "http://www.komoona.com/",
+ "companyId": "komoona"
+ },
+ "kontera_contentlink": {
+ "name": "Kontera ContentLink",
+ "categoryId": 4,
+ "url": "http://www.kontera.com/",
+ "companyId": "singtel"
+ },
+ "kontextr": {
+ "name": "Kontextr",
+ "categoryId": 4,
+ "url": "https://www.kontextr.com/",
+ "companyId": "kontext"
+ },
+ "kontextua": {
+ "name": "Kontextua",
+ "categoryId": 4,
+ "url": "http://www.kontextua.com/",
+ "companyId": "kontextua"
+ },
+ "korrelate": {
+ "name": "Korrelate",
+ "categoryId": 4,
+ "url": "http://korrelate.com/",
+ "companyId": "korrelate"
+ },
+ "kortx": {
+ "name": "Kortx",
+ "categoryId": 6,
+ "url": "http://www.kortx.io/",
+ "companyId": "kortx"
+ },
+ "kount": {
+ "name": "Kount",
+ "categoryId": 6,
+ "url": "https://kount.com/",
+ "companyId": null
+ },
+ "krux_digital": {
+ "name": "Salesforce DMP",
+ "categoryId": 4,
+ "url": "https://www.salesforce.com/products/marketing-cloud/data-management/?mc=DMP",
+ "companyId": "salesforce"
+ },
+ "kupona": {
+ "name": "Kupona",
+ "categoryId": 4,
+ "url": "http://www.kupona-media.de/en/retargeting-and-performance-media-width-kupona",
+ "companyId": "kupona"
+ },
+ "kxcdn.com": {
+ "name": "Keycdn",
+ "categoryId": 9,
+ "url": "https://www.keycdn.com/",
+ "companyId": null
+ },
+ "kyto": {
+ "name": "Kyto",
+ "categoryId": 6,
+ "url": "https://www.kyto.com/",
+ "companyId": "kyto"
+ },
+ "ladsp.com": {
+ "name": "Logicad",
+ "categoryId": 4,
+ "url": "https://www.logicad.com/",
+ "companyId": "logicad"
+ },
+ "lanista_concepts": {
+ "name": "Lanista Concepts",
+ "categoryId": 4,
+ "url": "http://lanistaconcepts.com/",
+ "companyId": "lanista_concepts"
+ },
+ "latimes": {
+ "name": "Los Angeles Times",
+ "categoryId": 8,
+ "url": "http://www.latimes.com/",
+ "companyId": "latimes"
+ },
+ "launch_darkly": {
+ "name": "Launch Darkly",
+ "categoryId": 5,
+ "url": "https://launchdarkly.com/index.html",
+ "companyId": "launch_darkly"
+ },
+ "launchbit": {
+ "name": "LaunchBit",
+ "categoryId": 4,
+ "url": "https://www.launchbit.com/",
+ "companyId": "launchbit"
+ },
+ "layer-ad.org": {
+ "name": "Layer-ADS.net",
+ "categoryId": 4,
+ "url": "http://layer-ads.net/",
+ "companyId": null
+ },
+ "lazada": {
+ "name": "Lazada",
+ "categoryId": 4,
+ "url": "https://www.lazada.com/",
+ "companyId": "lazada"
+ },
+ "lcx_digital": {
+ "name": "LCX Digital",
+ "categoryId": 4,
+ "url": "http://www.lcx.com/",
+ "companyId": "lcx_digital"
+ },
+ "le_monde.fr": {
+ "name": "Le Monde.fr",
+ "categoryId": 8,
+ "url": "http://www.lemonde.fr/",
+ "companyId": "le_monde.fr"
+ },
+ "lead_liaison": {
+ "name": "Lead Liaison",
+ "categoryId": 6,
+ "url": "https://www.leadliaison.com",
+ "companyId": "lead_liaison"
+ },
+ "leadback": {
+ "name": "Leadback",
+ "categoryId": 6,
+ "url": "http://leadback.ru/?utm_source=leadback_widget&utm_medium=eas-balt.ru&utm_campaign=self_ad",
+ "companyId": "leadback"
+ },
+ "leaddyno": {
+ "name": "LeadDyno",
+ "categoryId": 4,
+ "url": "http://www.leaddyno.com",
+ "companyId": "leaddyno"
+ },
+ "leadforensics": {
+ "name": "LeadForensics",
+ "categoryId": 4,
+ "url": "http://www.leadforensics.com/",
+ "companyId": "lead_forensics"
+ },
+ "leadgenic": {
+ "name": "LeadGENIC",
+ "categoryId": 4,
+ "url": "https://leadgenic.com/",
+ "companyId": "leadgenic"
+ },
+ "leadhit": {
+ "name": "LeadHit",
+ "categoryId": 2,
+ "url": "http://leadhit.ru/",
+ "companyId": "leadhit"
+ },
+ "leadin": {
+ "name": "Leadin",
+ "categoryId": 6,
+ "url": "https://www.hubspot.com/",
+ "companyId": "hubspot"
+ },
+ "leading_reports": {
+ "name": "Leading Reports",
+ "categoryId": 4,
+ "url": "https://www.leadingreports.de/",
+ "companyId": "leading_reports"
+ },
+ "leadinspector": {
+ "name": "LeadInspector",
+ "categoryId": 6,
+ "url": "https://www.leadinspector.de/",
+ "companyId": "leadinspector"
+ },
+ "leadlander": {
+ "name": "LeadLander",
+ "categoryId": 6,
+ "url": "http://www.leadlander.com/",
+ "companyId": "leadlander"
+ },
+ "leadlife": {
+ "name": "LeadLife",
+ "categoryId": 2,
+ "url": "http://leadlife.com/",
+ "companyId": "leadlife"
+ },
+ "leadpages": {
+ "name": "Leadpages",
+ "categoryId": 6,
+ "url": "https://www.leadpages.net/",
+ "companyId": "leadpages"
+ },
+ "leadplace": {
+ "name": "LeadPlace",
+ "categoryId": 6,
+ "url": "https://temelio.com",
+ "companyId": "leadplace"
+ },
+ "leads_by_web.com": {
+ "name": "Leads by Web.com",
+ "categoryId": 4,
+ "url": "http://www.leadsbyweb.com",
+ "companyId": "web.com_group"
+ },
+ "leadscoreapp": {
+ "name": "LeadScoreApp",
+ "categoryId": 2,
+ "url": "http://leadscoreapp.com",
+ "companyId": "leadscoreapp"
+ },
+ "leadsius": {
+ "name": "Leadsius",
+ "categoryId": 4,
+ "url": "http://www.leadsius.com/",
+ "companyId": "leadsius"
+ },
+ "leady": {
+ "name": "Leady",
+ "categoryId": 4,
+ "url": "http://www.leady.cz/",
+ "companyId": "leady"
+ },
+ "leiki": {
+ "name": "Leiki",
+ "categoryId": 4,
+ "url": "http://www.leiki.com",
+ "companyId": "leiki"
+ },
+ "lengow": {
+ "name": "Lengow",
+ "categoryId": 4,
+ "url": "http://www.lengow.com/",
+ "companyId": "lengow"
+ },
+ "lenmit.com": {
+ "name": "lenmit.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "lentainform.com": {
+ "name": "lentainform.com",
+ "categoryId": 8,
+ "url": "https://www.lentainform.com/",
+ "companyId": null
+ },
+ "lenua.de": {
+ "name": "Lenua System",
+ "categoryId": 4,
+ "url": "http://lenua.de/",
+ "companyId": "synatix"
+ },
+ "let_reach": {
+ "name": "Let Reach",
+ "categoryId": 2,
+ "url": "https://letreach.com/",
+ "companyId": "let_reach"
+ },
+ "letv": {
+ "name": "LeTV",
+ "categoryId": 6,
+ "url": "http://www.le.com/",
+ "companyId": "letv"
+ },
+ "level3_communications": {
+ "name": "Level 3 Communications, Inc.",
+ "categoryId": 8,
+ "url": "http://www.level3.com/en/",
+ "companyId": "level3_communications"
+ },
+ "licensebuttons.net": {
+ "name": "licensebuttons.net",
+ "categoryId": 9,
+ "url": "https://licensebuttons.net/",
+ "companyId": null
+ },
+ "lifestreet_media": {
+ "name": "LifeStreet Media",
+ "categoryId": 4,
+ "url": "http://lifestreetmedia.com/",
+ "companyId": "lifestreet_media"
+ },
+ "ligatus": {
+ "name": "Ligatus",
+ "categoryId": 4,
+ "url": "http://www.ligatus.com/",
+ "companyId": "outbrain"
+ },
+ "limk": {
+ "name": "Limk",
+ "categoryId": 4,
+ "url": "https://limk.com/",
+ "companyId": "limk"
+ },
+ "line_apps": {
+ "name": "Line",
+ "categoryId": 6,
+ "url": "https://line.me/en-US/",
+ "companyId": "line"
+ },
+ "linezing": {
+ "name": "LineZing",
+ "categoryId": 4,
+ "url": "http://www.linezing.com/",
+ "companyId": "linezing"
+ },
+ "linkbucks": {
+ "name": "Linkbucks",
+ "categoryId": 4,
+ "url": "http://www.linkbucks.com/",
+ "companyId": "linkbucks"
+ },
+ "linkconnector": {
+ "name": "LinkConnector",
+ "categoryId": 4,
+ "url": "http://www.linkconnector.com",
+ "companyId": "linkconnector"
+ },
+ "linkedin": {
+ "name": "LinkedIn",
+ "categoryId": 8,
+ "url": "https://www.linkedin.com/",
+ "companyId": "microsoft"
+ },
+ "linkedin_ads": {
+ "name": "LinkedIn Ads",
+ "categoryId": 4,
+ "url": "http://www.linkedin.com/",
+ "companyId": "microsoft"
+ },
+ "linkedin_analytics": {
+ "name": "LinkedIn Analytics",
+ "categoryId": 6,
+ "url": "https://www.microsoft.com/",
+ "companyId": "microsoft"
+ },
+ "linkedin_marketing_solutions": {
+ "name": "LinkedIn Marketing Solutions",
+ "categoryId": 4,
+ "url": "https://business.linkedin.com/marketing-solutions",
+ "companyId": "microsoft"
+ },
+ "linkedin_widgets": {
+ "name": "LinkedIn Widgets",
+ "categoryId": 7,
+ "url": "https://www.linkedin.com",
+ "companyId": "microsoft"
+ },
+ "linker": {
+ "name": "Linker",
+ "categoryId": 4,
+ "url": "https://linker.hr/",
+ "companyId": "linker"
+ },
+ "linkprice": {
+ "name": "LinkPrice",
+ "categoryId": 4,
+ "url": "http://www.linkprice.com/",
+ "companyId": "linkprice"
+ },
+ "linkpulse": {
+ "name": "Linkpulse",
+ "categoryId": 6,
+ "url": "http://www.linkpulse.com/",
+ "companyId": "linkpulse"
+ },
+ "linksalpha": {
+ "name": "LinksAlpha",
+ "categoryId": 7,
+ "url": "http://www.linksalpha.com",
+ "companyId": "linksalpha"
+ },
+ "linksmart": {
+ "name": "LinkSmart",
+ "categoryId": 4,
+ "url": "http://www.linksmart.com/",
+ "companyId": "sovrn"
+ },
+ "linkstorm": {
+ "name": "Linkstorm",
+ "categoryId": 2,
+ "url": "http://www.linkstorms.com/",
+ "companyId": "linkstorm"
+ },
+ "linksynergy.com": {
+ "name": "Rakuten LinkShare",
+ "categoryId": 4,
+ "url": "https://rakutenmarketing.com/affiliate",
+ "companyId": "rakuten"
+ },
+ "linkup": {
+ "name": "LinkUp",
+ "categoryId": 6,
+ "url": "http://www.linkup.com/",
+ "companyId": "linkup"
+ },
+ "linkwise": {
+ "name": "Linkwise",
+ "categoryId": 4,
+ "url": "http://linkwi.se/global-en/",
+ "companyId": "linkwise"
+ },
+ "linkwithin": {
+ "name": "LinkWithin",
+ "categoryId": 7,
+ "url": "http://www.linkwithin.com/",
+ "companyId": "linkwithin"
+ },
+ "liquidm_technology_gmbh": {
+ "name": "LiquidM Technology GmbH",
+ "categoryId": 4,
+ "url": "https://liquidm.com/",
+ "companyId": "liquidm"
+ },
+ "liqwid": {
+ "name": "Liqwid",
+ "categoryId": 4,
+ "url": "https://liqwid.com/",
+ "companyId": "liqwid"
+ },
+ "list.ru": {
+ "name": "Rating@Mail.Ru",
+ "categoryId": 7,
+ "url": "http://list.ru/",
+ "companyId": "megafon"
+ },
+ "listrak": {
+ "name": "Listrak",
+ "categoryId": 2,
+ "url": "http://www.listrak.com/",
+ "companyId": "listrak"
+ },
+ "live2support": {
+ "name": "Live2Support",
+ "categoryId": 2,
+ "url": "http://www.live2support.com/",
+ "companyId": "live2support"
+ },
+ "live800": {
+ "name": "Live800",
+ "categoryId": 2,
+ "url": "http://live800.com",
+ "companyId": "live800"
+ },
+ "live_agent": {
+ "name": "Live Agent",
+ "categoryId": 2,
+ "url": "https://www.ladesk.com/",
+ "companyId": "liveagent"
+ },
+ "live_help_now": {
+ "name": "Live Help Now",
+ "categoryId": 2,
+ "url": "http://www.livehelpnow.net/",
+ "companyId": "live_help_now"
+ },
+ "live_intent": {
+ "name": "Live Intent",
+ "categoryId": 6,
+ "url": "http://www.liveintent.com/",
+ "companyId": "liveintent"
+ },
+ "live_journal": {
+ "name": "Live Journal",
+ "categoryId": 6,
+ "url": "http://www.livejournal.com/",
+ "companyId": "livejournal"
+ },
+ "liveadexchanger.com": {
+ "name": "liveadexchanger.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "livechat": {
+ "name": "LiveChat",
+ "categoryId": 2,
+ "url": "http://www.livechatinc.com",
+ "companyId": "livechat"
+ },
+ "livechatnow": {
+ "name": "LiveChatNow",
+ "categoryId": 2,
+ "url": "http://www.livechatnow.com/",
+ "companyId": "livechatnow!"
+ },
+ "liveclicker": {
+ "name": "Liveclicker",
+ "categoryId": 2,
+ "url": "http://www.liveclicker.com",
+ "companyId": "liveclicker"
+ },
+ "livecounter": {
+ "name": "Livecounter",
+ "categoryId": 6,
+ "url": "http://www.livecounter.dk/",
+ "companyId": "livecounter"
+ },
+ "livefyre": {
+ "name": "Livefyre",
+ "categoryId": 1,
+ "url": "http://www.livefyre.com/",
+ "companyId": "adobe"
+ },
+ "liveinternet": {
+ "name": "LiveInternet",
+ "categoryId": 1,
+ "url": "http://www.liveinternet.ru/",
+ "companyId": "liveinternet"
+ },
+ "liveperson": {
+ "name": "LivePerson",
+ "categoryId": 2,
+ "url": "http://www.liveperson.com/",
+ "companyId": "liveperson"
+ },
+ "liveramp": {
+ "name": "LiveRamp",
+ "categoryId": 4,
+ "url": "https://liveramp.com/",
+ "companyId": "acxiom"
+ },
+ "livere": {
+ "name": "LiveRe",
+ "categoryId": 7,
+ "url": "http://www.livere.com/",
+ "companyId": "livere"
+ },
+ "livesportmedia.eu": {
+ "name": "Livesport Media",
+ "categoryId": 8,
+ "url": "http://www.livesportmedia.eu/",
+ "companyId": null
+ },
+ "livestream": {
+ "name": "Livestream",
+ "categoryId": 0,
+ "url": "http://vimeo.com/",
+ "companyId": "vimeo"
+ },
+ "livetex.ru": {
+ "name": "LiveTex",
+ "categoryId": 2,
+ "url": "https://livetex.ru/",
+ "companyId": "livetex"
+ },
+ "lkqd": {
+ "name": "LKQD",
+ "categoryId": 4,
+ "url": "http://www.lkqd.com/",
+ "companyId": "nexstar"
+ },
+ "loadbee.com": {
+ "name": "Loadbee",
+ "categoryId": 4,
+ "url": "https://company.loadbee.com/de/loadbee-home",
+ "companyId": null
+ },
+ "loadercdn.com": {
+ "name": "loadercdn.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "loadsource.org": {
+ "name": "loadsource.org",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "localytics": {
+ "name": "Localytics",
+ "categoryId": 6,
+ "url": "http://www.localytics.com/",
+ "companyId": "localytics"
+ },
+ "lockerdome": {
+ "name": "LockerDome",
+ "categoryId": 7,
+ "url": "https://lockerdome.com",
+ "companyId": "lockerdome"
+ },
+ "lockerz_share": {
+ "name": "AddToAny",
+ "categoryId": 7,
+ "url": "http://www.addtoany.com/",
+ "companyId": "addtoany"
+ },
+ "logan_media": {
+ "name": "Logan Media",
+ "categoryId": 6,
+ "url": "http://loganmedia.mobi/",
+ "companyId": "logan_media"
+ },
+ "logdna": {
+ "name": "LogDNA",
+ "categoryId": 4,
+ "url": "http://www.answerbook.com/",
+ "companyId": "logdna"
+ },
+ "loggly": {
+ "name": "Loggly",
+ "categoryId": 6,
+ "url": "http://loggly.com/",
+ "companyId": "loggly"
+ },
+ "logly": {
+ "name": "logly",
+ "categoryId": 6,
+ "url": "http://logly.co.jp/",
+ "companyId": "logly"
+ },
+ "logsss.com": {
+ "name": "logsss.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "lomadee": {
+ "name": "Lomadee",
+ "categoryId": 4,
+ "url": "http://lomadee.com",
+ "companyId": "lomadee"
+ },
+ "longtail_video_analytics": {
+ "name": "JW Player Analytics",
+ "categoryId": 4,
+ "url": "http://www.longtailvideo.com/",
+ "companyId": "jw_player"
+ },
+ "loomia": {
+ "name": "Loomia",
+ "categoryId": 4,
+ "url": "http://www.loomia.com/",
+ "companyId": "loomia"
+ },
+ "loop11": {
+ "name": "Loop11",
+ "categoryId": 6,
+ "url": "https://360i.com/",
+ "companyId": "360i"
+ },
+ "loopfuse_oneview": {
+ "name": "LoopFuse OneView",
+ "categoryId": 4,
+ "url": "http://www.loopfuse.com/",
+ "companyId": "loopfuse"
+ },
+ "lotame": {
+ "name": "Lotame",
+ "categoryId": 4,
+ "url": "http://www.lotame.com/",
+ "companyId": "lotame"
+ },
+ "lottex_inc": {
+ "name": "vidcpm.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "lucid": {
+ "name": "Lucid",
+ "categoryId": 4,
+ "url": "https://luc.id/",
+ "companyId": "luc.id"
+ },
+ "lucid_media": {
+ "name": "Lucid Media",
+ "categoryId": 4,
+ "url": "http://www.lucidmedia.com/",
+ "companyId": "singtel"
+ },
+ "lucini": {
+ "name": "Lucini",
+ "categoryId": 4,
+ "url": "http://www.lucinilucini.com/",
+ "companyId": "lucini_&_lucini_communications"
+ },
+ "lucky_orange": {
+ "name": "Lucky Orange",
+ "categoryId": 6,
+ "url": "http://www.luckyorange.com/",
+ "companyId": "lucky_orange"
+ },
+ "luckypushh.com": {
+ "name": "luckypushh.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "lxr100": {
+ "name": "LXR100",
+ "categoryId": 4,
+ "url": "http://www.netelixir.com/lxr100_PPC_management_tool.html",
+ "companyId": "netelixir"
+ },
+ "lynchpin_analytics": {
+ "name": "Lynchpin Analytics",
+ "categoryId": 4,
+ "url": "http://www.lynchpin.com/",
+ "companyId": "lynchpin_analytics"
+ },
+ "lytics": {
+ "name": "Lytics",
+ "categoryId": 6,
+ "url": "https://www.lytics.com/",
+ "companyId": "lytics"
+ },
+ "lyuoaxruaqdo.com": {
+ "name": "lyuoaxruaqdo.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "m-pathy": {
+ "name": "m-pathy",
+ "categoryId": 4,
+ "url": "http://www.m-pathy.com/",
+ "companyId": "m-pathy"
+ },
+ "m._p._newmedia": {
+ "name": "M. P. NEWMEDIA",
+ "categoryId": 4,
+ "url": "http://www.mp-newmedia.com/",
+ "companyId": "sticky"
+ },
+ "m4n": {
+ "name": "M4N",
+ "categoryId": 4,
+ "url": "http://www.zanox.com/us/",
+ "companyId": "axel_springer"
+ },
+ "mad_ads_media": {
+ "name": "Mad Ads Media",
+ "categoryId": 4,
+ "url": "http://www.madadsmedia.com/",
+ "companyId": "mad_ads_media"
+ },
+ "madeleine.de": {
+ "name": "madeleine.de",
+ "categoryId": 4,
+ "url": null,
+ "companyId": null
+ },
+ "madison_logic": {
+ "name": "Madison Logic",
+ "categoryId": 4,
+ "url": "http://www.madisonlogic.com/",
+ "companyId": "madison_logic"
+ },
+ "madnet": {
+ "name": "MADNET",
+ "categoryId": 4,
+ "url": "http://madnet.ru/en",
+ "companyId": "madnet"
+ },
+ "mads": {
+ "name": "MADS",
+ "categoryId": 4,
+ "url": "http://www.mads.com/",
+ "companyId": "mads"
+ },
+ "magna_advertise": {
+ "name": "Magna Advertise",
+ "categoryId": 4,
+ "url": "http://magna.ru/",
+ "companyId": "magna_advertise"
+ },
+ "magnetic": {
+ "name": "Magnetic",
+ "categoryId": 4,
+ "url": "http://www.magnetic.is",
+ "companyId": "magnetic"
+ },
+ "magnetise_group": {
+ "name": "Magnetise Group",
+ "categoryId": 4,
+ "url": "http://magnetisegroup.com/",
+ "companyId": "magnetise_group"
+ },
+ "magnify360": {
+ "name": "Magnify360",
+ "categoryId": 6,
+ "url": "http://www.magnify360.com/",
+ "companyId": "magnify360"
+ },
+ "magnuum.com": {
+ "name": "magnuum.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "mail.ru_banner": {
+ "name": "Mail.Ru Banner Network",
+ "categoryId": 4,
+ "url": "http://mail.ru/",
+ "companyId": "vk",
+ "source": "AdGuard"
+ },
+ "mail.ru_counter": {
+ "name": "Mail.Ru Counter",
+ "categoryId": 2,
+ "url": "http://mail.ru/",
+ "companyId": "vk",
+ "source": "AdGuard"
+ },
+ "mail.ru_group": {
+ "name": "Mail.Ru Group",
+ "categoryId": 7,
+ "url": "http://mail.ru/",
+ "companyId": "vk",
+ "source": "AdGuard"
+ },
+ "mailchimp_tracking": {
+ "name": "MailChimp Tracking",
+ "categoryId": 4,
+ "url": "http://mailchimp.com/",
+ "companyId": "mailchimp"
+ },
+ "mailerlite.com": {
+ "name": "Mailerlite",
+ "categoryId": 10,
+ "url": "https://www.mailerlite.com/",
+ "companyId": "mailerlite"
+ },
+ "mailtrack.io": {
+ "name": "MailTrack.io",
+ "categoryId": 4,
+ "url": "https://mailtrack.io",
+ "companyId": "mailtrack"
+ },
+ "mainadv": {
+ "name": "mainADV",
+ "categoryId": 4,
+ "url": "http://www.mainadv.com/",
+ "companyId": "mainadv"
+ },
+ "makazi": {
+ "name": "Makazi",
+ "categoryId": 4,
+ "url": "http://www.makazi.com/en/",
+ "companyId": "makazi_group"
+ },
+ "makeappdev.xyz": {
+ "name": "makeappdev.xyz",
+ "categoryId": 12,
+ "url": null,
+ "companyId": null
+ },
+ "makesource.cool": {
+ "name": "makesource.cool",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "mango": {
+ "name": "Mango",
+ "categoryId": 4,
+ "url": "https://www.mango-office.ru/",
+ "companyId": "mango_office"
+ },
+ "manycontacts": {
+ "name": "ManyContacts",
+ "categoryId": 4,
+ "url": "https://www.manycontacts.com/",
+ "companyId": "manycontacts"
+ },
+ "mapandroute.de": {
+ "name": "Map and Route",
+ "categoryId": 2,
+ "url": "http://www.mapandroute.de/",
+ "companyId": null
+ },
+ "mapbox": {
+ "name": "Mapbox",
+ "categoryId": 2,
+ "url": "https://www.mapbox.com/",
+ "companyId": null
+ },
+ "maploco": {
+ "name": "MapLoco",
+ "categoryId": 4,
+ "url": "http://www.maploco.com/",
+ "companyId": "maploco"
+ },
+ "marchex": {
+ "name": "Marchex",
+ "categoryId": 4,
+ "url": "http://www.industrybrains.com/",
+ "companyId": "marchex"
+ },
+ "marimedia": {
+ "name": "Marimedia",
+ "categoryId": 4,
+ "url": "http://www.marimedia.net/",
+ "companyId": "tremor_video"
+ },
+ "marin_search_marketer": {
+ "name": "Marin Search Marketer",
+ "categoryId": 4,
+ "url": "http://www.marinsoftware.com/",
+ "companyId": "marin_software"
+ },
+ "mark_+_mini": {
+ "name": "Mark & Mini",
+ "categoryId": 4,
+ "url": "http://www.markandmini.com/index.cfm",
+ "companyId": "edm_group"
+ },
+ "market_thunder": {
+ "name": "Market Thunder",
+ "categoryId": 4,
+ "url": "https://www.makethunder.com/",
+ "companyId": "market_thunder"
+ },
+ "marketgid": {
+ "name": "MarketGid",
+ "categoryId": 4,
+ "url": "http://www.mgid.com/",
+ "companyId": "marketgid_usa"
+ },
+ "marketing_automation": {
+ "name": "Marketing Automation",
+ "categoryId": 4,
+ "url": "https://en.frodx.com",
+ "companyId": "frodx"
+ },
+ "marketo": {
+ "name": "Marketo",
+ "categoryId": 4,
+ "url": "http://www.marketo.com/",
+ "companyId": "marketo"
+ },
+ "markmonitor": {
+ "name": "MarkMonitor",
+ "categoryId": 4,
+ "url": "https://www.markmonitor.com/",
+ "companyId": "markmonitor",
+ "source": "AdGuard"
+ },
+ "marktest": {
+ "name": "Marktest",
+ "categoryId": 4,
+ "url": "http://www.marktest.com/",
+ "companyId": "marktest_group"
+ },
+ "marshadow.io": {
+ "name": "marshadow.io",
+ "categoryId": 4,
+ "url": null,
+ "companyId": null
+ },
+ "martini_media": {
+ "name": "Martini Media",
+ "categoryId": 4,
+ "url": "http://martinimediainc.com/",
+ "companyId": "martini_media"
+ },
+ "maru-edu": {
+ "name": "Maru-EDU",
+ "categoryId": 2,
+ "url": "https://www.maruedr.com",
+ "companyId": "maruedr"
+ },
+ "marvellous_machine": {
+ "name": "Marvellous Machine",
+ "categoryId": 6,
+ "url": "https://www.marvellousmachine.net/",
+ "companyId": "marvellous_machine"
+ },
+ "master_banner_network": {
+ "name": "Master Banner Network",
+ "categoryId": 4,
+ "url": "http://www.mbn.com.ua/",
+ "companyId": "master_banner_network"
+ },
+ "mastertarget": {
+ "name": "MasterTarget",
+ "categoryId": 4,
+ "url": "http://mastertarget.ru/",
+ "companyId": "mastertarget"
+ },
+ "matelso": {
+ "name": "Matelso",
+ "categoryId": 6,
+ "url": "https://www.matelso.de",
+ "companyId": "matelso"
+ },
+ "mather_analytics": {
+ "name": "Mather Analytics",
+ "categoryId": 6,
+ "url": "https://www.mathereconomics.com/",
+ "companyId": "mather_economics"
+ },
+ "mathjax.org": {
+ "name": "MathJax",
+ "categoryId": 9,
+ "url": "https://www.mathjax.org/",
+ "companyId": null
+ },
+ "matiro": {
+ "name": "Matiro",
+ "categoryId": 6,
+ "url": "http://matiro.com/",
+ "companyId": "matiro"
+ },
+ "matomo": {
+ "name": "Matomo",
+ "categoryId": 6,
+ "url": "https://matomo.org/s",
+ "companyId": "matomo"
+ },
+ "matomy_market": {
+ "name": "Matomy Market",
+ "categoryId": 4,
+ "url": "http://www.matomymarket.com/",
+ "companyId": "matomy_media"
+ },
+ "maxbounty": {
+ "name": "MaxBounty",
+ "categoryId": 5,
+ "url": "http://www.maxbounty.com/",
+ "companyId": "maxbounty"
+ },
+ "maxcdn": {
+ "name": "MaxCDN",
+ "categoryId": 9,
+ "url": "https://www.maxcdn.com/",
+ "companyId": null
+ },
+ "maxlab": {
+ "name": "Maxlab",
+ "categoryId": 4,
+ "url": "http://maxlab.ru",
+ "companyId": "maxlab"
+ },
+ "maxmind": {
+ "name": "MaxMind",
+ "categoryId": 4,
+ "url": "http://www.maxmind.com/",
+ "companyId": "maxmind"
+ },
+ "maxonclick_com": {
+ "name": "maxonclick.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "maxpoint_interactive": {
+ "name": "MaxPoint Interactive",
+ "categoryId": 4,
+ "url": "http://www.maxpointinteractive.com/",
+ "companyId": "maxpoint_interactive"
+ },
+ "maxymiser": {
+ "name": "Oracle Maxymiser",
+ "categoryId": 4,
+ "url": "https://www.oracle.com/marketingcloud/products/testing-and-optimization/index.html",
+ "companyId": "oracle"
+ },
+ "mbr_targeting": {
+ "name": "mbr targeting",
+ "categoryId": 4,
+ "url": "https://mbr-targeting.com/",
+ "companyId": "stroer"
+ },
+ "mbuy": {
+ "name": "MBuy",
+ "categoryId": 4,
+ "url": "http://www.adbuyer.com/",
+ "companyId": "mbuy"
+ },
+ "mcabi": {
+ "name": "mCabi",
+ "categoryId": 4,
+ "url": "https://mcabi.mcloudglobal.com/#",
+ "companyId": "mcabi"
+ },
+ "mcafee_secure": {
+ "name": "McAfee Secure",
+ "categoryId": 5,
+ "url": "http://www.mcafeesecure.com/us/",
+ "companyId": "mcafee"
+ },
+ "mconet": {
+ "name": "MCOnet",
+ "categoryId": 4,
+ "url": "http://mconet.biz/",
+ "companyId": "mconet"
+ },
+ "mdotlabs": {
+ "name": "MdotLabs",
+ "categoryId": 4,
+ "url": "http://www.mdotlabs.com/",
+ "companyId": "comscore"
+ },
+ "media-clic": {
+ "name": "Media-clic",
+ "categoryId": 4,
+ "url": "http://www.media-clic.com/",
+ "companyId": "media-click"
+ },
+ "media-imdb.com": {
+ "name": "IMDB CDN",
+ "categoryId": 9,
+ "url": "https://www.imdb.com/",
+ "companyId": "amazon_associates"
+ },
+ "media.net": {
+ "name": "Media.net",
+ "categoryId": 4,
+ "url": "http://www.media.net/",
+ "companyId": "media.net"
+ },
+ "media_impact": {
+ "name": "Media Impact",
+ "categoryId": 4,
+ "url": "https://mediaimpact.de/index.html",
+ "companyId": "media_impact"
+ },
+ "media_innovation_group": {
+ "name": "Xaxis",
+ "categoryId": 4,
+ "url": "https://www.xaxis.com/",
+ "companyId": "media_innovation_group"
+ },
+ "media_today": {
+ "name": "Media Today",
+ "categoryId": 4,
+ "url": "http://mediatoday.ru/",
+ "companyId": "media_today"
+ },
+ "mediaad": {
+ "name": "MediaAd",
+ "categoryId": 4,
+ "url": "https://mediaad.org",
+ "companyId": "mediaad"
+ },
+ "mediaglu": {
+ "name": "Mediaglu",
+ "categoryId": 4,
+ "url": "http://mlnadvertising.com/",
+ "companyId": "appnexus"
+ },
+ "mediahub": {
+ "name": "MediaHub",
+ "categoryId": 4,
+ "url": "http://www.mediahub.com/",
+ "companyId": "mediahub"
+ },
+ "medialand": {
+ "name": "Medialand",
+ "categoryId": 4,
+ "url": "http://medialand.ru",
+ "companyId": "medialand"
+ },
+ "medialead": {
+ "name": "Medialead",
+ "categoryId": 4,
+ "url": "https://www.medialead.de/",
+ "companyId": "the_reach_group"
+ },
+ "mediamath": {
+ "name": "MediaMath",
+ "categoryId": 4,
+ "url": "http://www.mediamath.com/",
+ "companyId": "mediamath"
+ },
+ "mediametrics": {
+ "name": "Mediametrics",
+ "categoryId": 7,
+ "url": "http://mediametrics.ru",
+ "companyId": "mediametrics"
+ },
+ "median": {
+ "name": "Median",
+ "categoryId": 4,
+ "url": "http://median.hu",
+ "companyId": "median"
+ },
+ "mediapass": {
+ "name": "MediaPass",
+ "categoryId": 4,
+ "url": "http://www.mediapass.com/",
+ "companyId": "mediapass"
+ },
+ "mediapost_communications": {
+ "name": "Mediapost Communications",
+ "categoryId": 6,
+ "url": "https://vrm.mediapostcommunication.net/",
+ "companyId": "mediapost_communications"
+ },
+ "mediarithmics.com": {
+ "name": "Mediarithmics",
+ "categoryId": 4,
+ "url": "http://www.mediarithmics.com/en/",
+ "companyId": "mediarithmics"
+ },
+ "mediascope": {
+ "name": "Mediascope",
+ "categoryId": 6,
+ "url": "http://mediascope.net/",
+ "companyId": "mediascope"
+ },
+ "mediashakers": {
+ "name": "MediaShakers",
+ "categoryId": 4,
+ "url": "http://www.mediashakers.com/",
+ "companyId": "mediashakers"
+ },
+ "mediashift": {
+ "name": "MediaShift",
+ "categoryId": 4,
+ "url": "http://www.mediashift.com/",
+ "companyId": "mediashift"
+ },
+ "mediator.media": {
+ "name": "Mediator",
+ "categoryId": 6,
+ "url": "https://mediator.media/",
+ "companyId": "mycom_bv"
+ },
+ "mediav": {
+ "name": "MediaV",
+ "categoryId": 4,
+ "url": "https://www.mediav.com/",
+ "companyId": "mediav"
+ },
+ "mediawhiz": {
+ "name": "Mediawhiz",
+ "categoryId": 4,
+ "url": "http://www.mediawhiz.com/",
+ "companyId": "matomy_media"
+ },
+ "medigo": {
+ "name": "Medigo",
+ "categoryId": 4,
+ "url": "https://www.mediego.com/en/",
+ "companyId": "mediego"
+ },
+ "medley": {
+ "name": "Medley",
+ "categoryId": 4,
+ "url": "http://medley.com/",
+ "companyId": "friendfinder_networks"
+ },
+ "medyanet": {
+ "name": "MedyaNet",
+ "categoryId": 4,
+ "url": "http://www.medyanet.com.tr/",
+ "companyId": "medyanet"
+ },
+ "meebo_bar": {
+ "name": "Meebo Bar",
+ "categoryId": 7,
+ "url": "http://bar.meebo.com/",
+ "companyId": "google"
+ },
+ "meetrics": {
+ "name": "Meetrics",
+ "categoryId": 4,
+ "url": "http://www.meetrics.de/",
+ "companyId": "meetrics"
+ },
+ "megaindex": {
+ "name": "MegaIndex",
+ "categoryId": 4,
+ "url": "http://www.megaindex.ru",
+ "companyId": "megaindex"
+ },
+ "mein-bmi.com": {
+ "name": "mein-bmi.com",
+ "categoryId": 12,
+ "url": "https://www.mein-bmi.com/",
+ "companyId": null
+ },
+ "melissa": {
+ "name": "Melissa",
+ "categoryId": 6,
+ "url": "https://www.melissa.com/",
+ "companyId": "melissa_global_intelligence"
+ },
+ "melt": {
+ "name": "Melt",
+ "categoryId": 4,
+ "url": "http://meltdsp.com/",
+ "companyId": "melt"
+ },
+ "menlo": {
+ "name": "Menlo",
+ "categoryId": 4,
+ "url": "http://www.menlotechnologies.cn/",
+ "companyId": "menlotechnologies"
+ },
+ "mentad": {
+ "name": "MentAd",
+ "categoryId": 4,
+ "url": "http://www.mentad.com/",
+ "companyId": "mentad"
+ },
+ "mercado": {
+ "name": "Mercado",
+ "categoryId": 4,
+ "url": "https://www.mercadolivre.com.br/",
+ "companyId": "mercado_livre"
+ },
+ "merchantadvantage": {
+ "name": "MerchantAdvantage",
+ "categoryId": 4,
+ "url": "http://www.merchantadvantage.com/channelmanagement.cfm",
+ "companyId": "merchantadvantage"
+ },
+ "merchenta": {
+ "name": "Merchenta",
+ "categoryId": 4,
+ "url": "http://www.merchenta.com/",
+ "companyId": "merchenta"
+ },
+ "mercury_media": {
+ "name": "Mercury Media",
+ "categoryId": 4,
+ "url": "http://trackingsoft.com/",
+ "companyId": "mercury_media"
+ },
+ "merkle_research": {
+ "name": "Merkle Research",
+ "categoryId": 6,
+ "url": "http://www.dentsuaegisnetwork.com/",
+ "companyId": "dentsu_aegis_network"
+ },
+ "merkle_rkg": {
+ "name": "Merkle RKG",
+ "categoryId": 6,
+ "url": "https://www.merkleinc.com/what-we-do/digital-agency-services/rkg-now-fully-integrated-merkle",
+ "companyId": "dentsu_aegis_network"
+ },
+ "messenger.com": {
+ "name": "Facebook Messenger",
+ "categoryId": 7,
+ "url": "https://messenger.com",
+ "companyId": "facebook"
+ },
+ "meta_network": {
+ "name": "Meta Network",
+ "categoryId": 7,
+ "url": "http://www.metanetwork.com/",
+ "companyId": "meta_network"
+ },
+ "metaffiliation.com": {
+ "name": "Netaffiliation",
+ "categoryId": 4,
+ "url": "http://netaffiliation.com/",
+ "companyId": "kwanko"
+ },
+ "metapeople": {
+ "name": "Metapeople",
+ "categoryId": 4,
+ "url": "http://www.metapeople.com/us/",
+ "companyId": "metapeople"
+ },
+ "metrigo": {
+ "name": "Metrigo",
+ "categoryId": 4,
+ "url": "http://metrigo.com/",
+ "companyId": "metrigo"
+ },
+ "metriweb": {
+ "name": "MetriWeb",
+ "categoryId": 4,
+ "url": "http://www.metriware.be/",
+ "companyId": "metriware"
+ },
+ "miaozhen": {
+ "name": "Miaozhen",
+ "categoryId": 4,
+ "url": "http://miaozhen.com/en/index.html",
+ "companyId": "miaozhen"
+ },
+ "microad": {
+ "name": "MicroAd",
+ "categoryId": 4,
+ "url": "https://www.microad.co.jp/",
+ "companyId": "microad"
+ },
+ "microsoft": {
+ "name": "Microsoft Services",
+ "categoryId": 8,
+ "url": "http://www.microsoft.com/",
+ "companyId": "microsoft"
+ },
+ "microsoft_adcenter_conversion": {
+ "name": "Microsoft adCenter Conversion",
+ "categoryId": 4,
+ "url": "https://adcenter.microsoft.com/",
+ "companyId": "microsoft"
+ },
+ "microsoft_analytics": {
+ "name": "Microsoft Analytics",
+ "categoryId": 4,
+ "url": "https://adcenter.microsoft.com",
+ "companyId": "microsoft"
+ },
+ "microsoft_clarity": {
+ "name": "Microsoft Clarity",
+ "categoryId": 6,
+ "url": "https://clarity.microsoft.com/",
+ "companyId": "microsoft"
+ },
+ "mindset_media": {
+ "name": "Mindset Media",
+ "categoryId": 4,
+ "url": "http://www.mindset-media.com/",
+ "companyId": "google"
+ },
+ "mindspark": {
+ "name": "Mindspark",
+ "categoryId": 6,
+ "url": "http://www.mindspark.com/",
+ "companyId": "iac_apps"
+ },
+ "mindviz_tracker": {
+ "name": "MindViz Tracker",
+ "categoryId": 4,
+ "url": "http://mvtracker.com/",
+ "companyId": "mindviz"
+ },
+ "minewhat": {
+ "name": "MineWhat",
+ "categoryId": 4,
+ "url": "http://www.minewhat.com",
+ "companyId": "minewhat"
+ },
+ "mints_app": {
+ "name": "Mints App",
+ "categoryId": 2,
+ "url": "https://mintsapp.io/",
+ "companyId": "mints_app"
+ },
+ "minute.ly": {
+ "name": "minute.ly",
+ "categoryId": 0,
+ "url": "http://minute.ly/",
+ "companyId": "minute.ly"
+ },
+ "minute.ly_video": {
+ "name": "minute.ly video",
+ "categoryId": 0,
+ "url": "http://minute.ly/",
+ "companyId": "minute.ly"
+ },
+ "mirando": {
+ "name": "Mirando",
+ "categoryId": 4,
+ "url": "http://mirando.de",
+ "companyId": "mirando"
+ },
+ "mirtesen.ru": {
+ "name": "mirtesen.ru",
+ "categoryId": 7,
+ "url": "https://mirtesen.ru/",
+ "companyId": null
+ },
+ "mister_bell": {
+ "name": "Mister Bell",
+ "categoryId": 4,
+ "url": "http://misterbell.fr/",
+ "companyId": "mister_bell"
+ },
+ "mixi": {
+ "name": "mixi",
+ "categoryId": 7,
+ "url": "http://mixi.jp/",
+ "companyId": "mixi"
+ },
+ "mixpanel": {
+ "name": "Mixpanel",
+ "categoryId": 6,
+ "url": "http://mixpanel.com/",
+ "companyId": "mixpanel"
+ },
+ "mixpo": {
+ "name": "Mixpo",
+ "categoryId": 4,
+ "url": "http://dynamicvideoad.mixpo.com/",
+ "companyId": "mixpo"
+ },
+ "mluvii": {
+ "name": "Mluvii",
+ "categoryId": 2,
+ "url": "https://www.mluvii.com",
+ "companyId": "mluvii"
+ },
+ "mncdn.com": {
+ "name": "MediaNova CDN",
+ "categoryId": 9,
+ "url": "https://www.medianova.com/",
+ "companyId": null
+ },
+ "moat": {
+ "name": "Moat",
+ "categoryId": 4,
+ "url": "http://www.moat.com/",
+ "companyId": "oracle"
+ },
+ "mobicow": {
+ "name": "Mobicow",
+ "categoryId": 4,
+ "url": "http://www.mobicow.com/",
+ "companyId": "mobicow"
+ },
+ "mobify": {
+ "name": "Mobify",
+ "categoryId": 4,
+ "url": "http://www.mobify.com/",
+ "companyId": "mobify"
+ },
+ "mobtrks.com": {
+ "name": "mobtrks.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "mocean_mobile": {
+ "name": "mOcean Mobile",
+ "categoryId": 4,
+ "url": "http://www.moceanmobile.com/",
+ "companyId": "pubmatic"
+ },
+ "mochapp": {
+ "name": "MoChapp",
+ "categoryId": 2,
+ "url": "http://www.mochapp.com/",
+ "companyId": "mochapp"
+ },
+ "modern_impact": {
+ "name": "Modern Impact",
+ "categoryId": 4,
+ "url": "http://www.modernimpact.com/",
+ "companyId": "modern_impact"
+ },
+ "modernus": {
+ "name": "Modernus",
+ "categoryId": 6,
+ "url": "http://www.modernus.is",
+ "companyId": "modernus"
+ },
+ "modulepush.com": {
+ "name": "modulepush.com",
+ "categoryId": 4,
+ "url": null,
+ "companyId": null
+ },
+ "mogo_interactive": {
+ "name": "Mogo Interactive",
+ "categoryId": 4,
+ "url": "http://www.mogomarketing.com/",
+ "companyId": "mogo_interactive"
+ },
+ "mokono_analytics": {
+ "name": "Mokono Analytics",
+ "categoryId": 4,
+ "url": "http://www.populis.com",
+ "companyId": "populis"
+ },
+ "monero_miner": {
+ "name": "Monero Miner",
+ "categoryId": 8,
+ "url": "http://devappgrant.space/",
+ "companyId": null
+ },
+ "monetate": {
+ "name": "Monetate",
+ "categoryId": 6,
+ "url": "http://monetate.com",
+ "companyId": "monetate"
+ },
+ "monetize_me": {
+ "name": "Monetize Me",
+ "categoryId": 4,
+ "url": "http://www.monetize-me.com/",
+ "companyId": "monetize_me"
+ },
+ "moneytizer": {
+ "name": "Moneytizer",
+ "categoryId": 4,
+ "url": "https://www.themoneytizer.com/",
+ "companyId": "the_moneytizer"
+ },
+ "mongoose_metrics": {
+ "name": "Mongoose Metrics",
+ "categoryId": 4,
+ "url": "http://www.mongoosemetrics.com/",
+ "companyId": "mongoose_metrics"
+ },
+ "monitis": {
+ "name": "Monitis",
+ "categoryId": 6,
+ "url": "http://www.monitis.com/",
+ "companyId": "monitis"
+ },
+ "monitus": {
+ "name": "Monitus",
+ "categoryId": 6,
+ "url": "http://www.monitus.net/",
+ "companyId": "monitus"
+ },
+ "monotype_gmbh": {
+ "name": "Monotype GmbH",
+ "categoryId": 9,
+ "url": "http://www.monotype.com/",
+ "companyId": "monotype"
+ },
+ "monotype_imaging": {
+ "name": "Fonts.com Store",
+ "categoryId": 2,
+ "url": "https://www.fonts.com/",
+ "companyId": "monotype"
+ },
+ "monsido": {
+ "name": "Monsido",
+ "categoryId": 6,
+ "url": "https://monsido.com/",
+ "companyId": "monsido"
+ },
+ "monster_advertising": {
+ "name": "Monster Advertising",
+ "categoryId": 4,
+ "url": "http://www.monster.com/",
+ "companyId": "monster_worldwide"
+ },
+ "mooxar": {
+ "name": "Mooxar",
+ "categoryId": 4,
+ "url": "http://mooxar.com/",
+ "companyId": "mooxar"
+ },
+ "mopinion.com": {
+ "name": "Mopinion",
+ "categoryId": 2,
+ "url": "https://mopinion.com/",
+ "companyId": "mopinion"
+ },
+ "mopub": {
+ "name": "MoPub",
+ "categoryId": 4,
+ "url": "https://www.mopub.com/",
+ "companyId": "twitter"
+ },
+ "more_communication": {
+ "name": "More Communication",
+ "categoryId": 4,
+ "url": "http://www.more-com.co.jp/",
+ "companyId": "more_communication"
+ },
+ "moreads": {
+ "name": "moreAds",
+ "categoryId": 4,
+ "url": "https://www.moras.jp",
+ "companyId": "moreads"
+ },
+ "motigo_webstats": {
+ "name": "Motigo Webstats",
+ "categoryId": 7,
+ "url": "http://webstats.motigo.com/",
+ "companyId": "motigo"
+ },
+ "motionpoint": {
+ "name": "MotionPoint",
+ "categoryId": 6,
+ "url": "http://www.motionpoint.com/",
+ "companyId": "motionpoint_corporation"
+ },
+ "mouseflow": {
+ "name": "Mouseflow",
+ "categoryId": 6,
+ "url": "http://mouseflow.com/",
+ "companyId": "mouseflow"
+ },
+ "mousestats": {
+ "name": "MouseStats",
+ "categoryId": 4,
+ "url": "http://www.mousestats.com/",
+ "companyId": "mousestats"
+ },
+ "mousetrace": {
+ "name": "MouseTrace",
+ "categoryId": 6,
+ "url": "http://www.mousetrace.com/",
+ "companyId": "mousetrace"
+ },
+ "mov.ad": {
+ "name": "Mov.ad ",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "movable_ink": {
+ "name": "Movable Ink",
+ "categoryId": 2,
+ "url": "https://movableink.com/",
+ "companyId": "movable_ink"
+ },
+ "movable_media": {
+ "name": "Movable Media",
+ "categoryId": 4,
+ "url": "http://www.movablemedia.com/",
+ "companyId": "movable_media"
+ },
+ "moz": {
+ "name": "Moz",
+ "categoryId": 8,
+ "url": "https://moz.com/",
+ "companyId": null
+ },
+ "mozoo": {
+ "name": "MoZoo",
+ "categoryId": 4,
+ "url": "http://mozoo.com/",
+ "companyId": "mozoo"
+ },
+ "mrp": {
+ "name": "MRP",
+ "categoryId": 4,
+ "url": "https://www.mrpfd.com/",
+ "companyId": "mrp"
+ },
+ "mrpdata": {
+ "name": "MRP",
+ "categoryId": 6,
+ "url": "http://mrpdata.com/Account/Login?ReturnUrl=%2F",
+ "companyId": "fifth_story"
+ },
+ "mrskincash": {
+ "name": "MrSkinCash",
+ "categoryId": 3,
+ "url": "http://mrskincash.com/",
+ "companyId": "mrskincash.com"
+ },
+ "msn": {
+ "name": "Microsoft Network",
+ "categoryId": 8,
+ "url": "https://www.microsoft.com/",
+ "companyId": "microsoft"
+ },
+ "muscula": {
+ "name": "Muscula",
+ "categoryId": 4,
+ "url": "https://www.universe-surf.de/",
+ "companyId": "universe_surf"
+ },
+ "mux_inc": {
+ "name": "Mux",
+ "categoryId": 0,
+ "url": "https://mux.com/",
+ "companyId": "mux_inc"
+ },
+ "mybloglog": {
+ "name": "MyBlogLog",
+ "categoryId": 7,
+ "url": "http://www.mybloglog.com/",
+ "companyId": "verizon"
+ },
+ "mybuys": {
+ "name": "MyBuys",
+ "categoryId": 4,
+ "url": "http://www.mybuys.com/",
+ "companyId": "magnetic"
+ },
+ "mycdn.me": {
+ "name": "Mail.Ru CDN",
+ "categoryId": 9,
+ "url": "https://corp.megafon.com/",
+ "companyId": "megafon"
+ },
+ "mycliplister.com": {
+ "name": "Cliplister",
+ "categoryId": 2,
+ "url": "https://www.cliplister.com/",
+ "companyId": null
+ },
+ "mycounter.ua": {
+ "name": "MyCounter.ua",
+ "categoryId": 6,
+ "url": "http://mycounter.ua",
+ "companyId": "mycounter.ua"
+ },
+ "myfonts": {
+ "name": "MyFonts",
+ "categoryId": 6,
+ "url": "http://www.myfonts.com/",
+ "companyId": "myfonts"
+ },
+ "myfonts_counter": {
+ "name": "MyFonts",
+ "categoryId": 6,
+ "url": "http://www.myfonts.com/",
+ "companyId": "myfonts"
+ },
+ "mypagerank": {
+ "name": "MyPagerank",
+ "categoryId": 6,
+ "url": "http://www.mypagerank.net/",
+ "companyId": "mypagerank"
+ },
+ "mystat": {
+ "name": "MyStat",
+ "categoryId": 7,
+ "url": "http://mystat.hu/",
+ "companyId": "myst_statistics"
+ },
+ "mythings": {
+ "name": "myThings",
+ "categoryId": 4,
+ "url": "http://www.mythings.com/",
+ "companyId": "mythings"
+ },
+ "mytop_counter": {
+ "name": "Mytop Counter",
+ "categoryId": 7,
+ "url": "http://mytop-in.net/",
+ "companyId": "mytop-in"
+ },
+ "nakanohito.jp": {
+ "name": "Nakanohito",
+ "categoryId": 4,
+ "url": "http://nakanohito.jp/",
+ "companyId": "userinsight"
+ },
+ "namogoo": {
+ "name": "Namoogoo",
+ "categoryId": 4,
+ "url": "https://www.namogoo.com/",
+ "companyId": null
+ },
+ "nanigans": {
+ "name": "Nanigans",
+ "categoryId": 4,
+ "url": "http://www.nanigans.com/",
+ "companyId": "nanigans"
+ },
+ "nano_interactive": {
+ "name": "Nano Interactive",
+ "categoryId": 4,
+ "url": "http://www.nanointeractive.com/home/de",
+ "companyId": "nano_interactive"
+ },
+ "nanorep": {
+ "name": "nanoRep",
+ "categoryId": 2,
+ "url": "http://www.nanorep.com/",
+ "companyId": "logmein"
+ },
+ "narando": {
+ "name": "Narando",
+ "categoryId": 0,
+ "url": "https://narando.com/",
+ "companyId": "narando"
+ },
+ "narrativ": {
+ "name": "Narrativ",
+ "categoryId": 4,
+ "url": "https://narrativ.com/",
+ "companyId": "narrativ"
+ },
+ "narrative_io": {
+ "name": "Narrative",
+ "categoryId": 6,
+ "url": "http://www.narrative.io/",
+ "companyId": "narrative.io"
+ },
+ "natimatica": {
+ "name": "Natimatica",
+ "categoryId": 4,
+ "url": "http://natimatica.com/",
+ "companyId": "natimatica"
+ },
+ "nativeads.com": {
+ "name": "native ads",
+ "categoryId": 4,
+ "url": "https://nativeads.com/",
+ "companyId": null
+ },
+ "nativeroll": {
+ "name": "Nativeroll",
+ "categoryId": 0,
+ "url": "http://nativeroll.tv/",
+ "companyId": "native_roll"
+ },
+ "nativo": {
+ "name": "Nativo",
+ "categoryId": 4,
+ "url": "http://www.nativo.net/",
+ "companyId": "nativo"
+ },
+ "navegg_dmp": {
+ "name": "Navegg",
+ "categoryId": 6,
+ "url": "https://www.navegg.com/en/",
+ "companyId": "navegg"
+ },
+ "naver.com": {
+ "name": "Naver",
+ "categoryId": 4,
+ "url": "https://www.naver.com/",
+ "companyId": "naver"
+ },
+ "naver_search": {
+ "name": "Naver Search",
+ "categoryId": 2,
+ "url": "http://www.naver.com/",
+ "companyId": "naver"
+ },
+ "nbc_news": {
+ "name": "NBC News",
+ "categoryId": 8,
+ "url": "https://www.nbcnews.com/",
+ "companyId": null
+ },
+ "ncol": {
+ "name": "NCOL",
+ "categoryId": 4,
+ "url": "http://www.ncol.com/",
+ "companyId": "ncol"
+ },
+ "needle": {
+ "name": "Needle",
+ "categoryId": 2,
+ "url": "http://www.needle.com",
+ "companyId": "needle"
+ },
+ "nekudo.com": {
+ "name": "Nekudo",
+ "categoryId": 2,
+ "url": "https://nekudo.com/",
+ "companyId": "nekudo"
+ },
+ "neodata": {
+ "name": "Neodata",
+ "categoryId": 4,
+ "url": "http://neodatagroup.com/",
+ "companyId": "neodata"
+ },
+ "neory": {
+ "name": "NEORY ",
+ "categoryId": 4,
+ "url": "https://www.neory.com/",
+ "companyId": "neory"
+ },
+ "nerfherdersolo_com": {
+ "name": "nerfherdersolo.com",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "net-metrix": {
+ "name": "NET-Metrix",
+ "categoryId": 6,
+ "url": "http://www.net-metrix.ch/",
+ "companyId": "net-metrix"
+ },
+ "net-results": {
+ "name": "Net-Results",
+ "categoryId": 4,
+ "url": "http://www.net-results.com/",
+ "companyId": "net-results"
+ },
+ "net_avenir": {
+ "name": "Net Avenir",
+ "categoryId": 4,
+ "url": "http://www.netavenir.com/",
+ "companyId": "net_avenir"
+ },
+ "net_communities": {
+ "name": "Net Communities",
+ "categoryId": 4,
+ "url": "http://www.netcommunities.com/",
+ "companyId": "net_communities"
+ },
+ "net_visibility": {
+ "name": "NET Visibility",
+ "categoryId": 4,
+ "url": "http://www.netvisibility.co.uk",
+ "companyId": "net_visibility"
+ },
+ "netbiscuits": {
+ "name": "Netbiscuits",
+ "categoryId": 6,
+ "url": "http://www.netbiscuits.net/",
+ "companyId": "netbiscuits"
+ },
+ "netbooster_group": {
+ "name": "NetBooster Group",
+ "categoryId": 4,
+ "url": "http://www.netbooster.com/",
+ "companyId": "netbooster_group"
+ },
+ "netflix": {
+ "name": "Netflix",
+ "categoryId": 0,
+ "url": "https://www.netflix.com/",
+ "companyId": "netflix",
+ "source": "AdGuard"
+ },
+ "netletix": {
+ "name": "Netletix",
+ "categoryId": 4,
+ "url": "http://www.netletix.com//",
+ "companyId": "ip_de"
+ },
+ "netminers": {
+ "name": "Netminers",
+ "categoryId": 6,
+ "url": "http://netminers.dk/",
+ "companyId": "netminers"
+ },
+ "netmining": {
+ "name": "Netmining",
+ "categoryId": 4,
+ "url": "http://www.netmining.com/",
+ "companyId": "zeta"
+ },
+ "netmonitor": {
+ "name": "NetMonitor",
+ "categoryId": 6,
+ "url": "http://www.netmanager.net/en/",
+ "companyId": "netmonitor"
+ },
+ "netratings_sitecensus": {
+ "name": "NetRatings SiteCensus",
+ "categoryId": 4,
+ "url": "http://www.nielsen-online.com/intlpage.html",
+ "companyId": "nielsen"
+ },
+ "netrk.net": {
+ "name": "nfxTrack",
+ "categoryId": 6,
+ "url": "https://netrk.net/",
+ "companyId": "netzeffekt"
+ },
+ "netseer": {
+ "name": "NetSeer",
+ "categoryId": 4,
+ "url": "http://www.netseer.com/",
+ "companyId": "netseer"
+ },
+ "netshelter": {
+ "name": "NetShelter",
+ "categoryId": 4,
+ "url": "http://www.netshelter.net/",
+ "companyId": "netshelter"
+ },
+ "netsprint_audience": {
+ "name": "Netsprint Audience",
+ "categoryId": 6,
+ "url": "http://audience.netsprint.eu/",
+ "companyId": "netsprint"
+ },
+ "networkedblogs": {
+ "name": "NetworkedBlogs",
+ "categoryId": 7,
+ "url": "http://w.networkedblogs.com/",
+ "companyId": "networkedblogs"
+ },
+ "neustar_adadvisor": {
+ "name": "Neustar AdAdvisor",
+ "categoryId": 4,
+ "url": "http://www.targusinfo.com/",
+ "companyId": "neustar"
+ },
+ "new_relic": {
+ "name": "New Relic",
+ "categoryId": 6,
+ "url": "http://newrelic.com/",
+ "companyId": "new_relic"
+ },
+ "newscgp.com": {
+ "name": "News Connect",
+ "categoryId": 4,
+ "url": "https://newscorp.com/",
+ "companyId": "news_corp"
+ },
+ "newsmax": {
+ "name": "Newsmax",
+ "categoryId": 4,
+ "url": "http://www.newsmax.com/",
+ "companyId": "newsmax"
+ },
+ "newstogram": {
+ "name": "Newstogram",
+ "categoryId": 4,
+ "url": "http://www.newstogram.com/",
+ "companyId": "dailyme"
+ },
+ "newsupdatedir.info": {
+ "name": "newsupdatedir.info",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "newsupdatewe.info": {
+ "name": "newsupdatewe.info",
+ "categoryId": 12,
+ "url": null,
+ "companyId": null
+ },
+ "newtention": {
+ "name": "Newtention",
+ "categoryId": 4,
+ "url": "http://www.newtention.de/",
+ "companyId": "next_audience"
+ },
+ "nexage": {
+ "name": "Nexage",
+ "categoryId": 4,
+ "url": "http://www.nexage.com/",
+ "companyId": "verizon"
+ },
+ "nexeps.com": {
+ "name": "neXeps",
+ "categoryId": 4,
+ "url": "http://nexeps.com/",
+ "companyId": null
+ },
+ "next_performance": {
+ "name": "Next Performance",
+ "categoryId": 4,
+ "url": "http://www.nextperformance.com/",
+ "companyId": "nextperf"
+ },
+ "next_user": {
+ "name": "Next User",
+ "categoryId": 4,
+ "url": "https://www.nextuser.com/",
+ "companyId": "next_user"
+ },
+ "nextag_roi_optimizer": {
+ "name": "Nextag ROI Optimizer",
+ "categoryId": 4,
+ "url": "http://www.nextag.com/",
+ "companyId": "nextag"
+ },
+ "nextclick": {
+ "name": "Nextclick",
+ "categoryId": 4,
+ "url": "http://nextclick.pl/",
+ "companyId": "leadbullet"
+ },
+ "nextstat": {
+ "name": "NextSTAT",
+ "categoryId": 6,
+ "url": "http://www.nextstat.com/",
+ "companyId": "nextstat"
+ },
+ "neytiv": {
+ "name": "Neytiv",
+ "categoryId": 6,
+ "url": "http://neytiv.com/",
+ "companyId": "neytiv"
+ },
+ "ngage_inc.": {
+ "name": "NGage INC.",
+ "categoryId": 6,
+ "url": "https://www.nginx.com/",
+ "companyId": "nginx"
+ },
+ "nice264.com": {
+ "name": "Nice264",
+ "categoryId": 0,
+ "url": "http://nice264.com/",
+ "companyId": null
+ },
+ "nimblecommerce": {
+ "name": "NimbleCommerce",
+ "categoryId": 4,
+ "url": "http://www.nimblecommerce.com/",
+ "companyId": "nimblecommerce"
+ },
+ "ninja_access_analysis": {
+ "name": "Ninja Access Analysis",
+ "categoryId": 6,
+ "url": "http://www.ninja.co.jp/analysis/",
+ "companyId": "samurai_factory"
+ },
+ "nirror": {
+ "name": "Nirror",
+ "categoryId": 6,
+ "url": "https://www.nirror.com/",
+ "companyId": "nirror"
+ },
+ "nitropay": {
+ "name": "NitroPay",
+ "categoryId": 4,
+ "url": "https://nitropay.com/",
+ "companyId": "gg_software"
+ },
+ "nk.pl_widgets": {
+ "name": "NK.pl Widgets",
+ "categoryId": 4,
+ "url": "http://nk.pl",
+ "companyId": "nk.pl"
+ },
+ "noaa.gov": {
+ "name": "National Oceanic and Atmospheric Administration",
+ "categoryId": 8,
+ "url": "https://noaa.gov/",
+ "companyId": null
+ },
+ "noddus": {
+ "name": "Noddus",
+ "categoryId": 4,
+ "url": "https://www.enterprise.noddus.com/",
+ "companyId": "noddus"
+ },
+ "nolix": {
+ "name": "Nolix",
+ "categoryId": 4,
+ "url": "http://nolix.ru/",
+ "companyId": "nolix"
+ },
+ "nonstop_consulting": {
+ "name": "Resolution Media",
+ "categoryId": 4,
+ "url": "https://resolutionmedia.com/",
+ "companyId": "resolution_media"
+ },
+ "noop.style": {
+ "name": "noop.style",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "nosto.com": {
+ "name": "nosto",
+ "categoryId": 6,
+ "url": "http://www.nosto.com/",
+ "companyId": null
+ },
+ "notify": {
+ "name": "Notify",
+ "categoryId": 4,
+ "url": "http://notify.ag/en/",
+ "companyId": null
+ },
+ "notifyfox": {
+ "name": "Notifyfox",
+ "categoryId": 6,
+ "url": "https://notifyfox.com/",
+ "companyId": "notifyfox"
+ },
+ "now_interact": {
+ "name": "Now Interact",
+ "categoryId": 6,
+ "url": "http://nowinteract.com/",
+ "companyId": "now_interact"
+ },
+ "npario": {
+ "name": "nPario",
+ "categoryId": 6,
+ "url": "http://npario.com/",
+ "companyId": "npario"
+ },
+ "nplexmedia": {
+ "name": "nPlexMedia",
+ "categoryId": 4,
+ "url": "http://www.nplexmedia.com/",
+ "companyId": "nplexmedia"
+ },
+ "nrelate": {
+ "name": "nRelate",
+ "categoryId": 2,
+ "url": "http://nrelate.com/",
+ "companyId": "iac_apps"
+ },
+ "ns8": {
+ "name": "NS8",
+ "categoryId": 4,
+ "url": "https://www.ns8.com/",
+ "companyId": null
+ },
+ "nt.vc": {
+ "name": "Next Tuesday GmbH",
+ "categoryId": 8,
+ "url": "http://www.nexttuesday.de/",
+ "companyId": null
+ },
+ "ntent": {
+ "name": "NTENT",
+ "categoryId": 4,
+ "url": "http://www.verticalsearchworks.com",
+ "companyId": "ntent"
+ },
+ "nttcom_online_marketing_solutions": {
+ "name": "NTTCom Online Marketing Solutions",
+ "categoryId": 6,
+ "url": "http://www.digitalforest.co.jp/",
+ "companyId": "nttcom_online_marketing_solutions"
+ },
+ "nuffnang": {
+ "name": "Nuffnang",
+ "categoryId": 4,
+ "url": "http://nuffnang.com/",
+ "companyId": "nuffnang"
+ },
+ "nugg.ad": {
+ "name": "Nugg.Ad",
+ "categoryId": 4,
+ "url": "http://www.nugg.ad/",
+ "companyId": "nugg.ad"
+ },
+ "nui_media": {
+ "name": "NUI Media",
+ "categoryId": 4,
+ "url": "http://adjuggler.com/",
+ "companyId": "nui_media"
+ },
+ "numbers.md": {
+ "name": "Numbers.md",
+ "categoryId": 6,
+ "url": "https://numbers.md/",
+ "companyId": "numbers.md"
+ },
+ "numerator": {
+ "name": "Numerator",
+ "categoryId": 5,
+ "url": "http://www.channeliq.com/",
+ "companyId": "numerator"
+ },
+ "ny_times_tagx": {
+ "name": "NY Times TagX",
+ "categoryId": 6,
+ "url": "https://www.nytimes.com/",
+ "companyId": "the_new_york_times"
+ },
+ "nyacampwk.com": {
+ "name": "nyacampwk.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "nyetm2mkch.com": {
+ "name": "nyetm2mkch.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "nyt.com": {
+ "name": "The New York Times",
+ "categoryId": 8,
+ "url": "https://www.nytimes.com/",
+ "companyId": "the_new_york_times"
+ },
+ "o12zs3u2n.com": {
+ "name": "o12zs3u2n.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "o2.pl": {
+ "name": "o2.pl",
+ "categoryId": 8,
+ "url": "https://www.o2.pl/",
+ "companyId": "o2.pl"
+ },
+ "o2online.de": {
+ "name": "o2online.de",
+ "categoryId": 8,
+ "url": "https://www.o2online.de/",
+ "companyId": null
+ },
+ "oath_inc": {
+ "name": "Oath",
+ "categoryId": 8,
+ "url": "https://www.oath.com/",
+ "companyId": "verizon"
+ },
+ "observer": {
+ "name": "Observer",
+ "categoryId": 4,
+ "url": "http://www.observerapp.com",
+ "companyId": "observer"
+ },
+ "ocioso": {
+ "name": "Ocioso",
+ "categoryId": 7,
+ "url": "http://ocioso.com.br/",
+ "companyId": "ocioso"
+ },
+ "oclasrv.com": {
+ "name": "oclasrv.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "octapi.net": {
+ "name": "octapi.net",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "octavius": {
+ "name": "Octavius",
+ "categoryId": 4,
+ "url": "http://octavius.rocks/",
+ "companyId": "octavius"
+ },
+ "office.com": {
+ "name": "office.com",
+ "categoryId": 8,
+ "url": "https://www.microsoft.com/",
+ "companyId": "microsoft"
+ },
+ "office.net": {
+ "name": "office.net",
+ "categoryId": 8,
+ "url": "https://www.microsoft.com/",
+ "companyId": "microsoft"
+ },
+ "office365.com": {
+ "name": "office365.com",
+ "categoryId": 8,
+ "url": "https://www.microsoft.com/",
+ "companyId": "microsoft"
+ },
+ "oghub.io": {
+ "name": "OG Hub",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "oh_my_stats": {
+ "name": "Oh My Stats",
+ "categoryId": 6,
+ "url": "https://ohmystats.com/",
+ "companyId": "oh_my_stats"
+ },
+ "ohana_advertising_network": {
+ "name": "Ohana Advertising Network",
+ "categoryId": 4,
+ "url": "http://adohana.com/",
+ "companyId": "ohana_advertising_network"
+ },
+ "olapic": {
+ "name": "Olapic",
+ "categoryId": 4,
+ "url": "https://www.olapic.com/",
+ "companyId": "olapic"
+ },
+ "olark": {
+ "name": "Olark",
+ "categoryId": 2,
+ "url": "http://www.olark.com/",
+ "companyId": "olark"
+ },
+ "olx-st.com": {
+ "name": "OLX",
+ "categoryId": 8,
+ "url": "http://www.olx.com/",
+ "companyId": null
+ },
+ "omarsys.com": {
+ "name": "Omarsys",
+ "categoryId": 4,
+ "url": "http://omarsys.com/",
+ "companyId": "xcaliber"
+ },
+ "ometria": {
+ "name": "Ometria",
+ "categoryId": 4,
+ "url": "http://www.ometria.com/",
+ "companyId": "ometria"
+ },
+ "omg": {
+ "name": "OMG",
+ "categoryId": 7,
+ "url": "http://uk.omgpm.com/",
+ "companyId": "optimise_media"
+ },
+ "omniconvert.com": {
+ "name": "Omniconvert",
+ "categoryId": 4,
+ "url": "https://www.omniconvert.com/",
+ "companyId": "omniconvert"
+ },
+ "omniscienta": {
+ "name": "Omniscienta",
+ "categoryId": 4,
+ "url": "http://www.omniscienta.com/",
+ "companyId": null
+ },
+ "oms": {
+ "name": "OMS",
+ "categoryId": 4,
+ "url": "http://oms.eu/",
+ "companyId": null
+ },
+ "onaudience": {
+ "name": "OnAudience",
+ "categoryId": 4,
+ "url": "http://www.onaudience.com/",
+ "companyId": "cloud_technologies"
+ },
+ "oneall": {
+ "name": "Oneall",
+ "categoryId": 7,
+ "url": "http://www.oneall.com/",
+ "companyId": "oneall"
+ },
+ "onefeed": {
+ "name": "Onefeed",
+ "categoryId": 6,
+ "url": "http://www.onefeed.co.uk",
+ "companyId": "onefeed"
+ },
+ "onesignal": {
+ "name": "OneSignal",
+ "categoryId": 5,
+ "url": "https://onesignal.com/",
+ "companyId": "onesignal"
+ },
+ "onestat": {
+ "name": "OneStat",
+ "categoryId": 6,
+ "url": "http://www.onestat.com/",
+ "companyId": "onestat_international_b.v."
+ },
+ "onet.pl": {
+ "name": "onet",
+ "categoryId": 8,
+ "url": "https://www.onet.pl/",
+ "companyId": null
+ },
+ "onetag": {
+ "name": "OneTag",
+ "categoryId": 4,
+ "url": "https://www.onetag.com/",
+ "companyId": "onetag"
+ },
+ "onetrust": {
+ "name": "OneTrust",
+ "categoryId": 5,
+ "url": "https://www.onetrust.com/",
+ "companyId": "onetrust"
+ },
+ "onfocus.io": {
+ "name": "OnFocus",
+ "categoryId": 4,
+ "url": "http://onfocus.io/",
+ "companyId": "onfocus"
+ },
+ "onlinewebstat": {
+ "name": "Onlinewebstat",
+ "categoryId": 6,
+ "url": "http://www.onlinewebstats.com/index.php?lang=en",
+ "companyId": "onlinewebstat"
+ },
+ "onswipe": {
+ "name": "Onswipe",
+ "categoryId": 4,
+ "url": "http://www.onswipe.com/",
+ "companyId": "onswipe"
+ },
+ "onthe.io": {
+ "name": "OnThe.io",
+ "categoryId": 6,
+ "url": "https://t.onthe.io/media",
+ "companyId": "onthe.io"
+ },
+ "ontraport_autopilot": {
+ "name": "Ontraport Autopilot",
+ "categoryId": 4,
+ "url": "http://www.moon-ray.com/",
+ "companyId": "ontraport"
+ },
+ "ooyala.com": {
+ "name": "Ooyala Player",
+ "categoryId": 0,
+ "url": "https://www.ooyala.com/",
+ "companyId": "telstra"
+ },
+ "ooyala_analytics": {
+ "name": "Ooyala Analytics",
+ "categoryId": 6,
+ "url": "https://www.telstraglobal.com/",
+ "companyId": "telstra"
+ },
+ "open_adexchange": {
+ "name": "Open AdExchange",
+ "categoryId": 4,
+ "url": "http://openadex.dk/",
+ "companyId": "open_adexchange"
+ },
+ "open_adstream": {
+ "name": "Open Adstream",
+ "categoryId": 4,
+ "url": "https://www.appnexus.com/en",
+ "companyId": "appnexus"
+ },
+ "open_share_count": {
+ "name": "Open Share Count",
+ "categoryId": 4,
+ "url": "http://opensharecount.com/",
+ "companyId": "open_share_count"
+ },
+ "openload": {
+ "name": "Openload",
+ "categoryId": 9,
+ "url": "https://openload.co/",
+ "companyId": null
+ },
+ "openstat": {
+ "name": "OpenStat",
+ "categoryId": 6,
+ "url": "https://www.openstat.ru/",
+ "companyId": "openstat"
+ },
+ "opentracker": {
+ "name": "Opentracker",
+ "categoryId": 6,
+ "url": "http://www.opentracker.net/",
+ "companyId": "opentracker"
+ },
+ "openwebanalytics": {
+ "name": "Open Web Analytics",
+ "categoryId": 6,
+ "url": "http://www.openwebanalytics.com/",
+ "companyId": "open_web_analytics"
+ },
+ "openx": {
+ "name": "OpenX",
+ "categoryId": 4,
+ "url": "https://www.openx.com",
+ "companyId": "openx"
+ },
+ "operative_media": {
+ "name": "Operative Media",
+ "categoryId": 4,
+ "url": "http://www.operative.com/",
+ "companyId": "operative_media"
+ },
+ "opinary": {
+ "name": "Opinary",
+ "categoryId": 2,
+ "url": "http://opinary.com/",
+ "companyId": "opinary"
+ },
+ "opinionbar": {
+ "name": "OpinionBar",
+ "categoryId": 2,
+ "url": "http://www.metrixlab.com",
+ "companyId": "metrixlab"
+ },
+ "oplytic": {
+ "name": "Oplytic",
+ "categoryId": 6,
+ "url": "http://www.oplytic.com",
+ "companyId": "oplytic"
+ },
+ "opta.net": {
+ "name": "Opta",
+ "categoryId": 6,
+ "url": "http://www.optasports.de/",
+ "companyId": "opta_sports"
+ },
+ "optaim": {
+ "name": "OptAim",
+ "categoryId": 4,
+ "url": "http://optaim.com/",
+ "companyId": "optaim"
+ },
+ "optanaon": {
+ "name": "Optanaon by OneTrust",
+ "categoryId": 5,
+ "url": "https://www.cookielaw.org/",
+ "companyId": "onetrust"
+ },
+ "optify": {
+ "name": "Optify",
+ "categoryId": 4,
+ "url": "http://www.optify.net",
+ "companyId": "optify"
+ },
+ "optimatic": {
+ "name": "Optimatic",
+ "categoryId": 0,
+ "url": "http://www.optimatic.com/",
+ "companyId": "optimatic"
+ },
+ "optimax_media_delivery": {
+ "name": "Optimax Media Delivery",
+ "categoryId": 4,
+ "url": "http://optmd.com/",
+ "companyId": "optimax_media_delivery"
+ },
+ "optimicdn.com": {
+ "name": "OptimiCDN",
+ "categoryId": 9,
+ "url": "https://en.optimicdn.com/",
+ "companyId": null
+ },
+ "optimizely": {
+ "name": "Optimizely",
+ "categoryId": 6,
+ "url": "https://www.optimizely.com/",
+ "companyId": "optimizely"
+ },
+ "optimizely_error_log": {
+ "name": "Optimizely Error Log",
+ "categoryId": 6,
+ "url": "https://www.optimizely.com/",
+ "companyId": "optimizely"
+ },
+ "optimizely_geo_targeting": {
+ "name": "Optimizely Geographical Targeting",
+ "categoryId": 6,
+ "url": "https://www.optimizely.com/",
+ "companyId": "optimizely"
+ },
+ "optimizely_logging": {
+ "name": "Optimizely Logging",
+ "categoryId": 6,
+ "url": "https://www.optimizely.com/",
+ "companyId": "optimizely"
+ },
+ "optimonk": {
+ "name": "Optimonk",
+ "categoryId": 6,
+ "url": "https://www.optimonk.com/",
+ "companyId": "optimonk"
+ },
+ "optinmonster": {
+ "name": "OptInMonster",
+ "categoryId": 2,
+ "url": "https://optinmonster.com/",
+ "companyId": "optinmonster"
+ },
+ "optinproject.com": {
+ "name": "OptinProject",
+ "categoryId": 4,
+ "url": "https://www.optincollect.com/en",
+ "companyId": "optincollect"
+ },
+ "optomaton": {
+ "name": "Optomaton",
+ "categoryId": 4,
+ "url": "http://www.optomaton.com/",
+ "companyId": "ve"
+ },
+ "ora.tv": {
+ "name": "Ora.TV",
+ "categoryId": 4,
+ "url": "http://www.ora.tv/",
+ "companyId": "ora.tv"
+ },
+ "oracle_live_help": {
+ "name": "Oracle Live Help",
+ "categoryId": 2,
+ "url": "http://www.oracle.com/us/products/applications/atg/live-help-on-demand/index.html",
+ "companyId": "oracle"
+ },
+ "oracle_rightnow": {
+ "name": "Oracle RightNow",
+ "categoryId": 8,
+ "url": "http://www.oracle.com/",
+ "companyId": "oracle"
+ },
+ "orange": {
+ "name": "Orange",
+ "categoryId": 4,
+ "url": "http://www.orange.co.uk/",
+ "companyId": "orange_mobile"
+ },
+ "orange142": {
+ "name": "Orange142",
+ "categoryId": 4,
+ "url": "http://www.orange142.com/",
+ "companyId": "orange142"
+ },
+ "orange_france": {
+ "name": "Orange France",
+ "categoryId": 8,
+ "url": "https://www.orange.fr/",
+ "companyId": "orange_france"
+ },
+ "orangesoda": {
+ "name": "OrangeSoda",
+ "categoryId": 4,
+ "url": "http://www.orangesoda.com/",
+ "companyId": "orangesoda"
+ },
+ "orc_international": {
+ "name": "ORC International",
+ "categoryId": 4,
+ "url": "https://orcinternational.com/",
+ "companyId": "engine_group"
+ },
+ "order_groove": {
+ "name": "Order Groove",
+ "categoryId": 4,
+ "url": "http://ordergroove.com/",
+ "companyId": "order_groove"
+ },
+ "orel_site": {
+ "name": "Orel Site",
+ "categoryId": 2,
+ "url": "https://www.orelsite.ru/",
+ "companyId": "orel_site"
+ },
+ "otclick": {
+ "name": "otClick",
+ "categoryId": 4,
+ "url": "http://otclick-adv.ru/",
+ "companyId": "otclick"
+ },
+ "othersearch.info": {
+ "name": "FlowSurf",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "otm-r.com": {
+ "name": "OTM",
+ "categoryId": 4,
+ "url": "http://otm-r.com/",
+ "companyId": null
+ },
+ "otto.de": {
+ "name": "Otto Group",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "outbrain": {
+ "name": "Outbrain",
+ "categoryId": 4,
+ "url": "https://www.outbrain.com/",
+ "companyId": "outbrain"
+ },
+ "outbrain_amplify": {
+ "name": "Outbrain Amplify",
+ "categoryId": 4,
+ "url": "http://www.outbrain.com/",
+ "companyId": "outbrain"
+ },
+ "outbrain_analytics": {
+ "name": "Outbrain Analytics",
+ "categoryId": 6,
+ "url": "http://www.outbrain.com/",
+ "companyId": "outbrain"
+ },
+ "outbrain_logger": {
+ "name": "Outbrain Logger",
+ "categoryId": 4,
+ "url": "http://www.outbrain.com/",
+ "companyId": "outbrain"
+ },
+ "outbrain_pixel": {
+ "name": "Outbrain Pixel",
+ "categoryId": 4,
+ "url": "http://www.outbrain.com/",
+ "companyId": "outbrain"
+ },
+ "outbrain_utilities": {
+ "name": "Outbrain Utilities",
+ "categoryId": 6,
+ "url": "http://www.outbrain.com/",
+ "companyId": "outbrain"
+ },
+ "outbrain_widgets": {
+ "name": "Outbrain Widgets",
+ "categoryId": 4,
+ "url": "http://www.outbrain.com/",
+ "companyId": "outbrain"
+ },
+ "overheat.it": {
+ "name": "overheat",
+ "categoryId": 6,
+ "url": "https://overheat.io/",
+ "companyId": null
+ },
+ "owa": {
+ "name": "OWA",
+ "categoryId": 6,
+ "url": "http://oewa.at/",
+ "companyId": "the_austrian_web_analysis"
+ },
+ "owneriq": {
+ "name": "OwnerIQ",
+ "categoryId": 4,
+ "url": "http://www.owneriq.com/",
+ "companyId": "owneriq"
+ },
+ "ownpage": {
+ "name": "Ownpage",
+ "categoryId": 2,
+ "url": "http://www.ownpage.fr/index.en.html",
+ "companyId": null
+ },
+ "owox.com": {
+ "name": "OWOX",
+ "categoryId": 6,
+ "url": "https://www.owox.com/",
+ "companyId": "owox_inc"
+ },
+ "oxamedia": {
+ "name": "OxaMedia",
+ "categoryId": 2,
+ "url": "http://www.oxamedia.com/",
+ "companyId": "oxamedia"
+ },
+ "oxomi.com": {
+ "name": "Oxomi",
+ "categoryId": 4,
+ "url": "https://oxomi.com/",
+ "companyId": null
+ },
+ "pageanalytics.space": {
+ "name": "pageanalytics.space",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "pagefair": {
+ "name": "PageFair",
+ "categoryId": 2,
+ "url": "https://pagefair.com/",
+ "companyId": "blockthrough"
+ },
+ "pagescience": {
+ "name": "PageScience",
+ "categoryId": 4,
+ "url": "http://www.precisionhealthmedia.com/index.html",
+ "companyId": "pagescience"
+ },
+ "paid-to-promote": {
+ "name": "Paid-To-Promote",
+ "categoryId": 4,
+ "url": "http://www.paid-to-promote.net/",
+ "companyId": "paid-to-promote"
+ },
+ "paperg": {
+ "name": "PaperG",
+ "categoryId": 4,
+ "url": "http://www.paperg.com/",
+ "companyId": "paperg"
+ },
+ "pardot": {
+ "name": "Pardot",
+ "categoryId": 6,
+ "url": "http://www.pardot.com/",
+ "companyId": "pardot"
+ },
+ "parsely": {
+ "name": "Parse.ly",
+ "categoryId": 6,
+ "url": "https://www.parse.ly/",
+ "companyId": "parse.ly"
+ },
+ "partner-ads": {
+ "name": "Partner-Ads",
+ "categoryId": 4,
+ "url": "http://www.partner-ads.com/",
+ "companyId": "partner-ads"
+ },
+ "passionfruit": {
+ "name": "Passionfruit",
+ "categoryId": 4,
+ "url": "http://passionfruitads.com/",
+ "companyId": "passionfruit"
+ },
+ "pathful": {
+ "name": "Pathful",
+ "categoryId": 6,
+ "url": "http://www.pathful.com/",
+ "companyId": "pathful"
+ },
+ "pay-hit": {
+ "name": "Pay-Hit",
+ "categoryId": 4,
+ "url": "http://pay-hit.com/",
+ "companyId": "pay-hit"
+ },
+ "payclick": {
+ "name": "PayClick",
+ "categoryId": 4,
+ "url": "http://payclick.it/",
+ "companyId": "payclick"
+ },
+ "paykickstart": {
+ "name": "PayKickstart",
+ "categoryId": 6,
+ "url": "https://paykickstart.com/",
+ "companyId": "paykickstart"
+ },
+ "paypal": {
+ "name": "PayPal",
+ "categoryId": 2,
+ "url": "https://www.paypal.com",
+ "companyId": "ebay"
+ },
+ "pcvark.com": {
+ "name": "pcvark.com",
+ "categoryId": 11,
+ "url": "https://pcvark.com/",
+ "companyId": null
+ },
+ "peer39": {
+ "name": "Peer39",
+ "categoryId": 4,
+ "url": "http://www.peer39.com/",
+ "companyId": "peer39"
+ },
+ "peer5.com": {
+ "name": "Peer5",
+ "categoryId": 9,
+ "url": "https://www.peer5.com/",
+ "companyId": "peer5"
+ },
+ "peerius": {
+ "name": "Peerius",
+ "categoryId": 2,
+ "url": "http://www.peerius.com/",
+ "companyId": "peerius"
+ },
+ "pendo.io": {
+ "name": "pendo",
+ "categoryId": 6,
+ "url": "https://www.pendo.io/",
+ "companyId": null
+ },
+ "pepper.com": {
+ "name": "Pepper",
+ "categoryId": 4,
+ "url": "https://www.pepper.com/",
+ "companyId": "6minutes"
+ },
+ "pepperjam": {
+ "name": "Pepperjam",
+ "categoryId": 4,
+ "url": "http://www.pepperjam.com",
+ "companyId": "pepperjam"
+ },
+ "pepsia": {
+ "name": "Pepsia",
+ "categoryId": 6,
+ "url": "http://pepsia.com/en/",
+ "companyId": "pepsia"
+ },
+ "perfdrive.com": {
+ "name": "perfdrive.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "perfect_audience": {
+ "name": "Perfect Audience",
+ "categoryId": 4,
+ "url": "https://www.perfectaudience.com/",
+ "companyId": "perfect_audience"
+ },
+ "perfect_market": {
+ "name": "Perfect Market",
+ "categoryId": 4,
+ "url": "http://perfectmarket.com/",
+ "companyId": "perfect_market"
+ },
+ "perform_group": {
+ "name": "Perform Group",
+ "categoryId": 5,
+ "url": "http://www.performgroup.co.uk/",
+ "companyId": "perform_group"
+ },
+ "performable": {
+ "name": "Performable",
+ "categoryId": 6,
+ "url": "http://www.performable.com/",
+ "companyId": "hubspot"
+ },
+ "performancing_metrics": {
+ "name": "Performancing Metrics",
+ "categoryId": 6,
+ "url": "http://pmetrics.performancing.com",
+ "companyId": "performancing"
+ },
+ "performax": {
+ "name": "Performax",
+ "categoryId": 4,
+ "url": "https://www.performax.cz/",
+ "companyId": "performax"
+ },
+ "perimeterx.net": {
+ "name": "Perimeterx",
+ "categoryId": 6,
+ "url": "https://www.perimeterx.com/",
+ "companyId": null
+ },
+ "permutive": {
+ "name": "Permutive",
+ "categoryId": 4,
+ "url": "http://permutive.com/",
+ "companyId": "permutive"
+ },
+ "persgroep": {
+ "name": "De Persgroep",
+ "categoryId": 4,
+ "url": "https://www.persgroep.be/",
+ "companyId": "de_persgroep"
+ },
+ "persianstat": {
+ "name": "PersianStat",
+ "categoryId": 6,
+ "url": "http://www.persianstat.com",
+ "companyId": "persianstat"
+ },
+ "persio": {
+ "name": "Persio",
+ "categoryId": 4,
+ "url": "http://www.pers.io/",
+ "companyId": "pers.io"
+ },
+ "personyze": {
+ "name": "Personyze",
+ "categoryId": 2,
+ "url": "http://personyze.com/",
+ "companyId": "personyze"
+ },
+ "petametrics": {
+ "name": "LiftIgniter",
+ "categoryId": 2,
+ "url": "https://www.liftigniter.com/",
+ "companyId": "liftigniter"
+ },
+ "pheedo": {
+ "name": "Pheedo",
+ "categoryId": 4,
+ "url": "http://pheedo.com/",
+ "companyId": "pheedo"
+ },
+ "phonalytics": {
+ "name": "Phonalytics",
+ "categoryId": 2,
+ "url": "http://www.phonalytics.com/",
+ "companyId": "phonalytics"
+ },
+ "phunware": {
+ "name": "Phunware",
+ "categoryId": 4,
+ "url": "https://www.phunware.com",
+ "companyId": "phunware"
+ },
+ "piguiqproxy.com": {
+ "name": "piguiqproxy.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "pilot": {
+ "name": "Pilot",
+ "categoryId": 6,
+ "url": "http://www.pilot.de/en/home.html",
+ "companyId": "pilot_gmbh"
+ },
+ "pingdom": {
+ "name": "Pingdom",
+ "categoryId": 6,
+ "url": "https://www.pingdom.com/",
+ "companyId": "pingdom"
+ },
+ "pinterest": {
+ "name": "Pinterest",
+ "categoryId": 7,
+ "url": "http://pinterest.com/",
+ "companyId": "pinterest"
+ },
+ "pinterest_conversion_tracker": {
+ "name": "Pinterest Conversion Tracker",
+ "categoryId": 6,
+ "url": "http://pinterest.com/",
+ "companyId": "pinterest"
+ },
+ "pipz": {
+ "name": "Pipz",
+ "categoryId": 4,
+ "url": "https://pipz.com/br/",
+ "companyId": "pipz_automation"
+ },
+ "piwik": {
+ "name": "Tombstone (Matomo/Piwik before the split)",
+ "categoryId": 6,
+ "url": "http://piwik.org/",
+ "companyId": "matomo"
+ },
+ "piwik_pro_analytics_suite": {
+ "name": "Piwik PRO Analytics Suite",
+ "categoryId": 6,
+ "url": "https://piwik.pro/",
+ "companyId": "piwik_pro"
+ },
+ "pixalate": {
+ "name": "Pixalate",
+ "categoryId": 4,
+ "url": "http://www.pixalate.com/",
+ "companyId": "pixalate"
+ },
+ "pixel_union": {
+ "name": "Pixel Union",
+ "categoryId": 4,
+ "url": "https://www.pixelunion.net/",
+ "companyId": "pixel_union"
+ },
+ "pixfuture": {
+ "name": "PixFuture",
+ "categoryId": 4,
+ "url": "http://www.pixfuture.com",
+ "companyId": "pixfuture"
+ },
+ "piximedia": {
+ "name": "Piximedia",
+ "categoryId": 4,
+ "url": "http://www.piximedia.com/piximedia?en",
+ "companyId": "piximedia"
+ },
+ "pizzaandads_com": {
+ "name": "pizzaandads.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "placester": {
+ "name": "Placester",
+ "categoryId": 4,
+ "url": "https://placester.com/",
+ "companyId": "placester"
+ },
+ "pladform.ru": {
+ "name": "Pladform",
+ "categoryId": 4,
+ "url": "https://distribution.pladform.ru/",
+ "companyId": "pladform"
+ },
+ "plan.net_experience_cloud": {
+ "name": "Plan.net Experience Cloud",
+ "categoryId": 6,
+ "url": "https://www.serviceplan.com/",
+ "companyId": "serviceplan"
+ },
+ "platform360": {
+ "name": "Platform360",
+ "categoryId": 4,
+ "url": "http://www.platform360.co/#home",
+ "companyId": null
+ },
+ "platformone": {
+ "name": "Platform One",
+ "categoryId": 4,
+ "url": "https://www.platform-one.co.jp/",
+ "companyId": "daconsortium"
+ },
+ "play_by_mamba": {
+ "name": "Play by Mamba",
+ "categoryId": 4,
+ "url": "http://play.mamba.ru/",
+ "companyId": "mamba"
+ },
+ "playbuzz.com": {
+ "name": "Playbuzz",
+ "categoryId": 2,
+ "url": "https://www.playbuzz.com/",
+ "companyId": "playbuzz"
+ },
+ "plenty_of_fish": {
+ "name": "Plenty Of Fish",
+ "categoryId": 6,
+ "url": "http://www.pof.com/",
+ "companyId": "plentyoffish"
+ },
+ "plex_metrics": {
+ "name": "Plex Metrics",
+ "categoryId": 6,
+ "url": "https://www.plex.tv/",
+ "companyId": "plex"
+ },
+ "plista": {
+ "name": "Plista",
+ "categoryId": 4,
+ "url": "http://www.plista.com",
+ "companyId": "plista"
+ },
+ "plugrush": {
+ "name": "PlugRush",
+ "categoryId": 4,
+ "url": "http://www.plugrush.com/",
+ "companyId": "plugrush"
+ },
+ "pluso.ru": {
+ "name": "Pluso",
+ "categoryId": 7,
+ "url": "https://share.pluso.ru/",
+ "companyId": "pluso"
+ },
+ "plutusads": {
+ "name": "Plutusads",
+ "categoryId": 4,
+ "url": "http://plutusads.com",
+ "companyId": "plutusads"
+ },
+ "pmddby.com": {
+ "name": "pmddby.com",
+ "categoryId": 12,
+ "url": null,
+ "companyId": null
+ },
+ "pnamic.com": {
+ "name": "pnamic.com",
+ "categoryId": 12,
+ "url": null,
+ "companyId": null
+ },
+ "po.st": {
+ "name": "Po.st",
+ "categoryId": 7,
+ "url": "https://www.po.st/",
+ "companyId": "rythmone"
+ },
+ "pocket": {
+ "name": "Pocket",
+ "categoryId": 6,
+ "url": "http://getpocket.com/",
+ "companyId": "pocket"
+ },
+ "pocketcents": {
+ "name": "PocketCents",
+ "categoryId": 4,
+ "url": "http://pocketcents.com/",
+ "companyId": "pocketcents"
+ },
+ "pointific": {
+ "name": "Pointific",
+ "categoryId": 6,
+ "url": "http://www.pontiflex.com/",
+ "companyId": "pontiflex"
+ },
+ "pointroll": {
+ "name": "PointRoll",
+ "categoryId": 4,
+ "url": "http://www.pointroll.com/",
+ "companyId": "gannett_digital_media_network"
+ },
+ "poirreleast.club": {
+ "name": "poirreleast.club",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "polar.me": {
+ "name": "Polar",
+ "categoryId": 4,
+ "url": "https://polar.me/",
+ "companyId": "polar_inc"
+ },
+ "polldaddy": {
+ "name": "Polldaddy",
+ "categoryId": 2,
+ "url": "http://polldaddy.com/",
+ "companyId": "automattic"
+ },
+ "polyad": {
+ "name": "PolyAd",
+ "categoryId": 4,
+ "url": "http://polyad.net",
+ "companyId": "polyad"
+ },
+ "polyfill.io": {
+ "name": "Polyfill",
+ "categoryId": 8,
+ "url": "https://polyfill.io/",
+ "companyId": "polyfill.io"
+ },
+ "popads": {
+ "name": "PopAds",
+ "categoryId": 4,
+ "url": "https://www.popads.net/",
+ "companyId": "popads"
+ },
+ "popcash": {
+ "name": "Popcash",
+ "categoryId": 4,
+ "url": "http://popcash.net/",
+ "companyId": "popcash_network"
+ },
+ "popcorn_metrics": {
+ "name": "Popcorn Metrics",
+ "categoryId": 6,
+ "url": "https://www.popcornmetrics.com/",
+ "companyId": "popcorn_metrics"
+ },
+ "popin.cc": {
+ "name": "popIn",
+ "categoryId": 7,
+ "url": "https://www.popin.cc/",
+ "companyId": "popin"
+ },
+ "popmyads": {
+ "name": "PopMyAds",
+ "categoryId": 4,
+ "url": "http://popmyads.com/",
+ "companyId": "popmyads"
+ },
+ "poponclick": {
+ "name": "PopOnClick",
+ "categoryId": 4,
+ "url": "http://poponclick.com",
+ "companyId": "poponclick"
+ },
+ "populis": {
+ "name": "Populis",
+ "categoryId": 4,
+ "url": "http://www.populis.com",
+ "companyId": "populis"
+ },
+ "pornhub": {
+ "name": "PornHub",
+ "categoryId": 3,
+ "url": "https://www.pornhub.com/",
+ "companyId": "pornhub"
+ },
+ "pornwave": {
+ "name": "Pornwave",
+ "categoryId": 3,
+ "url": "http://pornwave.com",
+ "companyId": "pornwave.com"
+ },
+ "porta_brazil": {
+ "name": "Porta Brazil",
+ "categoryId": 4,
+ "url": "http://brasil.gov.br/",
+ "companyId": "portal_brazil"
+ },
+ "post_affiliate_pro": {
+ "name": "Post Affiliate Pro",
+ "categoryId": 4,
+ "url": "http://www.qualityunit.com/",
+ "companyId": "qualityunit"
+ },
+ "powerlinks": {
+ "name": "PowerLinks",
+ "categoryId": 4,
+ "url": "http://www.powerlinks.com/",
+ "companyId": "powerlinks"
+ },
+ "powerreviews": {
+ "name": "PowerReviews",
+ "categoryId": 2,
+ "url": "http://www.powerreviews.com/",
+ "companyId": "powerreviews"
+ },
+ "powr.io": {
+ "name": "POWr",
+ "categoryId": 6,
+ "url": "https://www.powr.io/",
+ "companyId": "powr"
+ },
+ "pozvonim": {
+ "name": "Pozvonim",
+ "categoryId": 4,
+ "url": "https://pozvonim.com/",
+ "companyId": "pozvonim"
+ },
+ "prebid": {
+ "name": "Prebid",
+ "categoryId": 4,
+ "url": "http://prebid.org/",
+ "companyId": null
+ },
+ "precisionclick": {
+ "name": "PrecisionClick",
+ "categoryId": 4,
+ "url": "http://www.precisionclick.com/",
+ "companyId": "precisionclick"
+ },
+ "predicta": {
+ "name": "Predicta",
+ "categoryId": 4,
+ "url": "http://predicta.com.br/",
+ "companyId": "predicta"
+ },
+ "premonix": {
+ "name": "Premonix",
+ "categoryId": 4,
+ "url": "http://www.premonix.com/",
+ "companyId": "premonix"
+ },
+ "press": {
+ "name": "Press+",
+ "categoryId": 4,
+ "url": "http://www.mypressplus.com/",
+ "companyId": "press+"
+ },
+ "pressly": {
+ "name": "Pressly",
+ "categoryId": 4,
+ "url": "https://www.pressly.com/",
+ "companyId": "pressly"
+ },
+ "pricegrabber": {
+ "name": "PriceGrabber",
+ "categoryId": 4,
+ "url": "http://www.pricegrabber.com",
+ "companyId": "pricegrabber"
+ },
+ "pricespider": {
+ "name": "Pricespider",
+ "categoryId": 4,
+ "url": "http://www.pricespider.com/",
+ "companyId": "price_spider"
+ },
+ "prismamediadigital.com": {
+ "name": "Prisma Media Digital",
+ "categoryId": 4,
+ "url": "http://www.pmdrecrute.com/",
+ "companyId": "prisma_media_digital"
+ },
+ "privy.com": {
+ "name": "Privy",
+ "categoryId": 2,
+ "url": "https://privy.com/",
+ "companyId": "privy"
+ },
+ "proclivity": {
+ "name": "Proclivity",
+ "categoryId": 4,
+ "url": "http://www.proclivitysystems.com/",
+ "companyId": "proclivity_media"
+ },
+ "prodperfect": {
+ "name": "ProdPerfect",
+ "categoryId": 6,
+ "url": "https://prodperfect.com/",
+ "companyId": "prodperfect"
+ },
+ "productsup": {
+ "name": "ProductsUp",
+ "categoryId": 4,
+ "url": "https://productsup.io/",
+ "companyId": "productsup"
+ },
+ "profiliad": {
+ "name": "Profiliad",
+ "categoryId": 6,
+ "url": "http://profiliad.com/",
+ "companyId": "profiliad"
+ },
+ "profitshare": {
+ "name": "Profitshare",
+ "categoryId": 6,
+ "url": "https://profitshare.ro/",
+ "companyId": "profitshare"
+ },
+ "proformics": {
+ "name": "Proformics",
+ "categoryId": 6,
+ "url": "http://proformics.com/",
+ "companyId": "proformics_digital"
+ },
+ "programattik": {
+ "name": "Programattik",
+ "categoryId": 4,
+ "url": "http://www.programattik.com/",
+ "companyId": "ttnet"
+ },
+ "project_wonderful": {
+ "name": "Project Wonderful",
+ "categoryId": 4,
+ "url": "http://www.projectwonderful.com/",
+ "companyId": "project_wonderful"
+ },
+ "propel_marketing": {
+ "name": "Propel Marketing",
+ "categoryId": 4,
+ "url": "http://propelmarketing.com/",
+ "companyId": "propel_marketing"
+ },
+ "propeller_ads": {
+ "name": "Propeller Ads",
+ "categoryId": 4,
+ "url": "http://www.propellerads.com/",
+ "companyId": "propeller_ads"
+ },
+ "propermedia": {
+ "name": "Proper Media",
+ "categoryId": 4,
+ "url": "https://proper.io/",
+ "companyId": "propermedia"
+ },
+ "props": {
+ "name": "Props",
+ "categoryId": 4,
+ "url": "http://props.id/",
+ "companyId": "props"
+ },
+ "propvideo_net": {
+ "name": "propvideo.net",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "prospecteye": {
+ "name": "ProspectEye",
+ "categoryId": 4,
+ "url": "https://www.prospecteye.com/",
+ "companyId": "prospecteye"
+ },
+ "prosperent": {
+ "name": "Prosperent",
+ "categoryId": 4,
+ "url": "http://prosperent.com",
+ "companyId": "prosperent"
+ },
+ "prostor": {
+ "name": "Prostor",
+ "categoryId": 4,
+ "url": "http://prostor-lite.ru/",
+ "companyId": "prostor"
+ },
+ "provide_support": {
+ "name": "Provide Support",
+ "categoryId": 2,
+ "url": "http://www.providesupport.com/",
+ "companyId": "provide_support"
+ },
+ "proximic": {
+ "name": "Proximic",
+ "categoryId": 4,
+ "url": "http://www.proximic.com/",
+ "companyId": "proximic"
+ },
+ "proxistore.com": {
+ "name": "Proxistore",
+ "categoryId": 4,
+ "url": "https://www.proxistore.com/",
+ "companyId": "proxistore"
+ },
+ "pscp.tv": {
+ "name": "Periscope",
+ "categoryId": 7,
+ "url": "https://www.pscp.tv/",
+ "companyId": "periscope"
+ },
+ "pstatic.net": {
+ "name": "Naver CDN",
+ "categoryId": 9,
+ "url": "https://www.naver.com/",
+ "companyId": "naver"
+ },
+ "psyma": {
+ "name": "Psyma",
+ "categoryId": 4,
+ "url": "http://www.psyma.com/",
+ "companyId": "psyma"
+ },
+ "pt_engine": {
+ "name": "Pt engine",
+ "categoryId": 6,
+ "url": "http://www.ptengine.jp/",
+ "companyId": "pt_engine"
+ },
+ "pub-fit": {
+ "name": "Pub-Fit",
+ "categoryId": 4,
+ "url": "http://www.pub-fit.com/",
+ "companyId": "pub-fit"
+ },
+ "pub.network": {
+ "name": "pub.network",
+ "categoryId": 4,
+ "url": null,
+ "companyId": null
+ },
+ "pubble": {
+ "name": "Pubble",
+ "categoryId": 2,
+ "url": "http://www.pubble.co/",
+ "companyId": "pubble"
+ },
+ "pubdirecte": {
+ "name": "Pubdirecte",
+ "categoryId": 4,
+ "url": "http://www.pubdirecte.com/",
+ "companyId": "pubdirecte"
+ },
+ "pubgears": {
+ "name": "PubGears",
+ "categoryId": 4,
+ "url": "http://pubgears.com/",
+ "companyId": "pubgears"
+ },
+ "public_ideas": {
+ "name": "Public Ideas",
+ "categoryId": 4,
+ "url": "http://www.publicidees.co.uk/",
+ "companyId": "public-idees"
+ },
+ "publicidad.net": {
+ "name": "Publicidad.net",
+ "categoryId": 4,
+ "url": "http://www.en.publicidad.net/",
+ "companyId": "publicidad.net"
+ },
+ "publir": {
+ "name": "Publir",
+ "categoryId": 4,
+ "url": "http://www.publir.com",
+ "companyId": "publir"
+ },
+ "pubmatic": {
+ "name": "PubMatic",
+ "categoryId": 4,
+ "url": "http://www.pubmatic.com/",
+ "companyId": "pubmatic"
+ },
+ "pubnub.com": {
+ "name": "PubNub",
+ "categoryId": 8,
+ "url": "https://www.pubnub.com/",
+ "companyId": null
+ },
+ "puboclic": {
+ "name": "Puboclic",
+ "categoryId": 4,
+ "url": "http://www.puboclic.com/",
+ "companyId": "puboclic"
+ },
+ "pulpix.com": {
+ "name": "Pulpix",
+ "categoryId": 4,
+ "url": "https://www.pulpix.com/",
+ "companyId": "adyoulike"
+ },
+ "pulpo_media": {
+ "name": "Pulpo Media",
+ "categoryId": 4,
+ "url": "http://www.pulpomedia.com/home.html",
+ "companyId": "pulpo_media"
+ },
+ "pulse360": {
+ "name": "Pulse360",
+ "categoryId": 4,
+ "url": "http://www.pulse360.com",
+ "companyId": "pulse360"
+ },
+ "pulse_insights": {
+ "name": "Pulse Insights",
+ "categoryId": 6,
+ "url": "http://pulseinsights.com/",
+ "companyId": "pulse_insights"
+ },
+ "pulsepoint": {
+ "name": "PulsePoint",
+ "categoryId": 4,
+ "url": "http://www.contextweb.com/",
+ "companyId": "pulsepoint_ad_exchange"
+ },
+ "punchtab": {
+ "name": "PunchTab",
+ "categoryId": 4,
+ "url": "http://www.punchtab.com/",
+ "companyId": "punchtab"
+ },
+ "purch": {
+ "name": "Purch",
+ "categoryId": 4,
+ "url": "http://www.purch.com/",
+ "companyId": "purch"
+ },
+ "pure_chat": {
+ "name": "Pure Chat",
+ "categoryId": 2,
+ "url": "https://www.purechat.com",
+ "companyId": "pure_chat"
+ },
+ "pureprofile": {
+ "name": "Pureprofile",
+ "categoryId": 6,
+ "url": "https://www.pureprofile.com/us/",
+ "companyId": "pureprofile"
+ },
+ "purlive": {
+ "name": "PurLive",
+ "categoryId": 4,
+ "url": "http://www.purlive.com/",
+ "companyId": "purlive"
+ },
+ "puserving.com": {
+ "name": "puserving.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "push.world": {
+ "name": "Push.world",
+ "categoryId": 2,
+ "url": "https://push.world/en",
+ "companyId": "push.world"
+ },
+ "push_engage": {
+ "name": "Push Engage",
+ "categoryId": 2,
+ "url": "https://www.pushengage.com/",
+ "companyId": "push_engage"
+ },
+ "pushame.com": {
+ "name": "pushame.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "pushbullet": {
+ "name": "Pushbullet",
+ "categoryId": 2,
+ "url": "https://www.pushbullet.com/",
+ "companyId": "pushbullet"
+ },
+ "pushcrew": {
+ "name": "VWO Engage",
+ "categoryId": 2,
+ "url": "https://vwo.com/engage/",
+ "companyId": "wingify"
+ },
+ "pusher.com": {
+ "name": "Pusher",
+ "categoryId": 6,
+ "url": "https://pusher.com/",
+ "companyId": null
+ },
+ "pushnative.com": {
+ "name": "pushnative.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "pushnews": {
+ "name": "Pushnews",
+ "categoryId": 4,
+ "url": "https://www.pushnews.eu/",
+ "companyId": "pushnews"
+ },
+ "pushno.com": {
+ "name": "pushno.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "pushwhy.com": {
+ "name": "pushwhy.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "pushwoosh.com": {
+ "name": "Pushwoosh",
+ "categoryId": 2,
+ "url": "https://www.pushwoosh.com/",
+ "companyId": "pushwoosh"
+ },
+ "pvclouds.com": {
+ "name": "pvclouds.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "q1media": {
+ "name": "Q1Media",
+ "categoryId": 4,
+ "url": "http://q1media.com/",
+ "companyId": "q1media"
+ },
+ "q_division": {
+ "name": "Q-Division",
+ "categoryId": 4,
+ "url": "https://q-division.de/",
+ "companyId": null
+ },
+ "qbaka": {
+ "name": "Qbaka",
+ "categoryId": 6,
+ "url": "https://qbaka.com/",
+ "companyId": "qbaka"
+ },
+ "qcri_analytics": {
+ "name": "QCRI Analytics",
+ "categoryId": 6,
+ "url": "http://qcri.org/",
+ "companyId": "qatar_computing_research_institute"
+ },
+ "qeado": {
+ "name": "Qeado",
+ "categoryId": 6,
+ "url": "https://www.qeado.com/",
+ "companyId": "qeado"
+ },
+ "qihoo_360": {
+ "name": "Qihoo 360",
+ "categoryId": 6,
+ "url": "https://www.360totalsecurity.com/en/",
+ "companyId": "qihoo_360_technology"
+ },
+ "qq.com": {
+ "name": "qq.com",
+ "categoryId": 8,
+ "url": "http://www.qq.com/",
+ "companyId": "qq.com"
+ },
+ "qrius": {
+ "name": "Qrius",
+ "categoryId": 7,
+ "url": "http://www.qrius.me/",
+ "companyId": "mediafed"
+ },
+ "qualaroo": {
+ "name": "Qualaroo",
+ "categoryId": 6,
+ "url": null,
+ "companyId": null
+ },
+ "qualia": {
+ "name": "Qualia",
+ "categoryId": 4,
+ "url": "http://www.bluecava.com/",
+ "companyId": "qualia"
+ },
+ "qualtrics": {
+ "name": "Qualtrics",
+ "categoryId": 6,
+ "url": "http://www.qualtrics.com/",
+ "companyId": "qualtrics"
+ },
+ "quantcast": {
+ "name": "Quantcast",
+ "categoryId": 4,
+ "url": "http://www.quantcast.com/",
+ "companyId": "quantcast"
+ },
+ "quantcount": {
+ "name": "Quantcount",
+ "categoryId": 6,
+ "url": "http://www.quantcast.com",
+ "companyId": "quantcast"
+ },
+ "quantum_metric": {
+ "name": "Quantum Metric",
+ "categoryId": 6,
+ "url": "https://www.quantummetric.com/",
+ "companyId": "quantum_metric"
+ },
+ "quartic.pl": {
+ "name": "Quartic",
+ "categoryId": 6,
+ "url": "https://www.quarticon.com/",
+ "companyId": "quarticon"
+ },
+ "qubit": {
+ "name": "Qubit Opentag",
+ "categoryId": 6,
+ "url": "http://www.qubit.com/",
+ "companyId": "qubit"
+ },
+ "questback": {
+ "name": "Questback",
+ "categoryId": 2,
+ "url": "http://www1.questback.com/",
+ "companyId": "questback"
+ },
+ "queue-it": {
+ "name": "Queue-it",
+ "categoryId": 6,
+ "url": "https://queue-it.com/",
+ "companyId": null
+ },
+ "quick-counter.net": {
+ "name": "Quick-counter.net",
+ "categoryId": 6,
+ "url": "http://www.quick-counter.net/",
+ "companyId": "quick-counter.net"
+ },
+ "quigo_adsonar": {
+ "name": "Quigo AdSonar",
+ "categoryId": 4,
+ "url": "http://www.quigo.com",
+ "companyId": "verizon"
+ },
+ "quinstreet": {
+ "name": "QuinStreet",
+ "categoryId": 4,
+ "url": "http://www.quinstreet.com/",
+ "companyId": "quinstreet"
+ },
+ "quintelligence": {
+ "name": "Quintelligence",
+ "categoryId": 6,
+ "url": "http://www.quintelligence.com/",
+ "companyId": "quintelligence"
+ },
+ "quisma": {
+ "name": "Quisma",
+ "categoryId": 4,
+ "url": "http://www.quisma.com/en/",
+ "companyId": "wpp"
+ },
+ "quora.com": {
+ "name": "Quora",
+ "categoryId": 7,
+ "url": "https://quora.com/",
+ "companyId": null
+ },
+ "r_advertising": {
+ "name": "R-Advertising",
+ "categoryId": 4,
+ "url": "http://www.r-advertising.com/",
+ "companyId": "r-advertising"
+ },
+ "rackcdn.com": {
+ "name": "Rackspace",
+ "categoryId": 9,
+ "url": "https://www.rackspace.com/",
+ "companyId": null
+ },
+ "radarurl": {
+ "name": "RadarURL",
+ "categoryId": 6,
+ "url": "http://radarurl.com/",
+ "companyId": "radarurl"
+ },
+ "radial": {
+ "name": "Radial",
+ "categoryId": 4,
+ "url": "http://www.clearsaleing.com/",
+ "companyId": "radial"
+ },
+ "radiumone": {
+ "name": "RadiumOne",
+ "categoryId": 4,
+ "url": "http://www.radiumone.com/index.html",
+ "companyId": "rythmone"
+ },
+ "raisenow": {
+ "name": "RaiseNow",
+ "categoryId": 6,
+ "url": "https://www.raisenow.com/de",
+ "companyId": "raisenow"
+ },
+ "rakuten_display": {
+ "name": "Rakuten Display",
+ "categoryId": 4,
+ "url": "https://rakutenmarketing.com/display",
+ "companyId": "rakuten"
+ },
+ "rakuten_globalmarket": {
+ "name": "Rakuten",
+ "categoryId": 4,
+ "url": "https://www.rakuten.co.jp/",
+ "companyId": "rakuten"
+ },
+ "rakuten_widget": {
+ "name": "Rakuten Widget",
+ "categoryId": 4,
+ "url": "http://global.rakuten.com/corp/",
+ "companyId": "rakuten"
+ },
+ "rambler": {
+ "name": "Rambler",
+ "categoryId": 6,
+ "url": "https://www.rambler.ru/",
+ "companyId": "rambler"
+ },
+ "rambler_count": {
+ "name": "Rambler Count",
+ "categoryId": 2,
+ "url": "http://www.rambler.ru/",
+ "companyId": "rambler"
+ },
+ "rambler_widget": {
+ "name": "Rambler Widget",
+ "categoryId": 2,
+ "url": "http://www.rambler.ru/",
+ "companyId": "rambler"
+ },
+ "rapidspike": {
+ "name": "RapidSpike",
+ "categoryId": 6,
+ "url": "https://www.rapidspike.com",
+ "companyId": "rapidspike"
+ },
+ "ravelin": {
+ "name": "Ravelin",
+ "categoryId": 6,
+ "url": "https://www.ravelin.com/",
+ "companyId": null
+ },
+ "rawgit": {
+ "name": "RawGit",
+ "categoryId": 9,
+ "url": "http://rawgit.com/",
+ "companyId": null
+ },
+ "raygun": {
+ "name": "Raygun",
+ "categoryId": 4,
+ "url": "https://raygun.com/",
+ "companyId": "raygun"
+ },
+ "rbc_counter": {
+ "name": "RBC Counter",
+ "categoryId": 6,
+ "url": "http://www.rbc.ru/",
+ "companyId": "rbc_group"
+ },
+ "rcs.it": {
+ "name": "RCS",
+ "categoryId": 4,
+ "url": "http://www.rcsmediagroup.it/",
+ "companyId": "rcs"
+ },
+ "rd_station": {
+ "name": "RD Station",
+ "categoryId": 6,
+ "url": "http://www.rdstation.com/en/",
+ "companyId": "rd_station"
+ },
+ "reachforce": {
+ "name": "ReachForce",
+ "categoryId": 6,
+ "url": "http://www.reachforce.com/",
+ "companyId": "reachforce"
+ },
+ "reachjunction": {
+ "name": "ReachJunction",
+ "categoryId": 4,
+ "url": "http://www.reachjunction.com/",
+ "companyId": "reachjunction"
+ },
+ "reachlocal": {
+ "name": "ReachLocal",
+ "categoryId": 4,
+ "url": "http://www.reachlocal.com/",
+ "companyId": "reachlocal"
+ },
+ "reactful": {
+ "name": "Reactful",
+ "categoryId": 4,
+ "url": "http://www.reactful.com/",
+ "companyId": "reactful"
+ },
+ "reactivpub": {
+ "name": "Reactivpub",
+ "categoryId": 6,
+ "url": "http://www.reactivpub.com/",
+ "companyId": "r-advertising"
+ },
+ "reactx": {
+ "name": "ReactX",
+ "categoryId": 4,
+ "url": "http://home.skinected.com",
+ "companyId": "reactx"
+ },
+ "readerboard": {
+ "name": "ReaderBoard",
+ "categoryId": 7,
+ "url": "http://www.readrboard.com",
+ "companyId": "centre_phi"
+ },
+ "readme": {
+ "name": "ReadMe",
+ "categoryId": 6,
+ "url": "https://readme.com/",
+ "companyId": "readme"
+ },
+ "readspeaker.com": {
+ "name": "ReadSpeaker",
+ "categoryId": 2,
+ "url": "https://www.readspeaker.com/",
+ "companyId": null
+ },
+ "realclick": {
+ "name": "RealClick",
+ "categoryId": 4,
+ "url": "http://www.realclick.co.kr/",
+ "companyId": "realclick"
+ },
+ "realperson.de": {
+ "name": "Realperson Chat",
+ "categoryId": 2,
+ "url": "http://www.optimise-it.de/",
+ "companyId": "optimise_it"
+ },
+ "realtime": {
+ "name": "Realtime",
+ "categoryId": 2,
+ "url": "http://www.realtime.co/",
+ "companyId": "realtime"
+ },
+ "realytics": {
+ "name": "Realytics",
+ "categoryId": 6,
+ "url": "https://www.realytics.io/",
+ "companyId": "realytics"
+ },
+ "rebel_mouse": {
+ "name": "Rebel Mouse",
+ "categoryId": 6,
+ "url": "https://www.rebelmouse.com/",
+ "companyId": "rebelmouse"
+ },
+ "recettes.net": {
+ "name": "Recettes.net",
+ "categoryId": 8,
+ "url": "http://www.recettes.net/",
+ "companyId": "recettes.net"
+ },
+ "recopick": {
+ "name": "RecoPick",
+ "categoryId": 4,
+ "url": "https://recopick.com/",
+ "companyId": "recopick"
+ },
+ "recreativ": {
+ "name": "Recreativ",
+ "categoryId": 4,
+ "url": "http://recreativ.ru/",
+ "companyId": "recreativ"
+ },
+ "recruitics": {
+ "name": "Recruitics",
+ "categoryId": 6,
+ "url": "http://recruitics.com/",
+ "companyId": "recruitics"
+ },
+ "red_ventures": {
+ "name": "Red Ventures",
+ "categoryId": 6,
+ "url": "https://www.redventures.com/",
+ "companyId": "red_ventures"
+ },
+ "redblue_de": {
+ "name": "redblue",
+ "categoryId": 6,
+ "url": "https://www.redblue.de/",
+ "companyId": null
+ },
+ "redcdn.pl": {
+ "name": "redGalaxy CDN",
+ "categoryId": 9,
+ "url": "http://www.atendesoftware.pl/",
+ "companyId": "atende_software"
+ },
+ "reddit": {
+ "name": "Reddit",
+ "categoryId": 7,
+ "url": "http://reddit.com",
+ "companyId": "reddit"
+ },
+ "redhelper": {
+ "name": "RedHelper",
+ "categoryId": 2,
+ "url": "http://redhelper.com/",
+ "companyId": "redhelper"
+ },
+ "redlotus": {
+ "name": "RedLotus",
+ "categoryId": 4,
+ "url": "http://triggit.com/",
+ "companyId": "redlotus"
+ },
+ "redtram": {
+ "name": "RedTram",
+ "categoryId": 4,
+ "url": "http://www.redtram.com/",
+ "companyId": "redtram"
+ },
+ "redtube.com": {
+ "name": "redtube.com",
+ "categoryId": 9,
+ "url": null,
+ "companyId": null
+ },
+ "redux_media": {
+ "name": "Redux Media",
+ "categoryId": 4,
+ "url": "http://reduxmedia.com/",
+ "companyId": "redux_media"
+ },
+ "reed_business_information": {
+ "name": "Reed Business Information",
+ "categoryId": 6,
+ "url": "http://www.reedbusiness.com/",
+ "companyId": "andera_partners"
+ },
+ "reembed.com": {
+ "name": "reEmbed",
+ "categoryId": 0,
+ "url": "https://www.reembed.com/",
+ "companyId": "reembed"
+ },
+ "reevoo.com": {
+ "name": "Reevoo",
+ "categoryId": 4,
+ "url": "https://www.reevoo.com/en/",
+ "companyId": "reevoo"
+ },
+ "refericon": {
+ "name": "Refericon",
+ "categoryId": 4,
+ "url": "https://refericon.pl/#",
+ "companyId": "refericon"
+ },
+ "referlocal": {
+ "name": "ReferLocal",
+ "categoryId": 4,
+ "url": "http://referlocal.com/",
+ "companyId": "referlocal"
+ },
+ "refersion": {
+ "name": "Refersion",
+ "categoryId": 4,
+ "url": "https://www.refersion.com/",
+ "companyId": "refersion"
+ },
+ "refined_labs": {
+ "name": "Refined Labs",
+ "categoryId": 4,
+ "url": "http://www.refinedlabs.com",
+ "companyId": "refined_labs"
+ },
+ "reflektion": {
+ "name": "Reflektion",
+ "categoryId": 4,
+ "url": "http://",
+ "companyId": "reflektion"
+ },
+ "reformal": {
+ "name": "Reformal",
+ "categoryId": 2,
+ "url": "http://reformal.ru/",
+ "companyId": "reformal"
+ },
+ "reinvigorate": {
+ "name": "Reinvigorate",
+ "categoryId": 6,
+ "url": "http://www.reinvigorate.net/",
+ "companyId": "media_temple"
+ },
+ "rekko": {
+ "name": "Rekko",
+ "categoryId": 4,
+ "url": "http://convert.us/",
+ "companyId": "rekko"
+ },
+ "reklam_store": {
+ "name": "Reklam Store",
+ "categoryId": 4,
+ "url": "http://www.reklamstore.com",
+ "companyId": "reklam_store"
+ },
+ "reklamport": {
+ "name": "Reklamport",
+ "categoryId": 4,
+ "url": "http://www.reklamport.com/",
+ "companyId": "reklamport"
+ },
+ "reklamz": {
+ "name": "ReklamZ",
+ "categoryId": 4,
+ "url": "http://www.reklamz.com/",
+ "companyId": "reklamz"
+ },
+ "rekmob": {
+ "name": "Rekmob",
+ "categoryId": 4,
+ "url": "https://www.rekmob.com/",
+ "companyId": "rekmob"
+ },
+ "relap": {
+ "name": "Relap",
+ "categoryId": 4,
+ "url": "https://relap.io/",
+ "companyId": "relap"
+ },
+ "relay42": {
+ "name": "Relay42",
+ "categoryId": 5,
+ "url": "http://synovite.com",
+ "companyId": "relay42"
+ },
+ "relestar": {
+ "name": "Relestar",
+ "categoryId": 6,
+ "url": "https://relestar.com/",
+ "companyId": "relestar"
+ },
+ "relevant4.com": {
+ "name": "relevant4 GmbH",
+ "categoryId": 8,
+ "url": "https://www.relevant4.com/",
+ "companyId": null
+ },
+ "remintrex": {
+ "name": "Remintrex",
+ "categoryId": 4,
+ "url": "http://www.remintrex.com/",
+ "companyId": null
+ },
+ "remove.video": {
+ "name": "remove.video",
+ "categoryId": 12,
+ "url": null,
+ "companyId": null
+ },
+ "repost.us": {
+ "name": "Repost.us",
+ "categoryId": 4,
+ "url": "http://www.freerangecontent.com/",
+ "companyId": "repost"
+ },
+ "republer.com": {
+ "name": "Republer",
+ "categoryId": 4,
+ "url": "http://republer.com/",
+ "companyId": "republer"
+ },
+ "res-meter": {
+ "name": "Res-meter",
+ "categoryId": 6,
+ "url": "http://respublica.al/res-meter",
+ "companyId": "respublica"
+ },
+ "research_now": {
+ "name": "Research Now",
+ "categoryId": 4,
+ "url": "http://www.researchnow.com/",
+ "companyId": "research_now"
+ },
+ "resonate_networks": {
+ "name": "Resonate Networks",
+ "categoryId": 4,
+ "url": "http://www.resonatenetworks.com/",
+ "companyId": "resonate"
+ },
+ "respond": {
+ "name": "Respond",
+ "categoryId": 4,
+ "url": "http://respondhq.com/",
+ "companyId": "respond"
+ },
+ "responsetap": {
+ "name": "ResponseTap",
+ "categoryId": 4,
+ "url": "http://www.adinsight.eu/",
+ "companyId": "responsetap"
+ },
+ "result_links": {
+ "name": "Result Links",
+ "categoryId": 4,
+ "url": "http://www.resultlinks.com/",
+ "companyId": "result_links"
+ },
+ "resultspage.com": {
+ "name": "SLI Systems",
+ "categoryId": 6,
+ "url": "https://www.sli-systems.com/",
+ "companyId": "sli_systems"
+ },
+ "retailrocket.net": {
+ "name": "Retail Rocket",
+ "categoryId": 4,
+ "url": "https://retailrocket.net/",
+ "companyId": "retail_rocket"
+ },
+ "retarget_app": {
+ "name": "Retarget App",
+ "categoryId": 4,
+ "url": "https://retargetapp.com/",
+ "companyId": "retargetapp"
+ },
+ "retargeter_beacon": {
+ "name": "ReTargeter Beacon",
+ "categoryId": 4,
+ "url": "http://www.retargeter.com/",
+ "companyId": "retargeter"
+ },
+ "retargeting.cl": {
+ "name": "Retargeting.cl",
+ "categoryId": 4,
+ "url": "http://retargeting.cl/",
+ "companyId": "retargeting"
+ },
+ "retention_science": {
+ "name": "Retention Science",
+ "categoryId": 4,
+ "url": "http://retentionscience.com/",
+ "companyId": "retention_science"
+ },
+ "reuters_media": {
+ "name": "Reuters media",
+ "categoryId": 9,
+ "url": "https://reuters.com",
+ "companyId": null
+ },
+ "revcontent": {
+ "name": "RevContent",
+ "categoryId": 4,
+ "url": "https://www.revcontent.com/",
+ "companyId": "revcontent"
+ },
+ "reve_marketing": {
+ "name": "Reve Marketing",
+ "categoryId": 4,
+ "url": "http://tellafriend.socialtwist.com/",
+ "companyId": "reve_marketing"
+ },
+ "revenue": {
+ "name": "Revenue",
+ "categoryId": 4,
+ "url": "https://revenue.com/",
+ "companyId": "revenue"
+ },
+ "revenuehits": {
+ "name": "RevenueHits",
+ "categoryId": 4,
+ "url": "http://www.revenuehits.com/",
+ "companyId": "revenuehits"
+ },
+ "revenuemantra": {
+ "name": "RevenueMantra",
+ "categoryId": 4,
+ "url": "http://www.revenuemantra.com/",
+ "companyId": "revenuemantra"
+ },
+ "revive_adserver": {
+ "name": "Revive Adserver",
+ "categoryId": 4,
+ "url": "https://www.revive-adserver.com/",
+ "companyId": "revive_adserver"
+ },
+ "revolver_maps": {
+ "name": "Revolver Maps",
+ "categoryId": 6,
+ "url": "http://www.revolvermaps.com/",
+ "companyId": "revolver_maps"
+ },
+ "revresponse": {
+ "name": "RevResponse",
+ "categoryId": 4,
+ "url": "http://www.netline.com/",
+ "companyId": "netline"
+ },
+ "rewords": {
+ "name": "ReWords",
+ "categoryId": 4,
+ "url": "http://www.rewords.pl/",
+ "companyId": "rewords"
+ },
+ "rhythmone": {
+ "name": "RhythmOne",
+ "categoryId": 4,
+ "url": "http://www.adconductor.com/",
+ "companyId": "rhythmone"
+ },
+ "rhythmone_beacon": {
+ "name": "Rhythmone Beacon",
+ "categoryId": 4,
+ "url": "https://www.rhythmone.com/",
+ "companyId": "rythmone"
+ },
+ "ria.ru": {
+ "name": "ria.ru",
+ "categoryId": 8,
+ "url": "https://ria.ru/",
+ "companyId": null
+ },
+ "rich_media_banner_network": {
+ "name": "Rich Media Banner Network",
+ "categoryId": 4,
+ "url": "http://rmbn.ru/",
+ "companyId": "rich_media_banner_network"
+ },
+ "richrelevance": {
+ "name": "RichRelevance",
+ "categoryId": 2,
+ "url": "http://www.richrelevance.com/",
+ "companyId": "richrelevance"
+ },
+ "ringier.ch": {
+ "name": "Ringier",
+ "categoryId": 6,
+ "url": "http://ringier.ch/en",
+ "companyId": "ringier"
+ },
+ "rio_seo": {
+ "name": "Rio SEO",
+ "categoryId": 7,
+ "url": "http://www.meteorsolutions.com",
+ "companyId": "rio_seo"
+ },
+ "riskfield.com": {
+ "name": "Riskified",
+ "categoryId": 2,
+ "url": "https://www.riskified.com/",
+ "companyId": "riskfield"
+ },
+ "rncdn3.com": {
+ "name": "Reflected Networks",
+ "categoryId": 9,
+ "url": "http://www.rncdn3.com/",
+ "companyId": null
+ },
+ "ro2.biz": {
+ "name": "Ro2.biz",
+ "categoryId": 4,
+ "url": "http://ro2.biz/index.php?r=adikku",
+ "companyId": "ro2.biz"
+ },
+ "roblox": {
+ "name": "Roblox",
+ "categoryId": 8,
+ "url": "https://www.roblox.com/",
+ "companyId": null
+ },
+ "rockerbox": {
+ "name": "Rockerbox",
+ "categoryId": 6,
+ "url": "https://www.rockerbox.com/privacy",
+ "companyId": "rockerbox"
+ },
+ "rocket.ia": {
+ "name": "Rocket.ia",
+ "categoryId": 4,
+ "url": "https://rocket.la/",
+ "companyId": "rocket.la"
+ },
+ "roi_trax": {
+ "name": "ROI trax",
+ "categoryId": 4,
+ "url": "http://www.oneupweb.com/",
+ "companyId": "oneupweb"
+ },
+ "roistat": {
+ "name": "Roistat",
+ "categoryId": 6,
+ "url": "https://roistat.com",
+ "companyId": "roistat"
+ },
+ "rollad": {
+ "name": "Rollad",
+ "categoryId": 4,
+ "url": "http://rollad.ru",
+ "companyId": "rollad"
+ },
+ "rollbar": {
+ "name": "Rollbar",
+ "categoryId": 6,
+ "url": "http://www.rollbar.com/",
+ "companyId": "rollbar"
+ },
+ "roost": {
+ "name": "Roost",
+ "categoryId": 6,
+ "url": "http://roost.me/",
+ "companyId": "roost"
+ },
+ "rooster": {
+ "name": "Rooster",
+ "categoryId": 6,
+ "url": "http://www.getrooster.com/",
+ "companyId": "rooster"
+ },
+ "roq.ad": {
+ "name": "Roq.ad",
+ "categoryId": 4,
+ "url": "https://www.roq.ad/",
+ "companyId": "roq.ad"
+ },
+ "rotaban": {
+ "name": "RotaBan",
+ "categoryId": 4,
+ "url": "http://www.rotaban.ru/",
+ "companyId": "rotaban"
+ },
+ "routenplaner-karten.com": {
+ "name": "Routenplaner Karten",
+ "categoryId": 2,
+ "url": "https://www.routenplaner-karten.com/",
+ "companyId": null
+ },
+ "rovion": {
+ "name": "Rovion",
+ "categoryId": 4,
+ "url": "http://www.rovion.com/",
+ "companyId": "rovion"
+ },
+ "rsspump": {
+ "name": "RSSPump",
+ "categoryId": 2,
+ "url": "http://www.rsspump.com",
+ "companyId": "rsspump"
+ },
+ "rtb_house": {
+ "name": "RTB House",
+ "categoryId": 4,
+ "url": "http://en.adpilot.com/",
+ "companyId": "rtb_house"
+ },
+ "rtblab": {
+ "name": "RTBmarkt",
+ "categoryId": 4,
+ "url": "http://www.rtbmarkt.de/en/home/",
+ "companyId": "rtbmarkt"
+ },
+ "rtbsuperhub.com": {
+ "name": "rtbsuperhub.com",
+ "categoryId": 4,
+ "url": null,
+ "companyId": null
+ },
+ "rtl_group": {
+ "name": "RTL Group",
+ "categoryId": 8,
+ "url": "http://www.rtlgroup.com/www/htm/home.aspx",
+ "companyId": "rtl_group"
+ },
+ "rtmark.net": {
+ "name": "Advertising Technologies Ltd",
+ "categoryId": 4,
+ "url": "http://rtmark.net/",
+ "companyId": "big_wall_vision"
+ },
+ "rubicon": {
+ "name": "Rubicon",
+ "categoryId": 4,
+ "url": "http://rubiconproject.com/",
+ "companyId": "rubicon_project"
+ },
+ "ruhrgebiet": {
+ "name": "Ruhrgebiet",
+ "categoryId": 4,
+ "url": "https://www.ruhrgebiet-onlineservices.de/",
+ "companyId": "ruhrgebiet"
+ },
+ "rummycircle": {
+ "name": "RummyCircle",
+ "categoryId": 4,
+ "url": "https://www.rummycircle.com/",
+ "companyId": "rummycircle"
+ },
+ "run": {
+ "name": "RUN",
+ "categoryId": 4,
+ "url": "http://www.rundsp.com/",
+ "companyId": "run"
+ },
+ "runative": {
+ "name": "Runative",
+ "categoryId": 4,
+ "url": "https://runative.com/",
+ "companyId": null
+ },
+ "rune": {
+ "name": "Rune",
+ "categoryId": 6,
+ "url": "http://www.secretrune.com/",
+ "companyId": "rune_inc."
+ },
+ "runmewivel.com": {
+ "name": "runmewivel.com",
+ "categoryId": 10,
+ "url": null,
+ "companyId": null
+ },
+ "rythmxchange": {
+ "name": "Rythmxchange",
+ "categoryId": 0,
+ "url": "https://www.rhythmone.com/",
+ "companyId": "rythmone"
+ },
+ "s24_com": {
+ "name": "Shopping24 internet group",
+ "categoryId": 4,
+ "url": "https://www.s24.com/",
+ "companyId": null
+ },
+ "s3xified.com": {
+ "name": "s3xified.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "sabavision": {
+ "name": "SabaVision",
+ "categoryId": 4,
+ "url": "http://www.sabavision.com/en/",
+ "companyId": "sabavision"
+ },
+ "sagemetrics": {
+ "name": "SageMetrics",
+ "categoryId": 4,
+ "url": "http://www.sagemetrics.com",
+ "companyId": "ipmg"
+ },
+ "sailthru_horizon": {
+ "name": "Sailthru Horizon",
+ "categoryId": 4,
+ "url": "https://www.sailthru.com",
+ "companyId": "sailthru"
+ },
+ "salecycle": {
+ "name": "SaleCycle",
+ "categoryId": 4,
+ "url": "http://www.salecycle.com/",
+ "companyId": "salecycle"
+ },
+ "sales_feed": {
+ "name": "Sales Feed",
+ "categoryId": 4,
+ "url": "https://www.salesfeed.com/",
+ "companyId": "sales_feed"
+ },
+ "sales_manago": {
+ "name": "SALESmanago",
+ "categoryId": 6,
+ "url": "https://www.salesmanago.com/",
+ "companyId": "sales_manago"
+ },
+ "salesforce.com": {
+ "name": "Salesforce",
+ "categoryId": 4,
+ "url": "https://www.salesforce.com/eu/",
+ "companyId": "salesforce"
+ },
+ "salesforce_live_agent": {
+ "name": "Salesforce Live Agent",
+ "categoryId": 2,
+ "url": "http://www.salesforce.com/",
+ "companyId": "salesforce"
+ },
+ "salesfusion": {
+ "name": "SalesFUSION",
+ "categoryId": 4,
+ "url": "http://salesfusion.com/",
+ "companyId": "salesfusion"
+ },
+ "salespider_media": {
+ "name": "SaleSpider Media",
+ "categoryId": 4,
+ "url": "http://salespidermedia.com/",
+ "companyId": "salespider_media"
+ },
+ "salesviewer": {
+ "name": "SalesViewer",
+ "categoryId": 6,
+ "url": "https://www.salesviewer.com/",
+ "companyId": "salesviewer"
+ },
+ "samba.tv": {
+ "name": "Samba TV",
+ "categoryId": 4,
+ "url": "https://samba.tv/",
+ "companyId": "samba_tv"
+ },
+ "sanoma.fi": {
+ "name": "Sanoma",
+ "categoryId": 4,
+ "url": "https://sanoma.com/",
+ "companyId": "sanoma"
+ },
+ "sap_crm": {
+ "name": "SAP CRM",
+ "categoryId": 6,
+ "url": "https://www.sap.com/products/crm.html",
+ "companyId": "sap"
+ },
+ "sap_sales_cloud": {
+ "name": "SAP Sales Cloud",
+ "categoryId": 2,
+ "url": "http://leadforce1.com/",
+ "companyId": "sap"
+ },
+ "sap_xm": {
+ "name": "SAP Exchange Media",
+ "categoryId": 4,
+ "url": "http://sapexchange.media/",
+ "companyId": null
+ },
+ "sape.ru": {
+ "name": "Sape",
+ "categoryId": 6,
+ "url": "https://www.sape.ru/en",
+ "companyId": "sape"
+ },
+ "sapo_ads": {
+ "name": "SAPO Ads",
+ "categoryId": 4,
+ "url": "http://www.sapo.pt/",
+ "companyId": "sapo"
+ },
+ "sas": {
+ "name": "SAS",
+ "categoryId": 6,
+ "url": "http://www.sas.com/",
+ "companyId": "sas"
+ },
+ "say.ac": {
+ "name": "Say.ac",
+ "categoryId": 4,
+ "url": "http://say.ac",
+ "companyId": "say.ac"
+ },
+ "say_media": {
+ "name": "Say Media",
+ "categoryId": 4,
+ "url": "http://www.saymedia.com/",
+ "companyId": "say_media"
+ },
+ "sayyac": {
+ "name": "Sayyac",
+ "categoryId": 6,
+ "url": "http://www.sayyac.com/",
+ "companyId": "sayyac"
+ },
+ "scarabresearch": {
+ "name": "Scarab Research",
+ "categoryId": 4,
+ "url": "https://www.scarabresearch.com/",
+ "companyId": "emarsys"
+ },
+ "schibsted": {
+ "name": "Schibsted Media Group",
+ "categoryId": 8,
+ "url": "http://www.schibsted.com/",
+ "companyId": "schibsted_asa"
+ },
+ "schneevonmorgen.com": {
+ "name": "Schnee von Morgen",
+ "categoryId": 0,
+ "url": "http://www.schneevonmorgen.com/",
+ "companyId": null
+ },
+ "scoota": {
+ "name": "Scoota",
+ "categoryId": 4,
+ "url": "http://scoota.com/",
+ "companyId": "rockabox"
+ },
+ "scorecard_research_beacon": {
+ "name": "ScoreCard Research Beacon",
+ "categoryId": 6,
+ "url": "https://www.scorecardresearch.com/",
+ "companyId": "comscore"
+ },
+ "scout_analytics": {
+ "name": "Scout Analytics",
+ "categoryId": 4,
+ "url": "http://scoutanalytics.com/",
+ "companyId": "scout_analytics"
+ },
+ "scribblelive": {
+ "name": "ScribbleLive",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "scribol": {
+ "name": "Scribol",
+ "categoryId": 4,
+ "url": "http://scribol.com/",
+ "companyId": "scribol"
+ },
+ "scripps_analytics": {
+ "name": "Scripps Analytics",
+ "categoryId": 6,
+ "url": "http://www.scrippsnetworksinteractive.com/",
+ "companyId": "scripps_networks"
+ },
+ "scroll": {
+ "name": "Scroll",
+ "categoryId": 5,
+ "url": "https://scroll.com/",
+ "companyId": "scroll"
+ },
+ "scupio": {
+ "name": "Scupio",
+ "categoryId": 4,
+ "url": "http://ad.scupio.com/",
+ "companyId": "bridgewell"
+ },
+ "search123": {
+ "name": "Search123",
+ "categoryId": 4,
+ "url": "http://www.search123.com/",
+ "companyId": "search123"
+ },
+ "searchforce": {
+ "name": "SearchForce",
+ "categoryId": 4,
+ "url": "http://www.searchforce.com/",
+ "companyId": "searchforce"
+ },
+ "searchignite": {
+ "name": "SearchIgnite",
+ "categoryId": 4,
+ "url": "https://searchignite.com/",
+ "companyId": "zeta"
+ },
+ "searchrev": {
+ "name": "SearchRev",
+ "categoryId": 4,
+ "url": "http://www.searchrev.com/",
+ "companyId": "searchrev"
+ },
+ "second_media": {
+ "name": "Second Media",
+ "categoryId": 4,
+ "url": "http://www.secondmedia.com/",
+ "companyId": "second_media"
+ },
+ "securedtouch": {
+ "name": "SecuredTouch",
+ "categoryId": 6,
+ "url": "https://www.securedtouch.com/",
+ "companyId": null
+ },
+ "securedvisit": {
+ "name": "SecuredVisit",
+ "categoryId": 4,
+ "url": "http://securedvisit.com/",
+ "companyId": "securedvisit"
+ },
+ "seeding_alliance": {
+ "name": "Seeding Alliance",
+ "categoryId": 4,
+ "url": "http://seeding-alliance.de",
+ "companyId": "stroer"
+ },
+ "seedtag.com": {
+ "name": "Seedtag",
+ "categoryId": 4,
+ "url": "https://www.seedtag.com/en/",
+ "companyId": "seedtag"
+ },
+ "seevolution": {
+ "name": "SeeVolution",
+ "categoryId": 6,
+ "url": "http://www.seevolution.com",
+ "companyId": "seevolution"
+ },
+ "segment": {
+ "name": "Segment",
+ "categoryId": 6,
+ "url": "https://segment.io/",
+ "companyId": "segment"
+ },
+ "segmento": {
+ "name": "Segmento",
+ "categoryId": 4,
+ "url": "https://segmento.ru/en",
+ "companyId": "segmento"
+ },
+ "segmint": {
+ "name": "Segmint",
+ "categoryId": 6,
+ "url": "http://www.segmint.com/",
+ "companyId": "segmint"
+ },
+ "sekindo": {
+ "name": "Sekindo",
+ "categoryId": 4,
+ "url": "http://www.sekindo.com/",
+ "companyId": "sekindo"
+ },
+ "sellpoints": {
+ "name": "Sellpoints",
+ "categoryId": 4,
+ "url": "https://www.sellpoints.com/",
+ "companyId": "sellpoints"
+ },
+ "semantiqo.com": {
+ "name": "Semantiqo",
+ "categoryId": 4,
+ "url": "https://semantiqo.com/",
+ "companyId": null
+ },
+ "semasio": {
+ "name": "Semasio",
+ "categoryId": 4,
+ "url": "http://semasio.com/",
+ "companyId": "semasio"
+ },
+ "semilo": {
+ "name": "Semilo",
+ "categoryId": 4,
+ "url": "http://www.semilo.nl/",
+ "companyId": "semilo"
+ },
+ "semknox.com": {
+ "name": "SEMKNOX GmbH",
+ "categoryId": 5,
+ "url": "https://semknox.com/",
+ "companyId": null
+ },
+ "sendinblue": {
+ "name": "sendinblue",
+ "categoryId": 4,
+ "url": "https://fr.sendinblue.com/",
+ "companyId": "sendinblue"
+ },
+ "sendpulse.com": {
+ "name": "SendPulse",
+ "categoryId": 3,
+ "url": "https://sendpulse.com/",
+ "companyId": null
+ },
+ "sendsay": {
+ "name": "Sendsay",
+ "categoryId": 2,
+ "url": "https://sendsay.ru",
+ "companyId": "sendsay"
+ },
+ "sense_digital": {
+ "name": "Sense Digital",
+ "categoryId": 6,
+ "url": "http://sensedigital.in/",
+ "companyId": "sense_digital"
+ },
+ "sensors_data": {
+ "name": "Sensors Data",
+ "categoryId": 6,
+ "url": "https://www.sensorsdata.cn/",
+ "companyId": "sensors_data"
+ },
+ "sentifi.com": {
+ "name": "Sentifi",
+ "categoryId": 6,
+ "url": "https://sentifi.com/",
+ "companyId": "sentifi"
+ },
+ "sentry": {
+ "name": "Sentry",
+ "categoryId": 6,
+ "url": "https://sentry.io/",
+ "companyId": "sentry"
+ },
+ "sepyra": {
+ "name": "Sepyra",
+ "categoryId": 4,
+ "url": "http://sepyra.com/",
+ "companyId": "sepyra"
+ },
+ "sessioncam": {
+ "name": "SessionCam",
+ "categoryId": 6,
+ "url": "http://www.sessioncam.com/",
+ "companyId": "sessioncam"
+ },
+ "sessionly": {
+ "name": "Sessionly",
+ "categoryId": 2,
+ "url": "https://www.sessionly.io/",
+ "companyId": "sessionly"
+ },
+ "sevenone_media": {
+ "name": "SevenOne Media",
+ "categoryId": 4,
+ "url": null,
+ "companyId": null
+ },
+ "sexadnetwork": {
+ "name": "SexAdNetwork",
+ "categoryId": 3,
+ "url": "http://www.sexadnetwork.com/",
+ "companyId": "sexadnetwork"
+ },
+ "sexinyourcity": {
+ "name": "SexInYourCity",
+ "categoryId": 3,
+ "url": "http://www.sexinyourcity.com/",
+ "companyId": "sexinyourcity"
+ },
+ "sextracker": {
+ "name": "SexTracker",
+ "categoryId": 3,
+ "url": "http://webmasters.sextracker.com/",
+ "companyId": "sextracker"
+ },
+ "sexypartners.net": {
+ "name": "sexypartners.net",
+ "categoryId": 3,
+ "url": null,
+ "companyId": null
+ },
+ "seznam": {
+ "name": "Seznam",
+ "categoryId": 6,
+ "url": "https://onas.seznam.cz/cz/",
+ "companyId": "seznam"
+ },
+ "shareaholic": {
+ "name": "Shareaholic",
+ "categoryId": 6,
+ "url": "hhttps://www.shareaholic.com/",
+ "companyId": "shareaholic"
+ },
+ "shareasale": {
+ "name": "ShareASale",
+ "categoryId": 4,
+ "url": "http://www.shareasale.com/",
+ "companyId": "shareasale"
+ },
+ "sharecompany": {
+ "name": "ShareCompany",
+ "categoryId": 2,
+ "url": "http://sharecompany.nl",
+ "companyId": "sharecompany"
+ },
+ "sharepoint": {
+ "name": "Microsoft SharePoint",
+ "categoryId": 2,
+ "url": "https://products.office.com/en-us/sharepoint/sharepoint-online-collaboration-software",
+ "companyId": "microsoft"
+ },
+ "sharethis": {
+ "name": "ShareThis",
+ "categoryId": 4,
+ "url": "http://sharethis.com/",
+ "companyId": "sharethis"
+ },
+ "sharethrough": {
+ "name": "ShareThrough",
+ "categoryId": 4,
+ "url": "http://www.sharethrough.com/",
+ "companyId": "sharethrough"
+ },
+ "sharpspring": {
+ "name": "Sharpspring",
+ "categoryId": 6,
+ "url": "https://sharpspring.com/",
+ "companyId": "sharpspring"
+ },
+ "sheego.de": {
+ "name": "sheego.de",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "sheerid": {
+ "name": "SheerID",
+ "categoryId": 4,
+ "url": "http://www.sheerid.com/",
+ "companyId": "sheerid"
+ },
+ "shinystat": {
+ "name": "ShinyStat",
+ "categoryId": 6,
+ "url": "http://www.shinystat.com/",
+ "companyId": "shinystat"
+ },
+ "shop_target": {
+ "name": "Shop Target",
+ "categoryId": 4,
+ "url": "http://shoptarget.com.br/",
+ "companyId": "shopback"
+ },
+ "shopauskunft.de": {
+ "name": "ShopAuskunft.de",
+ "categoryId": 2,
+ "url": "https://shopauskunft.de/",
+ "companyId": null
+ },
+ "shopgate.com": {
+ "name": "Shopgate",
+ "categoryId": 2,
+ "url": "https://www.shopgate.com/",
+ "companyId": null
+ },
+ "shopify_stats": {
+ "name": "Shopify Stats",
+ "categoryId": 4,
+ "url": "http://www.shopify.com/",
+ "companyId": "shopify"
+ },
+ "shopifycdn.com": {
+ "name": "Shopify CDN",
+ "categoryId": 9,
+ "url": "https://www.shopify.com/",
+ "companyId": "shopify"
+ },
+ "shopifycloud.com": {
+ "name": "Shopify Cloud",
+ "categoryId": 2,
+ "url": "https://www.shopify.com/",
+ "companyId": "shopify"
+ },
+ "shopper_approved": {
+ "name": "Shopper Approved",
+ "categoryId": 2,
+ "url": "http://www.shopperapproved.com",
+ "companyId": "shopper_approved"
+ },
+ "shopping_com": {
+ "name": "Shopping.com",
+ "categoryId": 4,
+ "url": "https://partnernetwork.ebay.com/",
+ "companyId": "ebay_partner_network"
+ },
+ "shopping_flux": {
+ "name": "Shopping Flux",
+ "categoryId": 6,
+ "url": "http://www.shopping-flux.com/",
+ "companyId": "shopping_flux"
+ },
+ "shoprunner": {
+ "name": "ShopRunner",
+ "categoryId": 2,
+ "url": "https://www.shoprunner.com",
+ "companyId": "shoprunner"
+ },
+ "shopsocially": {
+ "name": "ShopSocially",
+ "categoryId": 2,
+ "url": "http://shopsocially.com/",
+ "companyId": "shopsocially"
+ },
+ "shopzilla": {
+ "name": "Shopzilla",
+ "categoryId": 4,
+ "url": "http://www.shopzilla.com/",
+ "companyId": "shopzilla"
+ },
+ "shortnews": {
+ "name": "ShortNews.de",
+ "categoryId": 8,
+ "url": "http://www.shortnews.de/#",
+ "companyId": null
+ },
+ "shrink": {
+ "name": "Shrink",
+ "categoryId": 2,
+ "url": "http://shink.in/",
+ "companyId": "shrink.in"
+ },
+ "shutterstock": {
+ "name": "Shutterstock",
+ "categoryId": 8,
+ "url": "https://www.shutterstock.com/",
+ "companyId": "shutterstock_inc"
+ },
+ "siblesectiveal.club": {
+ "name": "siblesectiveal.club",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "sidecar": {
+ "name": "Sidecar",
+ "categoryId": 6,
+ "url": "http://hello.getsidecar.com/",
+ "companyId": "sidecar"
+ },
+ "sift_science": {
+ "name": "Sift Science",
+ "categoryId": 6,
+ "url": "https://siftscience.com/",
+ "companyId": "sift_science"
+ },
+ "signal": {
+ "name": "Signal",
+ "categoryId": 5,
+ "url": "https://www.signal.co/",
+ "companyId": "signal_digital"
+ },
+ "signifyd": {
+ "name": "Signifyd",
+ "categoryId": 6,
+ "url": "https://www.signifyd.com/",
+ "companyId": "signifyd"
+ },
+ "silverpop": {
+ "name": "Silverpop",
+ "categoryId": 2,
+ "url": "http://www.silverpop.com/",
+ "companyId": "ibm"
+ },
+ "similardeals.net": {
+ "name": "SimilarDeals",
+ "categoryId": 8,
+ "url": "http://www.similardeals.net/",
+ "companyId": null
+ },
+ "simplereach": {
+ "name": "SimpleReach",
+ "categoryId": 6,
+ "url": "https://www.nativo.com/simplereach",
+ "companyId": "nativo"
+ },
+ "simpli.fi": {
+ "name": "Simpli.fi",
+ "categoryId": 4,
+ "url": "http://www.simpli.fi",
+ "companyId": "simpli.fi"
+ },
+ "sina": {
+ "name": "Sina",
+ "categoryId": 6,
+ "url": "http://www.sina.com/",
+ "companyId": "sina"
+ },
+ "sina_cdn": {
+ "name": "Sina CDN",
+ "categoryId": 9,
+ "url": "https://www.sina.com.cn/",
+ "companyId": "sina"
+ },
+ "singlefeed": {
+ "name": "SingleFeed",
+ "categoryId": 4,
+ "url": "https://www.singlefeed.com/",
+ "companyId": "singlefeed"
+ },
+ "sirdata": {
+ "name": "Sirdata",
+ "categoryId": 6,
+ "url": "http://www.sirdata.com/home/",
+ "companyId": "sirdata"
+ },
+ "site24x7": {
+ "name": "Site24x7",
+ "categoryId": 6,
+ "url": "https://www.site24x7.com/",
+ "companyId": "zoho_corp"
+ },
+ "site_booster": {
+ "name": "Site Booster",
+ "categoryId": 7,
+ "url": "https://sitebooster.com/",
+ "companyId": "site_booster"
+ },
+ "site_stratos": {
+ "name": "Site Stratos",
+ "categoryId": 4,
+ "url": "http://www.infocube.co.jp/",
+ "companyId": "infocube"
+ },
+ "siteapps": {
+ "name": "SiteApps",
+ "categoryId": 2,
+ "url": "http://siteapps.com",
+ "companyId": "siteapps"
+ },
+ "sitebro": {
+ "name": "SiteBro",
+ "categoryId": 6,
+ "url": "http://www.sitebro.net/",
+ "companyId": "sitebro"
+ },
+ "siteheart": {
+ "name": "SiteHeart",
+ "categoryId": 2,
+ "url": "http://siteheart.com/",
+ "companyId": "siteheart"
+ },
+ "siteimprove": {
+ "name": "Siteimprove",
+ "categoryId": 6,
+ "url": "http://siteimprove.com",
+ "companyId": "siteimprove"
+ },
+ "siteimprove_analytics": {
+ "name": "SiteImprove Analytics",
+ "categoryId": 6,
+ "url": "http://siteimprove.com",
+ "companyId": "siteimprove"
+ },
+ "sitelabweb.com": {
+ "name": "sitelabweb.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "sitemeter": {
+ "name": "SiteMeter",
+ "categoryId": 6,
+ "url": "http://www.sitemeter.com/",
+ "companyId": "sitemeter,_inc."
+ },
+ "sitescout": {
+ "name": "SiteScout by Centro",
+ "categoryId": 4,
+ "url": "http://www.sitescout.com",
+ "companyId": "centro"
+ },
+ "sitetag": {
+ "name": "SiteTag",
+ "categoryId": 2,
+ "url": "http://www.sitetag.us/",
+ "companyId": "sitetag"
+ },
+ "sitewit": {
+ "name": "SiteWit",
+ "categoryId": 4,
+ "url": "http://www.sitewit.com/",
+ "companyId": "sitewit"
+ },
+ "six_apart_advertising": {
+ "name": "Six Apart Advertising",
+ "categoryId": 4,
+ "url": "http://www.sixapart.com/advertising/",
+ "companyId": "six_apart"
+ },
+ "sixt-neuwagen.de": {
+ "name": "sixt-neuwagen.de",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "skadtec.com": {
+ "name": "GP One GmbH",
+ "categoryId": 6,
+ "url": "http://www.gp-one.com/",
+ "companyId": null
+ },
+ "skimlinks": {
+ "name": "SkimLinks",
+ "categoryId": 4,
+ "url": "http://www.skimlinks.com/",
+ "companyId": "skimlinks"
+ },
+ "skroutz": {
+ "name": "Skroutz",
+ "categoryId": 6,
+ "url": "https://www.skroutz.gr/",
+ "companyId": "skroutz"
+ },
+ "skyglue": {
+ "name": "SkyGlue",
+ "categoryId": 6,
+ "url": "http://www.skyglue.com/",
+ "companyId": "skyglue_technology"
+ },
+ "skype": {
+ "name": "Skype",
+ "categoryId": 2,
+ "url": "http://www.skype.com",
+ "companyId": "microsoft"
+ },
+ "skysa": {
+ "name": "Skysa",
+ "categoryId": 2,
+ "url": "http://www.skysa.com/",
+ "companyId": "skysa"
+ },
+ "skyscnr.com": {
+ "name": "Skyscanner CDN",
+ "categoryId": 9,
+ "url": "https://www.skyscanner.net/",
+ "companyId": null
+ },
+ "slashdot_widget": {
+ "name": "Slashdot Widget",
+ "categoryId": 2,
+ "url": "http://slashdot.org",
+ "companyId": "slashdot"
+ },
+ "sleeknote": {
+ "name": "Sleeknote",
+ "categoryId": 2,
+ "url": "https://sleeknote.com/",
+ "companyId": "sleeknote"
+ },
+ "sli_systems": {
+ "name": "SLI Systems",
+ "categoryId": 2,
+ "url": "http://www.sli-systems.com",
+ "companyId": "sli_systems"
+ },
+ "slice_factory": {
+ "name": "Slice Factory",
+ "categoryId": 2,
+ "url": "http://www.slicefactory.com/",
+ "companyId": "slice_factory"
+ },
+ "slimcutmedia": {
+ "name": "SlimCutMedia",
+ "categoryId": 6,
+ "url": "http://www.slimcutmedia.com/",
+ "companyId": "slimcutmedia"
+ },
+ "slingpic": {
+ "name": "Slingpic",
+ "categoryId": 4,
+ "url": "http://slingpic.com/",
+ "companyId": "affectv"
+ },
+ "smaato": {
+ "name": "Smaato",
+ "categoryId": 4,
+ "url": "http://www.smaato.com/",
+ "companyId": "smaato"
+ },
+ "smart4ads": {
+ "name": "smart4ads",
+ "categoryId": 4,
+ "url": "http://www.smart4ads.com",
+ "companyId": "smart4ads"
+ },
+ "smart_adserver": {
+ "name": "SMART AdServer",
+ "categoryId": 4,
+ "url": "https://smartadserver.com/",
+ "companyId": "smart_adserver"
+ },
+ "smart_call": {
+ "name": "Smart Call",
+ "categoryId": 2,
+ "url": "https://smartcall.kz/",
+ "companyId": "smart_call"
+ },
+ "smart_content": {
+ "name": "Smart Content",
+ "categoryId": 4,
+ "url": "http://www.getsmartcontent.com",
+ "companyId": "get_smart_content"
+ },
+ "smart_device_media": {
+ "name": "Smart Device Media",
+ "categoryId": 4,
+ "url": "http://www.smartdevicemedia.com/",
+ "companyId": "smart_device_media"
+ },
+ "smart_leads": {
+ "name": "Smart Leads",
+ "categoryId": 4,
+ "url": "http://www.cnt.my/",
+ "companyId": "smart_leads"
+ },
+ "smart_selling": {
+ "name": "Smart Selling",
+ "categoryId": 2,
+ "url": "https://smartselling.cz/",
+ "companyId": "smart_selling"
+ },
+ "smartad": {
+ "name": "smartAD",
+ "categoryId": 4,
+ "url": "http://smartad.eu/",
+ "companyId": "smartad"
+ },
+ "smartbn": {
+ "name": "SmartBN",
+ "categoryId": 4,
+ "url": "http://smartbn.ru/",
+ "companyId": "smartbn"
+ },
+ "smartclick.net": {
+ "name": "SmartClick",
+ "categoryId": 4,
+ "url": "http://smartclick.net/",
+ "companyId": null
+ },
+ "smartclip": {
+ "name": "SmartClip",
+ "categoryId": 4,
+ "url": "http://www.smartclip.com/",
+ "companyId": "smartclip"
+ },
+ "smartcontext": {
+ "name": "SmartContext",
+ "categoryId": 4,
+ "url": "http://smartcontext.pl/",
+ "companyId": "smartcontext"
+ },
+ "smarter_remarketer": {
+ "name": "SmarterHQ",
+ "categoryId": 4,
+ "url": "https://smarterhq.com",
+ "companyId": "smarterhq"
+ },
+ "smarter_travel": {
+ "name": "Smarter Travel Media",
+ "categoryId": 4,
+ "url": "https://www.smartertravel.com/",
+ "companyId": "iac_apps"
+ },
+ "smarterclick": {
+ "name": "Smarterclick",
+ "categoryId": 4,
+ "url": "http://www.smarterclick.co.uk/",
+ "companyId": "smarter_click"
+ },
+ "smartertrack": {
+ "name": "SmarterTrack",
+ "categoryId": 4,
+ "url": "http://www.smartertrack.com/",
+ "companyId": "smartertrack"
+ },
+ "smartlink.cool": {
+ "name": "smartlink.cool",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "smartlook": {
+ "name": "Smartlook",
+ "categoryId": 2,
+ "url": "https://www.smartlook.com/",
+ "companyId": "smartlook"
+ },
+ "smartstream.tv": {
+ "name": "SmartStream.TV",
+ "categoryId": 4,
+ "url": "https://www.smartstream.tv/en",
+ "companyId": "smartstream"
+ },
+ "smartsupp_chat": {
+ "name": "Smartsupp Chat",
+ "categoryId": 2,
+ "url": "https://www.smartsupp.com/",
+ "companyId": "smartsuppp"
+ },
+ "smi2.ru": {
+ "name": "smi2.ru",
+ "categoryId": 6,
+ "url": "https://smi2.net/",
+ "companyId": "media2_stat.media"
+ },
+ "smooch": {
+ "name": "Smooch",
+ "categoryId": 2,
+ "url": "https://smooch.io/",
+ "companyId": "smooch"
+ },
+ "smowtion": {
+ "name": "Smowtion",
+ "categoryId": 4,
+ "url": "http://www.smowtion.com/",
+ "companyId": "smowtion"
+ },
+ "smx_ventures": {
+ "name": "SMX Ventures",
+ "categoryId": 6,
+ "url": "http://smxeventures.com/",
+ "companyId": "smx_ventures"
+ },
+ "smyte": {
+ "name": "Smyte",
+ "categoryId": 6,
+ "url": "https://www.smyte.com/",
+ "companyId": "smyte"
+ },
+ "snacktv": {
+ "name": "SnackTV",
+ "categoryId": 6,
+ "url": "https://www.verizon.com/",
+ "companyId": "verizon"
+ },
+ "snacktv_player": {
+ "name": "SnackTV-Player",
+ "categoryId": 0,
+ "url": "https://www.verizon.com/",
+ "companyId": "verizon"
+ },
+ "snap": {
+ "name": "Snap",
+ "categoryId": 2,
+ "url": "http://www.snap.com/",
+ "companyId": "snap_technologies"
+ },
+ "snap_engage": {
+ "name": "Snap Engage",
+ "categoryId": 2,
+ "url": "https://snapengage.com/",
+ "companyId": "snap_engage"
+ },
+ "snapchat": {
+ "name": "Snapchat For Business",
+ "categoryId": 4,
+ "url": "https://www.snapchat.com/",
+ "companyId": "snap_technologies"
+ },
+ "snigelweb": {
+ "name": "SnigelWeb, Inc.",
+ "categoryId": 4,
+ "url": "http://www.snigelweb.com/",
+ "companyId": "snigelweb_inc"
+ },
+ "snoobi": {
+ "name": "Snoobi",
+ "categoryId": 6,
+ "url": "http://www.snoobi.eu/",
+ "companyId": "snoobi"
+ },
+ "snoobi_analytics": {
+ "name": "Snoobi Analytics",
+ "categoryId": 6,
+ "url": "http://www.snoobi.com/",
+ "companyId": "snoobi_oy"
+ },
+ "snowplow": {
+ "name": "Snowplow",
+ "categoryId": 6,
+ "url": "http://snowplowanalytics.com/",
+ "companyId": "snowplow"
+ },
+ "soasta_mpulse": {
+ "name": "SOASTA mPulse",
+ "categoryId": 6,
+ "url": "http://www.soasta.com/",
+ "companyId": "akamai"
+ },
+ "sociable_labs": {
+ "name": "Sociable Labs",
+ "categoryId": 4,
+ "url": "http://www.sociablelabs.com/",
+ "companyId": "sociable_labs"
+ },
+ "social_amp": {
+ "name": "Social Amp",
+ "categoryId": 4,
+ "url": "http://www.merkleinc.com/",
+ "companyId": "dentsu_aegis_network"
+ },
+ "social_annex": {
+ "name": "Social Annex",
+ "categoryId": 4,
+ "url": "http://www.socialannex.com",
+ "companyId": "social_annex"
+ },
+ "social_miner": {
+ "name": "Social Miner",
+ "categoryId": 7,
+ "url": "https://socialminer.com/",
+ "companyId": "social_miner"
+ },
+ "socialbeat": {
+ "name": "socialbeat",
+ "categoryId": 4,
+ "url": "http://www.socialbeat.it/",
+ "companyId": "socialbeat"
+ },
+ "socialrms": {
+ "name": "SocialRMS",
+ "categoryId": 7,
+ "url": "http://socialinterface.com/socialrms/",
+ "companyId": "socialinterface"
+ },
+ "sociaplus.com": {
+ "name": "SociaPlus",
+ "categoryId": 6,
+ "url": "https://sociaplus.com/",
+ "companyId": null
+ },
+ "sociomantic": {
+ "name": "Sociomantic",
+ "categoryId": 4,
+ "url": "http://www.sociomantic.com/",
+ "companyId": "sociomantic_labs_gmbh"
+ },
+ "sohu": {
+ "name": "Sohu",
+ "categoryId": 7,
+ "url": "http://www.sohu.com",
+ "companyId": "sohu"
+ },
+ "sojern": {
+ "name": "Sojern",
+ "categoryId": 4,
+ "url": "http://www.sojern.com/",
+ "companyId": "sojern"
+ },
+ "sokrati": {
+ "name": "Sokrati",
+ "categoryId": 4,
+ "url": "http://sokrati.com/",
+ "companyId": "sokrati"
+ },
+ "solads.media": {
+ "name": "solads.media",
+ "categoryId": 4,
+ "url": "http://solads.media/",
+ "companyId": null
+ },
+ "solidopinion": {
+ "name": "SolidOpinion",
+ "categoryId": 2,
+ "url": "https://solidopinion.com/",
+ "companyId": "solidopinion"
+ },
+ "solve_media": {
+ "name": "Solve Media",
+ "categoryId": 4,
+ "url": "http://solvemedia.com/",
+ "companyId": "solve_media"
+ },
+ "soma_2": {
+ "name": "SOMA 2",
+ "categoryId": 4,
+ "url": "http://www.webcombi.de/",
+ "companyId": "soma_2_gmbh"
+ },
+ "somoaudience": {
+ "name": "SoMo Audience",
+ "categoryId": 4,
+ "url": "https://somoaudience.com/",
+ "companyId": "somoaudience"
+ },
+ "sonobi": {
+ "name": "Sonobi",
+ "categoryId": 4,
+ "url": "http://sonobi.com/",
+ "companyId": "sonobi"
+ },
+ "sophus3": {
+ "name": "Sophus3",
+ "categoryId": 4,
+ "url": "http://www.sophus3.com/",
+ "companyId": "sophus3"
+ },
+ "sortable": {
+ "name": "Sortable",
+ "categoryId": 4,
+ "url": "https://sortable.com/",
+ "companyId": "sortable"
+ },
+ "soundcloud": {
+ "name": "SoundCloud",
+ "categoryId": 0,
+ "url": "http://soundcloud.com/",
+ "companyId": "soundcloud"
+ },
+ "sourceknowledge_pixel": {
+ "name": "SourceKnowledge Pixel",
+ "categoryId": 4,
+ "url": "http://www.provenpixel.com/",
+ "companyId": "sourceknowledge"
+ },
+ "sourcepoint": {
+ "name": "Sourcepoint",
+ "categoryId": 4,
+ "url": "https://www.sourcepoint.com/",
+ "companyId": "sourcepoint"
+ },
+ "sovrn": {
+ "name": "sovrn",
+ "categoryId": 4,
+ "url": "https://www.sovrn.com/",
+ "companyId": "sovrn"
+ },
+ "sovrn_viewability_solutions": {
+ "name": "Sovrn Signal",
+ "categoryId": 4,
+ "url": "https://www.sovrn.com/publishers/signal/",
+ "companyId": "sovrn"
+ },
+ "spark_studios": {
+ "name": "Spark Studios",
+ "categoryId": 0,
+ "url": "http://www.sparkstudios.com/",
+ "companyId": "spark_studios"
+ },
+ "sparkasse.de": {
+ "name": "sparkasse.de",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "speakpipe": {
+ "name": "SpeakPipe",
+ "categoryId": 2,
+ "url": "http://www.speakpipe.com/",
+ "companyId": "speakpipe"
+ },
+ "specific_media": {
+ "name": "Specific Media",
+ "categoryId": 4,
+ "url": "http://www.specificmedia.com",
+ "companyId": "specific_media"
+ },
+ "spectate": {
+ "name": "Spectate",
+ "categoryId": 6,
+ "url": "http://spectate.com/",
+ "companyId": "spectate"
+ },
+ "speed_shift_media": {
+ "name": "Speed Shift Media",
+ "categoryId": 4,
+ "url": "http://www.speedshiftmedia.com/",
+ "companyId": "speed_shift_media"
+ },
+ "speedcurve": {
+ "name": "SpeedCurve",
+ "categoryId": 6,
+ "url": "https://speedcurve.com/",
+ "companyId": null
+ },
+ "speedyads": {
+ "name": "SpeedyAds",
+ "categoryId": 4,
+ "url": "http://www.entireweb.com/speedyads/",
+ "companyId": "entireweb"
+ },
+ "speee": {
+ "name": "Speee",
+ "categoryId": 4,
+ "url": "https://speee.jp",
+ "companyId": "speee"
+ },
+ "sphere": {
+ "name": "Sphere",
+ "categoryId": 4,
+ "url": "http://www.sphere.com/",
+ "companyId": "verizon"
+ },
+ "spheremall": {
+ "name": "SphereMall",
+ "categoryId": 6,
+ "url": "https://spheremall.com",
+ "companyId": "spheremall"
+ },
+ "sphereup": {
+ "name": "SphereUp",
+ "categoryId": 2,
+ "url": "http://zoomd.com/",
+ "companyId": "zoomd"
+ },
+ "spicy": {
+ "name": "Spicy",
+ "categoryId": 4,
+ "url": "http://sspicy.ru/#main",
+ "companyId": "spicy_ssp"
+ },
+ "spider.ad": {
+ "name": "Spider.Ad",
+ "categoryId": 4,
+ "url": "http://spider.ad/",
+ "companyId": "spider.ad"
+ },
+ "spider_ads": {
+ "name": "Spider Ads",
+ "categoryId": 4,
+ "url": "http://www.spiderads.eu/",
+ "companyId": "spiderads"
+ },
+ "spinnakr": {
+ "name": "Spinnakr",
+ "categoryId": 6,
+ "url": "http://spinnakr.com/",
+ "companyId": "spinnakr"
+ },
+ "spokenlayer": {
+ "name": "SpokenLayer",
+ "categoryId": 0,
+ "url": "http://www.spokenlayer.com",
+ "companyId": "spokenlayer"
+ },
+ "spongecell": {
+ "name": "Spongecell",
+ "categoryId": 4,
+ "url": "http://www.spongecell.com/",
+ "companyId": "spongecell"
+ },
+ "sponsorads.de": {
+ "name": "SponsorAds.de",
+ "categoryId": 4,
+ "url": "http://sponsorads.de",
+ "companyId": "sponsorads.de"
+ },
+ "sportsbet_affiliates": {
+ "name": "Sportsbet Affiliates",
+ "categoryId": 4,
+ "url": "http://www.sportsbetaffiliates.com.au/",
+ "companyId": "sportsbet_affiliates"
+ },
+ "spot.im": {
+ "name": "Spot.IM",
+ "categoryId": 7,
+ "url": "https://www.spot.im/",
+ "companyId": "spot.im"
+ },
+ "spoteffect": {
+ "name": "Spoteffect",
+ "categoryId": 6,
+ "url": "http://www.spoteffects.com/home/",
+ "companyId": "spoteffect"
+ },
+ "spotify": {
+ "name": "Spotify",
+ "categoryId": 0,
+ "url": "https://www.spotify.com/",
+ "companyId": "spotify"
+ },
+ "spotify_embed": {
+ "name": "Spotify Embed",
+ "categoryId": 0,
+ "url": "https://www.spotify.com",
+ "companyId": "spotify"
+ },
+ "spotscenered.info": {
+ "name": "spotscenered.info",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "spotxchange": {
+ "name": "SpotX",
+ "categoryId": 4,
+ "url": "https://www.spotx.tv/",
+ "companyId": "rtl_group"
+ },
+ "spoutable": {
+ "name": "Spoutable",
+ "categoryId": 4,
+ "url": "http://spoutable.com/",
+ "companyId": "spoutable"
+ },
+ "springboard": {
+ "name": "SpringBoard",
+ "categoryId": 4,
+ "url": "http://home.springboardplatform.com/",
+ "companyId": "springboard"
+ },
+ "springserve": {
+ "name": "SpringServe",
+ "categoryId": 4,
+ "url": "http://springserve.com/",
+ "companyId": "springserve"
+ },
+ "sprinklr": {
+ "name": "Sprinklr",
+ "categoryId": 4,
+ "url": "https://www.sprinklr.com/",
+ "companyId": "sprinklr"
+ },
+ "sputnik": {
+ "name": "Sputnik",
+ "categoryId": 6,
+ "url": "https://cnt.sputnik.ru/",
+ "companyId": "sputnik"
+ },
+ "squadata": {
+ "name": "Squadata",
+ "categoryId": 4,
+ "url": "http://www.email-match.net/",
+ "companyId": "squadata"
+ },
+ "squarespace.com": {
+ "name": "Squarespace",
+ "categoryId": 6,
+ "url": "https://www.squarespace.com/",
+ "companyId": null
+ },
+ "srvtrck.com": {
+ "name": "srvtrck.com",
+ "categoryId": 12,
+ "url": null,
+ "companyId": null
+ },
+ "srvvtrk.com": {
+ "name": "srvvtrk.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "sstatic.net": {
+ "name": "Stack Exchange",
+ "categoryId": 9,
+ "url": "https://sstatic.net/",
+ "companyId": null
+ },
+ "st-hatena": {
+ "name": "Hatena",
+ "categoryId": 7,
+ "url": "http://www.hatena.ne.jp/",
+ "companyId": "hatena_jp"
+ },
+ "stackadapt": {
+ "name": "StackAdapt",
+ "categoryId": 4,
+ "url": "http://www.stackadapt.com/",
+ "companyId": "stackadapt"
+ },
+ "stackpathdns.com": {
+ "name": "StackPath",
+ "categoryId": 9,
+ "url": "https://www.stackpath.com/",
+ "companyId": null
+ },
+ "stailamedia_com": {
+ "name": "stailamedia.com",
+ "categoryId": 4,
+ "url": "http://stailamedia.com/",
+ "companyId": null
+ },
+ "stalluva.pro": {
+ "name": "stalluva.pro",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "startapp": {
+ "name": "StartApp",
+ "categoryId": 4,
+ "url": "https://www.startapp.com/",
+ "companyId": null
+ },
+ "stat24": {
+ "name": "Stat24",
+ "categoryId": 6,
+ "url": "http://www.stat24.com/en/",
+ "companyId": "stat24"
+ },
+ "stat4u": {
+ "name": "stat4u",
+ "categoryId": 6,
+ "url": "http://stat.4u.pl/",
+ "companyId": "stat4u"
+ },
+ "statcounter": {
+ "name": "Statcounter",
+ "categoryId": 6,
+ "url": "http://www.statcounter.com/",
+ "companyId": "statcounter"
+ },
+ "stathat": {
+ "name": "StatHat",
+ "categoryId": 6,
+ "url": "http://www.stathat.com/",
+ "companyId": "stathat"
+ },
+ "statisfy": {
+ "name": "Statisfy",
+ "categoryId": 6,
+ "url": "http://www.statisfy.com/",
+ "companyId": "statisfy"
+ },
+ "statsy.net": {
+ "name": "statsy.net",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "statuscake": {
+ "name": "StatusCake",
+ "categoryId": 6,
+ "url": "https://www.statuscake.com/",
+ "companyId": "statuscake"
+ },
+ "statuspage.io": {
+ "name": "Statuspage",
+ "categoryId": 2,
+ "url": "https://www.statuspage.io/",
+ "companyId": "atlassian"
+ },
+ "stayfriends.de": {
+ "name": "stayfriends.de",
+ "categoryId": 8,
+ "url": "https://www.stayfriends.de/",
+ "companyId": null
+ },
+ "steelhouse": {
+ "name": "Steel House Media",
+ "categoryId": 4,
+ "url": "https://steelhouse.com/",
+ "companyId": "steelhouse"
+ },
+ "steepto.com": {
+ "name": "Steepto",
+ "categoryId": 4,
+ "url": "https://www.steepto.com/",
+ "companyId": null
+ },
+ "stepstone.com": {
+ "name": "StepStone",
+ "categoryId": 8,
+ "url": "https://www.stepstone.com/",
+ "companyId": null
+ },
+ "stetic": {
+ "name": "Stetic",
+ "categoryId": 6,
+ "url": "https://www.stetic.com/",
+ "companyId": "stetic"
+ },
+ "stickyads": {
+ "name": "StickyAds",
+ "categoryId": 4,
+ "url": "http://corporate.comcast.com/",
+ "companyId": "comcast"
+ },
+ "stocktwits": {
+ "name": "StockTwits",
+ "categoryId": 2,
+ "url": "http://stocktwits.com",
+ "companyId": "stocktwits"
+ },
+ "storify": {
+ "name": "Storify",
+ "categoryId": 4,
+ "url": "https://storify.com/",
+ "companyId": "adobe"
+ },
+ "storygize": {
+ "name": "Storygize",
+ "categoryId": 4,
+ "url": "http://www.storygize.com/",
+ "companyId": null
+ },
+ "strands_recommender": {
+ "name": "Strands Recommender",
+ "categoryId": 4,
+ "url": "http://recommender.strands.com",
+ "companyId": "strands"
+ },
+ "strava": {
+ "name": "Strava",
+ "categoryId": 6,
+ "url": "https://strava.com",
+ "companyId": "strava"
+ },
+ "streak": {
+ "name": "Streak",
+ "categoryId": 2,
+ "url": "http://www.streak.com/",
+ "companyId": "streak"
+ },
+ "streamrail.com": {
+ "name": "StreamRail",
+ "categoryId": 4,
+ "url": "https://www.streamrail.com/",
+ "companyId": "ironsource"
+ },
+ "stride": {
+ "name": "Stride",
+ "categoryId": 6,
+ "url": "https://www.getstride.com/",
+ "companyId": "stride_software"
+ },
+ "stripchat.com": {
+ "name": "stripchat.com",
+ "categoryId": 3,
+ "url": null,
+ "companyId": null
+ },
+ "stripe.com": {
+ "name": "Stripe",
+ "categoryId": 2,
+ "url": "https://stripe.com/",
+ "companyId": null
+ },
+ "stripst.com": {
+ "name": "stripst.com",
+ "categoryId": 3,
+ "url": null,
+ "companyId": null
+ },
+ "stroer_digital_media": {
+ "name": "Stroer Digital Media",
+ "categoryId": 4,
+ "url": "http://www.stroeer.de/",
+ "companyId": "stroer"
+ },
+ "strossle": {
+ "name": "Strossle",
+ "categoryId": 4,
+ "url": "https://strossle.com/",
+ "companyId": "strossle"
+ },
+ "struq": {
+ "name": "Struq",
+ "categoryId": 4,
+ "url": "http://www.struq.com/",
+ "companyId": "quantcast"
+ },
+ "stumbleupon_widgets": {
+ "name": "StumbleUpon Widgets",
+ "categoryId": 7,
+ "url": "http://www.stumbleupon.com/",
+ "companyId": "stumbleupon"
+ },
+ "sub2": {
+ "name": "Sub2",
+ "categoryId": 4,
+ "url": "http://www.sub2tech.com/",
+ "companyId": "sub2"
+ },
+ "sublime_skinz": {
+ "name": "Sublime",
+ "categoryId": 4,
+ "url": "https://sublimeskinz.com/home",
+ "companyId": "sublime_skinz"
+ },
+ "suggest.io": {
+ "name": "Suggest.io",
+ "categoryId": 4,
+ "url": "https://suggest.io/",
+ "companyId": "suggest.io"
+ },
+ "sumologic.com": {
+ "name": "Sumologic",
+ "categoryId": 6,
+ "url": "https://www.sumologic.com/",
+ "companyId": null
+ },
+ "sumome": {
+ "name": "Sumo",
+ "categoryId": 6,
+ "url": "https://sumo.com/",
+ "companyId": "sumome"
+ },
+ "sundaysky": {
+ "name": "SundaySky",
+ "categoryId": 4,
+ "url": "http://www.sundaysky.com/",
+ "companyId": "sundaysky"
+ },
+ "supercounters": {
+ "name": "SuperCounters",
+ "categoryId": 6,
+ "url": "http://www.supercounters.com/",
+ "companyId": "supercounters"
+ },
+ "superfastcdn.com": {
+ "name": "superfastcdn.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "supership": {
+ "name": "Supership",
+ "categoryId": 4,
+ "url": "https://supership.jp/en/",
+ "companyId": "supership"
+ },
+ "supplyframe": {
+ "name": "SupplyFrame",
+ "categoryId": 4,
+ "url": "https://supplyframe.com/",
+ "companyId": "supplyframe"
+ },
+ "surf_by_surfingbird": {
+ "name": "Surf by Surfingbird",
+ "categoryId": 2,
+ "url": "http://surfingbird.ru/",
+ "companyId": "surfingbird"
+ },
+ "survata": {
+ "name": "Survata",
+ "categoryId": 4,
+ "url": "https://www.survata.com/",
+ "companyId": "survata"
+ },
+ "sweettooth": {
+ "name": "Sweettooth",
+ "categoryId": 2,
+ "url": "https://www.sweettoothrewards.com/",
+ "companyId": "sweet_tooth_rewards"
+ },
+ "swiftype": {
+ "name": "Swiftype",
+ "categoryId": 9,
+ "url": "https://swiftype.com/",
+ "companyId": "elastic"
+ },
+ "swisscom": {
+ "name": "Swisscom",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "switch_concepts": {
+ "name": "Switch Concepts",
+ "categoryId": 4,
+ "url": "http://www.switchconcepts.co.uk/",
+ "companyId": "switch_concepts"
+ },
+ "swoop": {
+ "name": "Swoop",
+ "categoryId": 4,
+ "url": "http://swoop.com/",
+ "companyId": "swoop"
+ },
+ "sykes": {
+ "name": "Sykes",
+ "categoryId": 6,
+ "url": "http://www.sykescottages.co.uk/",
+ "companyId": "sykes_cottages"
+ },
+ "symantec": {
+ "name": "Symantec (Norton Secured Seal)",
+ "categoryId": 5,
+ "url": "https://www.symantec.com/page.jsp?id=ssl-resources&tabID=3#",
+ "companyId": "symantec"
+ },
+ "symphony_talent": {
+ "name": "Symphony Talent",
+ "categoryId": 2,
+ "url": "http://www.symphonytalent.com/",
+ "companyId": "symphony_talent"
+ },
+ "synacor": {
+ "name": "Synacor",
+ "categoryId": 4,
+ "url": "https://www.synacor.com/",
+ "companyId": "synacor"
+ },
+ "syncapse": {
+ "name": "Syncapse",
+ "categoryId": 4,
+ "url": "http://www.clickable.com/",
+ "companyId": "syncapse"
+ },
+ "synergy-e": {
+ "name": "Synergy-E",
+ "categoryId": 4,
+ "url": "http://synergy-e.com/",
+ "companyId": "synergy-e"
+ },
+ "t-mobile": {
+ "name": "Deutsche Telekom",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "t8cdn.com": {
+ "name": "t8cdn.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "tableteducation.com": {
+ "name": "tableteducation.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "taboola": {
+ "name": "Taboola",
+ "categoryId": 4,
+ "url": "http://www.taboola.com",
+ "companyId": "taboola"
+ },
+ "tacoda": {
+ "name": "Tacoda",
+ "categoryId": 4,
+ "url": "http://www.tacoda.com/",
+ "companyId": "verizon"
+ },
+ "tag_commander": {
+ "name": "Commanders Act",
+ "categoryId": 5,
+ "url": "https://www.commandersact.com/en/",
+ "companyId": "tag_commander"
+ },
+ "tagcade": {
+ "name": "Tagcade",
+ "categoryId": 4,
+ "url": "https://www.pubvantage.com/",
+ "companyId": "pubvantage"
+ },
+ "taggify": {
+ "name": "Taggify",
+ "categoryId": 4,
+ "url": "http://new.taggify.net/",
+ "companyId": "taggify"
+ },
+ "taggy": {
+ "name": "TAGGY",
+ "categoryId": 4,
+ "url": "http://taggy.jp/",
+ "companyId": "taggy"
+ },
+ "tagman": {
+ "name": "TagMan",
+ "categoryId": 5,
+ "url": "http://www.tagman.com/",
+ "companyId": "ensighten"
+ },
+ "tail_target": {
+ "name": "Tail",
+ "categoryId": 6,
+ "url": "https://www.tail.digital/",
+ "companyId": "tail.digital"
+ },
+ "tailsweep": {
+ "name": "Tailsweep",
+ "categoryId": 4,
+ "url": "http://www.tailsweep.se/",
+ "companyId": "tailsweep"
+ },
+ "tamedia.ch": {
+ "name": "Tamedia",
+ "categoryId": 4,
+ "url": "https://www.tamedia.ch/",
+ "companyId": null
+ },
+ "tanx": {
+ "name": "Tanx",
+ "categoryId": 4,
+ "url": "http://tanx.com/",
+ "companyId": "tanx"
+ },
+ "taobao": {
+ "name": "Taobao",
+ "categoryId": 4,
+ "url": "https://world.taobao.com/",
+ "companyId": "alibaba"
+ },
+ "tapad": {
+ "name": "Tapad",
+ "categoryId": 4,
+ "url": "http://www.tapad.com/",
+ "companyId": "telenor"
+ },
+ "tapinfluence": {
+ "name": "TapInfluence",
+ "categoryId": 4,
+ "url": "http://theblogfrog.com/",
+ "companyId": "tapinfluence"
+ },
+ "tarafdari": {
+ "name": "Tarafdari",
+ "categoryId": 4,
+ "url": "https://www.tarafdari.com/",
+ "companyId": "tarafdari"
+ },
+ "target_2_sell": {
+ "name": "Target 2 Sell",
+ "categoryId": 4,
+ "url": "http://www.target2sell.com/en/",
+ "companyId": "target_2_sell"
+ },
+ "target_circle": {
+ "name": "Target Circle",
+ "categoryId": 6,
+ "url": "http://targetcircle.com",
+ "companyId": "target_circle"
+ },
+ "target_fuel": {
+ "name": "Target Fuel",
+ "categoryId": 6,
+ "url": "http://targetfuel.com/",
+ "companyId": "target_fuel"
+ },
+ "tawk": {
+ "name": "Tawk",
+ "categoryId": 2,
+ "url": "https://www.tawk.to/",
+ "companyId": "tawk"
+ },
+ "tbn.ru": {
+ "name": "TBN.ru",
+ "categoryId": 4,
+ "url": "http://www.agava.ru",
+ "companyId": "agava"
+ },
+ "tchibo_de": {
+ "name": "tchibo.de",
+ "categoryId": 8,
+ "url": "http://tchibo.de/",
+ "companyId": null
+ },
+ "tdsrmbl_net": {
+ "name": "tdsrmbl.net",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "teads": {
+ "name": "Teads",
+ "categoryId": 4,
+ "url": "http://teads.tv/",
+ "companyId": "teads"
+ },
+ "tealeaf": {
+ "name": "Tealeaf",
+ "categoryId": 6,
+ "url": "https://www.ibm.com/digital-marketing",
+ "companyId": "ibm"
+ },
+ "tealium": {
+ "name": "Tealium",
+ "categoryId": 5,
+ "url": "http://www.tealium.com/",
+ "companyId": "tealium"
+ },
+ "teaser.cc": {
+ "name": "Teaser.cc",
+ "categoryId": 4,
+ "url": "http://www.teaser.cc/",
+ "companyId": "teaser.cc"
+ },
+ "tedemis": {
+ "name": "Tedemis",
+ "categoryId": 4,
+ "url": "http://www.tedemis.com",
+ "companyId": "tedemis"
+ },
+ "teletech": {
+ "name": "TeleTech",
+ "categoryId": 4,
+ "url": "http://www.webmetro.com/whoweare/technology.aspx",
+ "companyId": "teletech"
+ },
+ "tender": {
+ "name": "Tender",
+ "categoryId": 2,
+ "url": "http://www.tenderapp.com/",
+ "companyId": "tender"
+ },
+ "tensitionschoo.club": {
+ "name": "tensitionschoo.club",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "teroti": {
+ "name": "Teroti",
+ "categoryId": 4,
+ "url": "http://www.teroti.com/",
+ "companyId": "teroti"
+ },
+ "terren": {
+ "name": "Terren",
+ "categoryId": 4,
+ "url": "http://www.webterren.com/",
+ "companyId": "terren"
+ },
+ "teufel.de": {
+ "name": "teufel.de",
+ "categoryId": 8,
+ "url": "https://www.teufel.de/",
+ "companyId": null
+ },
+ "the_adex": {
+ "name": "The ADEX",
+ "categoryId": 4,
+ "url": "http://www.theadex.com/",
+ "companyId": "prosieben_sat1"
+ },
+ "the_deck": {
+ "name": "The DECK",
+ "categoryId": 4,
+ "url": "http://decknetwork.net/",
+ "companyId": "the_deck"
+ },
+ "the_guardian": {
+ "name": "The Guardian",
+ "categoryId": 8,
+ "url": "https://www.theguardian.com/",
+ "companyId": "the_guardian"
+ },
+ "the_reach_group": {
+ "name": "The Reach Group",
+ "categoryId": 4,
+ "url": "http://www.redvertisment.com",
+ "companyId": "the_reach_group"
+ },
+ "the_search_agency": {
+ "name": "The Search Agency",
+ "categoryId": 4,
+ "url": "http://www.thesearchagency.com/",
+ "companyId": "the_search_agency"
+ },
+ "the_sun": {
+ "name": "The Sun",
+ "categoryId": 8,
+ "url": "https://www.thesun.co.uk/",
+ "companyId": "the_sun"
+ },
+ "the_weather_company": {
+ "name": "The Weather Company",
+ "categoryId": 4,
+ "url": "http://www.theweathercompany.com/",
+ "companyId": "ibm"
+ },
+ "themoviedb": {
+ "name": "The Movie DB",
+ "categoryId": 8,
+ "url": "https://www.themoviedb.org/",
+ "companyId": "themoviedb"
+ },
+ "thinglink": {
+ "name": "ThingLink",
+ "categoryId": 4,
+ "url": "http://www.thinglink.com/",
+ "companyId": "thinglink"
+ },
+ "threatmetrix": {
+ "name": "ThreatMetrix",
+ "categoryId": 6,
+ "url": "http://threatmetrix.com/",
+ "companyId": "threatmetrix"
+ },
+ "tidbit": {
+ "name": "Tidbit",
+ "categoryId": 2,
+ "url": "http://tidbit.co.in/",
+ "companyId": "tidbit"
+ },
+ "tidio": {
+ "name": "Tidio",
+ "categoryId": 2,
+ "url": "https://www.tidio.com/",
+ "companyId": "tidio_chat"
+ },
+ "tiktok_analytics": {
+ "name": "TikTok Analytics",
+ "categoryId": 6,
+ "url": "https://analytics.tiktok.com",
+ "companyId": "bytedance_inc"
+ },
+ "tiller": {
+ "name": "Tiller",
+ "categoryId": 4,
+ "url": "https://www.tiller.com/",
+ "companyId": "tiller"
+ },
+ "timezondb": {
+ "name": "TimezonDB",
+ "categoryId": 4,
+ "url": "https://timezonedb.com/",
+ "companyId": "timezonedb"
+ },
+ "tinypass": {
+ "name": "Piano",
+ "categoryId": 5,
+ "url": "https://piano.io/",
+ "companyId": "piano"
+ },
+ "tisoomi": {
+ "name": "Tisoomi",
+ "categoryId": 4,
+ "url": "https://tisoomi-services.com/",
+ "companyId": null
+ },
+ "tlv_media": {
+ "name": "TLV Media",
+ "categoryId": 4,
+ "url": "http://www.tlvmedia.com",
+ "companyId": "tlvmedia"
+ },
+ "tns": {
+ "name": "TNS",
+ "categoryId": 6,
+ "url": "http://www.tnsglobal.com/",
+ "companyId": "wpp"
+ },
+ "tomnewsupdate.info": {
+ "name": "tomnewsupdate.info",
+ "categoryId": 12,
+ "url": null,
+ "companyId": null
+ },
+ "tomorrow_focus": {
+ "name": "Tomorrow Focus",
+ "categoryId": 4,
+ "url": "http://www.tomorrow-focus.com",
+ "companyId": "hubert_burda_media"
+ },
+ "tonefuse": {
+ "name": "ToneFuse",
+ "categoryId": 4,
+ "url": "http://www.tonefuse.com/",
+ "companyId": "tonefuse"
+ },
+ "top_mail": {
+ "name": "Top Mail",
+ "categoryId": 6,
+ "url": "https://corp.megafon.com/",
+ "companyId": "megafon"
+ },
+ "toplist.cz": {
+ "name": "toplist.cz",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "toponclick_com": {
+ "name": "toponclick.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "topsy": {
+ "name": "Topsy",
+ "categoryId": 4,
+ "url": "http://topsy.com/",
+ "companyId": "topsy"
+ },
+ "torbit": {
+ "name": "Torbit",
+ "categoryId": 6,
+ "url": "http://torbit.com/",
+ "companyId": "torbit"
+ },
+ "toro": {
+ "name": "TORO",
+ "categoryId": 4,
+ "url": "http://toroadvertising.com/",
+ "companyId": "toro_advertising"
+ },
+ "tororango.com": {
+ "name": "tororango.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "total_media": {
+ "name": "Total Media",
+ "categoryId": 4,
+ "url": "http://www.totalmedia.co.il/eng/",
+ "companyId": "total_media"
+ },
+ "touchcommerce": {
+ "name": "Nuance",
+ "categoryId": 2,
+ "url": "https://www.nuance.com/omni-channel-customer-engagement/digital.html",
+ "companyId": "touchcommerce"
+ },
+ "tovarro.com": {
+ "name": "Tovarro",
+ "categoryId": 4,
+ "url": "https://www.tovarro.com/",
+ "companyId": null
+ },
+ "tp-cdn.com": {
+ "name": "TrialPay",
+ "categoryId": 4,
+ "url": "https://www.trialpay.com/",
+ "companyId": null
+ },
+ "tracc.it": {
+ "name": "Kiwe.io",
+ "categoryId": 6,
+ "url": "https://www.kiwe.io/",
+ "companyId": null
+ },
+ "tracemyip": {
+ "name": "TraceMyIP",
+ "categoryId": 4,
+ "url": "http://www.tracemyip.org/",
+ "companyId": "tracemyip"
+ },
+ "traceview": {
+ "name": "TraceView",
+ "categoryId": 6,
+ "url": "http://www.appneta.com/",
+ "companyId": "appneta"
+ },
+ "track_duck": {
+ "name": "Track Duck",
+ "categoryId": 6,
+ "url": "https://trackduck.com/",
+ "companyId": "track_duck"
+ },
+ "trackjs": {
+ "name": "TrackJS",
+ "categoryId": 6,
+ "url": "http://www.trackjs.com/",
+ "companyId": "trackjs"
+ },
+ "trackset_conversionlab": {
+ "name": "Trackset ConversionLab",
+ "categoryId": 4,
+ "url": "http://www.trackset.com/",
+ "companyId": "trackset"
+ },
+ "trackuity": {
+ "name": "Trackuity",
+ "categoryId": 2,
+ "url": "http://www.trackuity.com/",
+ "companyId": "trackuity"
+ },
+ "tradedesk": {
+ "name": "TradeDesk",
+ "categoryId": 4,
+ "url": "http://www.thetradedesk.com/",
+ "companyId": "the_trade_desk"
+ },
+ "tradedoubler": {
+ "name": "TradeDoubler",
+ "categoryId": 4,
+ "url": "http://www.tradedoubler.com/",
+ "companyId": "tradedoubler"
+ },
+ "tradelab": {
+ "name": "Tradelab",
+ "categoryId": 4,
+ "url": "http://www.tradelab.fr/",
+ "companyId": "tradelab"
+ },
+ "tradetracker": {
+ "name": "TradeTracker",
+ "categoryId": 4,
+ "url": "http://www.tradetracker.com",
+ "companyId": "tradetracker"
+ },
+ "traffective": {
+ "name": "Traffective",
+ "categoryId": 4,
+ "url": "https://traffective.com/",
+ "companyId": null
+ },
+ "traffic_fuel": {
+ "name": "Traffic Fuel",
+ "categoryId": 4,
+ "url": "https://trafficfuel.com/",
+ "companyId": "traffic_fuel"
+ },
+ "traffic_revenue": {
+ "name": "Traffic Revenue",
+ "categoryId": 4,
+ "url": "http://www.trafficrevenue.net/",
+ "companyId": "traffic_revenue"
+ },
+ "traffic_stars": {
+ "name": "Traffic Stars",
+ "categoryId": 3,
+ "url": "https://trafficstars.com/#index_page",
+ "companyId": "traffic_stars"
+ },
+ "trafficbroker": {
+ "name": "TrafficBroker",
+ "categoryId": 4,
+ "url": "http://trafficbroker.com/",
+ "companyId": "trafficbroker"
+ },
+ "trafficfabrik.com": {
+ "name": "Traffic Fabrik",
+ "categoryId": 3,
+ "url": "https://www.trafficfabrik.com/",
+ "companyId": null
+ },
+ "trafficfactory": {
+ "name": "Traffic Factory",
+ "categoryId": 4,
+ "url": "https://www.trafficfactory.biz/",
+ "companyId": null
+ },
+ "trafficforce": {
+ "name": "TrafficForce",
+ "categoryId": 4,
+ "url": "http://www.trafficforce.com/",
+ "companyId": "trafficforce"
+ },
+ "traffichaus": {
+ "name": "TrafficHaus",
+ "categoryId": 3,
+ "url": "http://www.traffichaus.com",
+ "companyId": "traffichaus"
+ },
+ "trafficjunky": {
+ "name": "TrafficJunky",
+ "categoryId": 3,
+ "url": "http://www.trafficjunky.net/",
+ "companyId": "trafficjunky"
+ },
+ "traffiliate": {
+ "name": "Traffiliate",
+ "categoryId": 4,
+ "url": "http://www.traffiliate.com/",
+ "companyId": "dsnr_media_group"
+ },
+ "trafic": {
+ "name": "Trafic",
+ "categoryId": 6,
+ "url": "http://www.trafic.ro/",
+ "companyId": "trafic"
+ },
+ "trafmag.com": {
+ "name": "TrafMag",
+ "categoryId": 4,
+ "url": "https://trafmag.com/",
+ "companyId": "trafmag"
+ },
+ "transcend": {
+ "name": "Transcend Consent",
+ "categoryId": 14,
+ "url": "https://transcend.io/consent/",
+ "companyId": "transcend"
+ },
+ "transcend_telemetry": {
+ "name": "Transcend Telemetry",
+ "categoryId": 6,
+ "url": "https://transcend.io",
+ "companyId": "transcend"
+ },
+ "transmatic": {
+ "name": "Transmatic",
+ "categoryId": 6,
+ "url": "http://www.transmatico.com/en/",
+ "companyId": "transmatico"
+ },
+ "travel_audience": {
+ "name": "Travel Audience",
+ "categoryId": 6,
+ "url": "https://travelaudience.com/",
+ "companyId": "travel_audience"
+ },
+ "trbo": {
+ "name": "trbo",
+ "categoryId": 4,
+ "url": "http://www.trbo.com/",
+ "companyId": "trbo"
+ },
+ "treasuredata": {
+ "name": "Treasure Data",
+ "categoryId": 6,
+ "url": "https://www.treasuredata.com/",
+ "companyId": "arm"
+ },
+ "tremor_video": {
+ "name": "Tremor Video",
+ "categoryId": 0,
+ "url": "http://www.tremormedia.com/",
+ "companyId": "tremor_video"
+ },
+ "trendcounter": {
+ "name": "trendcounter",
+ "categoryId": 6,
+ "url": "http://www.trendcounter.com/",
+ "companyId": "trendcounter"
+ },
+ "trendemon": {
+ "name": "TrenDemon",
+ "categoryId": 6,
+ "url": "http://trendemon.com",
+ "companyId": "trendemon"
+ },
+ "tribal_fusion": {
+ "name": "Tribal Fusion",
+ "categoryId": 4,
+ "url": "http://www.tribalfusion.com/",
+ "companyId": "exponential_interactive"
+ },
+ "tribal_fusion_notice": {
+ "name": "Tribal Fusion Notice",
+ "categoryId": 4,
+ "url": "http://www.tribalfusion.com",
+ "companyId": "exponential_interactive"
+ },
+ "triblio": {
+ "name": "Triblio",
+ "categoryId": 6,
+ "url": "https://triblio.com/",
+ "companyId": "triblio"
+ },
+ "trigger_mail_marketing": {
+ "name": "Trigger Mail Marketing",
+ "categoryId": 4,
+ "url": "http://www.triggeremailmarketing.com/",
+ "companyId": "trigger_mail_marketing"
+ },
+ "triggerbee": {
+ "name": "Triggerbee",
+ "categoryId": 2,
+ "url": "https://triggerbee.com/",
+ "companyId": "triggerbee"
+ },
+ "tripadvisor": {
+ "name": "TripAdvisor",
+ "categoryId": 8,
+ "url": "http://iac.com/",
+ "companyId": "iac_apps"
+ },
+ "triplelift": {
+ "name": "TripleLift",
+ "categoryId": 4,
+ "url": "http://triplelift.com/",
+ "companyId": "triplelift"
+ },
+ "triptease": {
+ "name": "Triptease",
+ "categoryId": 2,
+ "url": "https://www.triptease.com",
+ "companyId": "triptease"
+ },
+ "triton_digital": {
+ "name": "Triton Digital",
+ "categoryId": 0,
+ "url": "http://www.tritondigital.com/",
+ "companyId": "triton_digital"
+ },
+ "trovus_revelations": {
+ "name": "Trovus Revelations",
+ "categoryId": 4,
+ "url": "http://www.trovus.co.uk/",
+ "companyId": "trovus_revelations"
+ },
+ "trsv3.com": {
+ "name": "trsv3.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "true_fit": {
+ "name": "True Fit",
+ "categoryId": 4,
+ "url": "https://www.truefit.com/",
+ "companyId": "true_fit"
+ },
+ "trueanthem": {
+ "name": "True Anthem",
+ "categoryId": 4,
+ "url": "https://www.trueanthem.com/",
+ "companyId": "trueanthem"
+ },
+ "trueffect": {
+ "name": "TruEffect",
+ "categoryId": 4,
+ "url": "http://www.trueffect.com/",
+ "companyId": "trueffect"
+ },
+ "truehits.net": {
+ "name": "Truehits.net",
+ "categoryId": 6,
+ "url": "http://truehits.net/",
+ "companyId": "truehits.net"
+ },
+ "trumba": {
+ "name": "Trumba",
+ "categoryId": 4,
+ "url": "http://www.trumba.com",
+ "companyId": "trumba"
+ },
+ "truoptik": {
+ "name": "Tru Optik",
+ "categoryId": 6,
+ "url": "http://truoptik.com/",
+ "companyId": null
+ },
+ "trustarc": {
+ "name": "TrustArc",
+ "categoryId": 5,
+ "url": "http://www.trustarc.com/",
+ "companyId": "trustarc"
+ },
+ "truste_consent": {
+ "name": "Truste Consent",
+ "categoryId": 5,
+ "url": "http://www.trustarc.com/",
+ "companyId": "trustarc"
+ },
+ "truste_notice": {
+ "name": "TRUSTe Notice",
+ "categoryId": 5,
+ "url": "http://www.truste.com/",
+ "companyId": "trustarc"
+ },
+ "truste_seal": {
+ "name": "TRUSTe Seal",
+ "categoryId": 5,
+ "url": "http://www.truste.com/",
+ "companyId": "trustarc"
+ },
+ "trusted_shops": {
+ "name": "Trusted Shops",
+ "categoryId": 5,
+ "url": "http://www.trustedshops.com/",
+ "companyId": "trusted_shops"
+ },
+ "trustev": {
+ "name": "Trustev",
+ "categoryId": 6,
+ "url": "http://www.trustev.com/",
+ "companyId": "trustev"
+ },
+ "trustlogo": {
+ "name": "TrustLogo",
+ "categoryId": 5,
+ "url": "http://www.comodo.com/",
+ "companyId": "comodo"
+ },
+ "trustpilot": {
+ "name": "Trustpilot",
+ "categoryId": 2,
+ "url": "http://www.trustpilot.com",
+ "companyId": "trustpilot"
+ },
+ "trustwave.com": {
+ "name": "Trustwave",
+ "categoryId": 8,
+ "url": "https://www.trustwave.com/home/",
+ "companyId": null
+ },
+ "tubecorporate": {
+ "name": "Tube Corporate",
+ "categoryId": 3,
+ "url": "https://tubecorporate.com/",
+ "companyId": null
+ },
+ "tubecup.org": {
+ "name": "tubecup.org",
+ "categoryId": 3,
+ "url": null,
+ "companyId": null
+ },
+ "tubemogul": {
+ "name": "TubeMogul",
+ "categoryId": 4,
+ "url": "http://tubemogul.com/",
+ "companyId": "tubemogul"
+ },
+ "tumblr_analytics": {
+ "name": "Tumblr Analytics",
+ "categoryId": 6,
+ "url": "https://www.verizon.com/",
+ "companyId": "verizon"
+ },
+ "tumblr_buttons": {
+ "name": "Tumblr Buttons",
+ "categoryId": 7,
+ "url": "http://www.tumblr.com/",
+ "companyId": "verizon"
+ },
+ "tumblr_dashboard": {
+ "name": "Tumblr Dashboard",
+ "categoryId": 7,
+ "url": "http://www.tumblr.com/",
+ "companyId": "verizon"
+ },
+ "tune_in": {
+ "name": "Tune In",
+ "categoryId": 0,
+ "url": "http://tunein.com/",
+ "companyId": "tunein"
+ },
+ "turbo": {
+ "name": "Turbo",
+ "categoryId": 4,
+ "url": "http://www.turboadv.com/",
+ "companyId": "turbo"
+ },
+ "turn_inc.": {
+ "name": "Turn Inc.",
+ "categoryId": 4,
+ "url": "https://www.amobee.com/company/",
+ "companyId": "singtel"
+ },
+ "turner": {
+ "name": "Warner Media",
+ "categoryId": 6,
+ "url": "https://www.warnermedia.com/",
+ "companyId": "turner"
+ },
+ "turnsocial": {
+ "name": "TurnSocial",
+ "categoryId": 7,
+ "url": "http://turnsocial.com/",
+ "companyId": "turnsocial"
+ },
+ "turnto": {
+ "name": "TurnTo",
+ "categoryId": 2,
+ "url": "http://www.turntonetworks.com/",
+ "companyId": "turnto_networks"
+ },
+ "tvsquared.com": {
+ "name": "TVSquared",
+ "categoryId": 4,
+ "url": "http://tvsquared.com/",
+ "companyId": "tvsquared"
+ },
+ "tweetboard": {
+ "name": "Tweetboard",
+ "categoryId": 7,
+ "url": "http://tweetboard.com/alpha/",
+ "companyId": "tweetboard"
+ },
+ "tweetmeme": {
+ "name": "TweetMeme",
+ "categoryId": 7,
+ "url": "http://tweetmeme.com/",
+ "companyId": "tweetmeme"
+ },
+ "twenga": {
+ "name": "Twenga Solutions",
+ "categoryId": 4,
+ "url": "https://www.twenga-solutions.com/",
+ "companyId": null
+ },
+ "twiago": {
+ "name": "Twiago",
+ "categoryId": 4,
+ "url": "https://www.twiago.com/",
+ "companyId": "twiago"
+ },
+ "twine": {
+ "name": "Twine",
+ "categoryId": 6,
+ "url": "http://twinedigital.com/",
+ "companyId": "twine_digital"
+ },
+ "twitch.tv": {
+ "name": "Twitch",
+ "categoryId": 0,
+ "url": "https://www.twitch.tv/",
+ "companyId": "amazon_associates"
+ },
+ "twitch_cdn": {
+ "name": "Twitch CDN",
+ "categoryId": 0,
+ "url": "https://www.twitch.tv/",
+ "companyId": "amazon_associates"
+ },
+ "twitter": {
+ "name": "Twitter",
+ "categoryId": 7,
+ "url": "https://twitter.com",
+ "companyId": "twitter"
+ },
+ "twitter_ads": {
+ "name": "Twitter Advertising",
+ "categoryId": 4,
+ "url": "http://twitter.com/widgets",
+ "companyId": "twitter"
+ },
+ "twitter_analytics": {
+ "name": "Twitter Analytics",
+ "categoryId": 6,
+ "url": "https://twitter.com",
+ "companyId": "twitter"
+ },
+ "twitter_badge": {
+ "name": "Twitter Badge",
+ "categoryId": 7,
+ "url": "http://twitter.com/widgets",
+ "companyId": "twitter"
+ },
+ "twitter_button": {
+ "name": "Twitter Button",
+ "categoryId": 7,
+ "url": "http://twitter.com",
+ "companyId": "twitter"
+ },
+ "twitter_conversion_tracking": {
+ "name": "Twitter Conversion Tracking",
+ "categoryId": 4,
+ "url": "https://twitter.com/",
+ "companyId": "twitter"
+ },
+ "twitter_for_business": {
+ "name": "Twitter for Business",
+ "categoryId": 4,
+ "url": "https://business.twitter.com/",
+ "companyId": "twitter"
+ },
+ "twitter_syndication": {
+ "name": "Twitter Syndication",
+ "categoryId": 7,
+ "url": "https://twitter.com",
+ "companyId": "twitter"
+ },
+ "twittercounter": {
+ "name": "TwitterCounter",
+ "categoryId": 6,
+ "url": "http://twittercounter.com/",
+ "companyId": "twitter_counter"
+ },
+ "twyn": {
+ "name": "Twyn",
+ "categoryId": 4,
+ "url": "http://www.twyn.com",
+ "companyId": "twyn"
+ },
+ "txxx.com": {
+ "name": "txxx.com",
+ "categoryId": 8,
+ "url": "https://txxx.com",
+ "companyId": null
+ },
+ "tynt": {
+ "name": "33Across",
+ "categoryId": 4,
+ "url": "http://www.tynt.com/",
+ "companyId": "33across"
+ },
+ "typeform": {
+ "name": "Typeform",
+ "categoryId": 2,
+ "url": "https://www.typeform.com/",
+ "companyId": null
+ },
+ "typepad_stats": {
+ "name": "Typepad Stats",
+ "categoryId": 6,
+ "url": "http://www.typepad.com/features/statistics.ht",
+ "companyId": "typepad"
+ },
+ "typography.com": {
+ "name": "Webfonts by Hoefler&Co",
+ "categoryId": 9,
+ "url": "https://www.typography.com/",
+ "companyId": null
+ },
+ "tyroo": {
+ "name": "Tyroo",
+ "categoryId": 7,
+ "url": "http://www.tyroo.com/",
+ "companyId": "tyroo"
+ },
+ "tzetze": {
+ "name": "TzeTze",
+ "categoryId": 2,
+ "url": "http://www.tzetze.it/",
+ "companyId": "tzetze"
+ },
+ "ubersetzung-app.com": {
+ "name": "ubersetzung-app.com",
+ "categoryId": 12,
+ "url": "https://www.ubersetzung-app.com/",
+ "companyId": null
+ },
+ "ucfunnel": {
+ "name": "ucfunnel",
+ "categoryId": 4,
+ "url": "https://www.ucfunnel.com/",
+ "companyId": "ucfunnel"
+ },
+ "ucoz": {
+ "name": "uCoz",
+ "categoryId": 6,
+ "url": "http://www.ucoz.net/",
+ "companyId": "ucoz"
+ },
+ "uliza": {
+ "name": "Uliza",
+ "categoryId": 4,
+ "url": "http://uliza.jp/index.html",
+ "companyId": "uliza"
+ },
+ "umbel": {
+ "name": "Umbel",
+ "categoryId": 6,
+ "url": "http://umbel.com",
+ "companyId": "umbel"
+ },
+ "umebiggestern.club": {
+ "name": "umebiggestern.club",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "unanimis": {
+ "name": "Unanimis",
+ "categoryId": 4,
+ "url": "http://www.unanimis.co.uk/",
+ "companyId": "switch_concepts"
+ },
+ "unbounce": {
+ "name": "Unbounce",
+ "categoryId": 6,
+ "url": "http://unbounce.com/",
+ "companyId": "unbounce"
+ },
+ "unbxd": {
+ "name": "UNBXD",
+ "categoryId": 6,
+ "url": "http://unbxd.com/",
+ "companyId": "unbxd"
+ },
+ "under-box.com": {
+ "name": "under-box.com",
+ "categoryId": 12,
+ "url": null,
+ "companyId": null
+ },
+ "undercomputer.com": {
+ "name": "undercomputer.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "underdog_media": {
+ "name": "Underdog Media",
+ "categoryId": 4,
+ "url": "http://www.underdogmedia.com",
+ "companyId": "underdog_media"
+ },
+ "undertone": {
+ "name": "Undertone",
+ "categoryId": 4,
+ "url": "https://www.undertone.com/",
+ "companyId": "perion"
+ },
+ "unica": {
+ "name": "Unica",
+ "categoryId": 2,
+ "url": "http://www.unica.com/",
+ "companyId": "ibm"
+ },
+ "unister": {
+ "name": "Unister",
+ "categoryId": 6,
+ "url": "http://www.unister.de/",
+ "companyId": "unister"
+ },
+ "unite": {
+ "name": "Unite",
+ "categoryId": 4,
+ "url": "http://unite.me/#",
+ "companyId": "unite"
+ },
+ "united_digital_group": {
+ "name": "United Digital Group",
+ "categoryId": 4,
+ "url": "https://www.udg.de/",
+ "companyId": "united_digital_group"
+ },
+ "united_internet_media_gmbh": {
+ "name": "United Internet Media GmbH",
+ "categoryId": 4,
+ "url": "https://www.united-internet.de/",
+ "companyId": "united_internet"
+ },
+ "univide": {
+ "name": "Univide",
+ "categoryId": 4,
+ "url": "http://www.oracle.com/",
+ "companyId": "oracle"
+ },
+ "unpkg.com": {
+ "name": "unpkg",
+ "categoryId": 9,
+ "url": "https://unpkg.com/#/",
+ "companyId": null
+ },
+ "unruly_media": {
+ "name": "Unruly Media",
+ "categoryId": 4,
+ "url": "http://www.unrulymedia.com/",
+ "companyId": "unruly"
+ },
+ "untriel_finger_printing": {
+ "name": "Untriel Finger Printing",
+ "categoryId": 6,
+ "url": "https://www.untriel.nl/",
+ "companyId": "untriel"
+ },
+ "upland_clickability_beacon": {
+ "name": "Upland Clickability Beacon",
+ "categoryId": 4,
+ "url": "http://www.clickability.com/",
+ "companyId": "upland_software"
+ },
+ "uppr.de": {
+ "name": "uppr GmbH",
+ "categoryId": 4,
+ "url": "https://uppr.de/",
+ "companyId": null
+ },
+ "upravel.com": {
+ "name": "upravel.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "upsellit": {
+ "name": "UpSellit",
+ "categoryId": 2,
+ "url": "http://www.upsellit.com",
+ "companyId": "upsellit"
+ },
+ "upsight": {
+ "name": "Upsight",
+ "categoryId": 6,
+ "url": "http://www.upsight.com/",
+ "companyId": "upsight"
+ },
+ "uptain": {
+ "name": "Uptain",
+ "categoryId": 6,
+ "url": "http://www.uptain.de/en/regaining-lost-customers/",
+ "companyId": "uptain"
+ },
+ "uptolike.com": {
+ "name": "Uptolike",
+ "categoryId": 7,
+ "url": "https://www.uptolike.com/",
+ "companyId": "uptolike"
+ },
+ "uptrends": {
+ "name": "Uptrends",
+ "categoryId": 6,
+ "url": "http://www.uptrends.com/",
+ "companyId": "uptrends"
+ },
+ "urban-media.com": {
+ "name": "Urban Media GmbH",
+ "categoryId": 4,
+ "url": "https://www.urban-media.com/",
+ "companyId": null
+ },
+ "urban_airship": {
+ "name": "Urban Airship",
+ "categoryId": 6,
+ "url": "https://www.urbanairship.com/",
+ "companyId": "urban_airship"
+ },
+ "usability_tools": {
+ "name": "Usability Tools",
+ "categoryId": 6,
+ "url": "http://usabilitytools.com/",
+ "companyId": "usability_tools"
+ },
+ "usabilla": {
+ "name": "Usabilla",
+ "categoryId": 2,
+ "url": "https://usabilla.com/",
+ "companyId": "usabilla"
+ },
+ "usemax": {
+ "name": "Usemax",
+ "categoryId": 4,
+ "url": "http://www.usemax.de",
+ "companyId": "usemax"
+ },
+ "usemessages.com": {
+ "name": "usemessages.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "usercycle": {
+ "name": "USERcycle",
+ "categoryId": 6,
+ "url": "http://usercycle.com/",
+ "companyId": "usercycle"
+ },
+ "userdive": {
+ "name": "USERDIVE",
+ "categoryId": 6,
+ "url": "http://userdive.com/",
+ "companyId": "userdive"
+ },
+ "userecho": {
+ "name": "UserEcho",
+ "categoryId": 2,
+ "url": "http://userecho.com",
+ "companyId": "userecho"
+ },
+ "userlike.com": {
+ "name": "Userlike",
+ "categoryId": 2,
+ "url": "https://www.userlike.com/",
+ "companyId": "userlike"
+ },
+ "userpulse": {
+ "name": "UserPulse",
+ "categoryId": 2,
+ "url": "http://www.userpulse.com/",
+ "companyId": "userpulse"
+ },
+ "userreplay": {
+ "name": "UserReplay",
+ "categoryId": 6,
+ "url": "https://www.userreplay.com/",
+ "companyId": "userreplay"
+ },
+ "userreport": {
+ "name": "UserReport",
+ "categoryId": 2,
+ "url": "http://www.userreport.com/",
+ "companyId": "userreport"
+ },
+ "userrules": {
+ "name": "UserRules",
+ "categoryId": 2,
+ "url": "http://www.userrules.com/",
+ "companyId": "userrules_software"
+ },
+ "usersnap": {
+ "name": "Usersnap",
+ "categoryId": 2,
+ "url": "http://usersnap.com/",
+ "companyId": "usersnap"
+ },
+ "uservoice": {
+ "name": "UserVoice",
+ "categoryId": 2,
+ "url": "http://uservoice.com/",
+ "companyId": "uservoice"
+ },
+ "userzoom.com": {
+ "name": "UserZoom",
+ "categoryId": 2,
+ "url": "https://www.userzoom.com/",
+ "companyId": "userzoom"
+ },
+ "usocial": {
+ "name": "Usocial",
+ "categoryId": 7,
+ "url": "https://usocial.pro/en",
+ "companyId": "usocial"
+ },
+ "utarget": {
+ "name": "uTarget",
+ "categoryId": 4,
+ "url": "http://utarget.ru/",
+ "companyId": "utarget"
+ },
+ "uuidksinc.net": {
+ "name": "uuidksinc.net",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "v12_group": {
+ "name": "V12 Group",
+ "categoryId": 6,
+ "url": null,
+ "companyId": null
+ },
+ "vacaneedasap.com": {
+ "name": "vacaneedasap.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "valassis": {
+ "name": "Valassis",
+ "categoryId": 4,
+ "url": "http://www.brand.net/",
+ "companyId": "valassis"
+ },
+ "validclick": {
+ "name": "ValidClick",
+ "categoryId": 4,
+ "url": "http://inuvo.com/",
+ "companyId": "inuvo"
+ },
+ "valiton": {
+ "name": "Valiton",
+ "categoryId": 4,
+ "url": "https://www.valiton.com/",
+ "companyId": "hubert_burda_media"
+ },
+ "valueclick_media": {
+ "name": "ValueClick Media",
+ "categoryId": 4,
+ "url": "https://www.conversantmedia.eu/",
+ "companyId": "conversant"
+ },
+ "valuecommerce": {
+ "name": "ValueCommerce",
+ "categoryId": 4,
+ "url": "https://www.valuecommerce.ne.jp",
+ "companyId": "valuecommerce"
+ },
+ "valued_opinions": {
+ "name": "Valued Opinions",
+ "categoryId": 4,
+ "url": "http://valuedopinions.com",
+ "companyId": "valued_opinions"
+ },
+ "vanksen": {
+ "name": "Vanksen",
+ "categoryId": 4,
+ "url": "http://www.buzzparadise.com/",
+ "companyId": "vanksen"
+ },
+ "varick_media_management": {
+ "name": "Varick Media Management",
+ "categoryId": 4,
+ "url": "http://www.varickmm.com/",
+ "companyId": "varick_media_management"
+ },
+ "vcita": {
+ "name": "Vcita",
+ "categoryId": 6,
+ "url": "https://www.vcita.com/",
+ "companyId": "vcita"
+ },
+ "vcommission": {
+ "name": "vCommission",
+ "categoryId": 4,
+ "url": "http://www.vcommission.com/",
+ "companyId": "vcommission"
+ },
+ "vdopia": {
+ "name": "Vdopia",
+ "categoryId": 4,
+ "url": "http://mobile.vdopia.com/",
+ "companyId": "vdopia"
+ },
+ "ve_interactive": {
+ "name": "Ve Interactive",
+ "categoryId": 4,
+ "url": "https://www.veinteractive.com",
+ "companyId": "ve_interactive"
+ },
+ "vee24": {
+ "name": "VEE24",
+ "categoryId": 0,
+ "url": "https://www.vee24.com/",
+ "companyId": "vee24"
+ },
+ "velocecdn.com": {
+ "name": "velocecdn.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "velti_mgage_visualize": {
+ "name": "Velti mGage Visualize",
+ "categoryId": 4,
+ "url": "http://www.velti.com/",
+ "companyId": "velti"
+ },
+ "vendemore": {
+ "name": "Vendemore",
+ "categoryId": 1,
+ "url": "https://vendemore.com/",
+ "companyId": "ratos"
+ },
+ "venturead.com": {
+ "name": "venturead.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "venyoo": {
+ "name": "Venyoo",
+ "categoryId": 2,
+ "url": "http://venyoo.ru/",
+ "companyId": "venyoo"
+ },
+ "veoxa": {
+ "name": "Veoxa",
+ "categoryId": 4,
+ "url": "http://www.veoxa.com/",
+ "companyId": "veoxa"
+ },
+ "vergic.com": {
+ "name": "Vergic",
+ "categoryId": 1,
+ "url": "https://www.vergic.com/",
+ "companyId": null
+ },
+ "vero": {
+ "name": "Vero",
+ "categoryId": 4,
+ "url": "http://www.getvero.com/",
+ "companyId": "vero"
+ },
+ "vertical_acuity": {
+ "name": "Vertical Acuity",
+ "categoryId": 4,
+ "url": "http://www.verticalacuity.com/",
+ "companyId": "outbrain"
+ },
+ "vertical_leap": {
+ "name": "Vertical Leap",
+ "categoryId": 4,
+ "url": "http://www.vertical-leap.co.uk/",
+ "companyId": "vertical_leap"
+ },
+ "verticalresponse": {
+ "name": "VerticalResponse",
+ "categoryId": 4,
+ "url": "http://www.verticalresponse.com",
+ "companyId": "verticalresponse"
+ },
+ "verticalscope": {
+ "name": "VerticalScope",
+ "categoryId": 4,
+ "url": "http://www.verticalscope.com",
+ "companyId": "verticalscope"
+ },
+ "vertoz": {
+ "name": "Vertoz",
+ "categoryId": 4,
+ "url": "http://www.vertoz.com/",
+ "companyId": "vertoz"
+ },
+ "veruta": {
+ "name": "Veruta",
+ "categoryId": 4,
+ "url": "http://www.veruta.com/",
+ "companyId": "veruta"
+ },
+ "verve_mobile": {
+ "name": "Verve Mobile",
+ "categoryId": 4,
+ "url": "http://www.vervemobile.com/",
+ "companyId": "verve_mobile"
+ },
+ "vg_wort": {
+ "name": "VG Wort",
+ "categoryId": 6,
+ "url": "https://tom.vgwort.de/portal/showHelp",
+ "companyId": "vg_wort"
+ },
+ "vi": {
+ "name": "Vi",
+ "categoryId": 4,
+ "url": "http://www.vi.ru/",
+ "companyId": "vi"
+ },
+ "viacom_tag_container": {
+ "name": "Viacom Tag Container",
+ "categoryId": 4,
+ "url": "http://www.viacom.com/",
+ "companyId": "viacom"
+ },
+ "viafoura": {
+ "name": "Viafoura",
+ "categoryId": 4,
+ "url": "http://www.viafoura.com/",
+ "companyId": "viafoura"
+ },
+ "vibrant_ads": {
+ "name": "Vibrant Ads",
+ "categoryId": 4,
+ "url": "http://www.vibrantmedia.com/",
+ "companyId": "vibrant_media"
+ },
+ "vicomi.com": {
+ "name": "Vicomi",
+ "categoryId": 6,
+ "url": "http://www.vicomi.com/",
+ "companyId": "vicomi"
+ },
+ "vidazoo.com": {
+ "name": "Vidazoo",
+ "categoryId": 4,
+ "url": "https://www.vidazoo.com/",
+ "companyId": null
+ },
+ "video_desk": {
+ "name": "Video Desk",
+ "categoryId": 0,
+ "url": "https://www.videodesk.com/",
+ "companyId": "video_desk"
+ },
+ "video_potok": {
+ "name": "Video Potok",
+ "categoryId": 0,
+ "url": "http://videopotok.pro/",
+ "companyId": "videopotok"
+ },
+ "videoadex.com": {
+ "name": "VideoAdX",
+ "categoryId": 4,
+ "url": "https://www.videoadex.com/",
+ "companyId": "digiteka"
+ },
+ "videology": {
+ "name": "Videology",
+ "categoryId": 4,
+ "url": "https://videologygroup.com/",
+ "companyId": "singtel"
+ },
+ "videonow": {
+ "name": "VideoNow",
+ "categoryId": 4,
+ "url": "https://videonow.ru/",
+ "companyId": "videonow"
+ },
+ "videoplayerhub.com": {
+ "name": "videoplayerhub.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "videoplaza": {
+ "name": "Videoplaza",
+ "categoryId": 4,
+ "url": "http://www.videoplaza.com/",
+ "companyId": "videoplaza"
+ },
+ "videostep": {
+ "name": "VideoStep",
+ "categoryId": 4,
+ "url": "https://www.videostep.com/",
+ "companyId": "videostep"
+ },
+ "vidgyor": {
+ "name": "Vidgyor",
+ "categoryId": 0,
+ "url": "http://vidgyor.com/",
+ "companyId": "vidgyor"
+ },
+ "vidible": {
+ "name": "Vidible",
+ "categoryId": 4,
+ "url": "http://vidible.tv/",
+ "companyId": "verizon"
+ },
+ "vidora": {
+ "name": "Vidora",
+ "categoryId": 0,
+ "url": "https://www.vidora.com/",
+ "companyId": "vidora"
+ },
+ "vietad": {
+ "name": "VietAd",
+ "categoryId": 4,
+ "url": "http://vietad.vn/",
+ "companyId": "vietad"
+ },
+ "viglink": {
+ "name": "VigLink",
+ "categoryId": 4,
+ "url": "http://www.viglink.com",
+ "companyId": "viglink"
+ },
+ "vigo": {
+ "name": "Vigo",
+ "categoryId": 6,
+ "url": "https://vigo.one/",
+ "companyId": "vigo"
+ },
+ "vimeo": {
+ "name": "Vimeo",
+ "categoryId": 0,
+ "url": "http://vimeo.com/",
+ "companyId": "vimeo"
+ },
+ "vindico_group": {
+ "name": "Vindico Group",
+ "categoryId": 4,
+ "url": "http://www.vindicogroup.com/",
+ "companyId": "vindico_group"
+ },
+ "vinted": {
+ "name": "Vinted",
+ "categoryId": 8,
+ "url": "https://www.vinted.com/",
+ "companyId": null
+ },
+ "viral_ad_network": {
+ "name": "Viral Ad Network",
+ "categoryId": 4,
+ "url": "http://viraladnetwork.joinvan.com/",
+ "companyId": "viral_ad_network"
+ },
+ "viral_loops": {
+ "name": "Viral Loops",
+ "categoryId": 2,
+ "url": "https://viral-loops.com/",
+ "companyId": "viral-loops"
+ },
+ "viralgains": {
+ "name": "ViralGains",
+ "categoryId": 4,
+ "url": "https://www.viralgains.com/",
+ "companyId": null
+ },
+ "viralmint": {
+ "name": "ViralMint",
+ "categoryId": 7,
+ "url": "http://www.viralmint.com",
+ "companyId": "viralmint"
+ },
+ "virgul": {
+ "name": "Virgul",
+ "categoryId": 4,
+ "url": "http://www.virgul.com/",
+ "companyId": "virgul"
+ },
+ "virool_player": {
+ "name": "Virool Player",
+ "categoryId": 4,
+ "url": "https://www.virool.com/",
+ "companyId": "virool"
+ },
+ "virtusize": {
+ "name": "Virtusize",
+ "categoryId": 5,
+ "url": "http://www.virtusize.com/",
+ "companyId": "virtusize"
+ },
+ "visible_measures": {
+ "name": "Visible Measures",
+ "categoryId": 4,
+ "url": "http://www.visiblemeasures.com/",
+ "companyId": "visible_measures"
+ },
+ "vision_critical": {
+ "name": "Vision Critical",
+ "categoryId": 6,
+ "url": "http://visioncritical.com/",
+ "companyId": "vision_critical"
+ },
+ "visit_streamer": {
+ "name": "Visit Streamer",
+ "categoryId": 6,
+ "url": "http://www.visitstreamer.com/",
+ "companyId": "visit_streamer"
+ },
+ "visitortrack": {
+ "name": "VisitorTrack",
+ "categoryId": 4,
+ "url": "http://www.netfactor.com/",
+ "companyId": "netfactor"
+ },
+ "visitorville": {
+ "name": "VisitorVille",
+ "categoryId": 6,
+ "url": "http://www.visitorville.com",
+ "companyId": "visitorville"
+ },
+ "visscore": {
+ "name": "VisScore",
+ "categoryId": 4,
+ "url": "http://withcubed.com/",
+ "companyId": "cubed_attribution"
+ },
+ "visual_iq": {
+ "name": "Visual IQ",
+ "categoryId": 6,
+ "url": "http://visualiq.com/",
+ "companyId": "visualiq"
+ },
+ "visual_revenue": {
+ "name": "Visual Revenue",
+ "categoryId": 6,
+ "url": "http://visualrevenue.com/",
+ "companyId": "outbrain"
+ },
+ "visual_website_optimizer": {
+ "name": "VWO",
+ "categoryId": 6,
+ "url": "https://vwo.com/",
+ "companyId": "wingify"
+ },
+ "visualdna": {
+ "name": "VisualDNA",
+ "categoryId": 4,
+ "url": "http://www.visualdna.com/",
+ "companyId": "nielsen"
+ },
+ "visualstudio.com": {
+ "name": "Visualstudio.com",
+ "categoryId": 8,
+ "url": "https://www.visualstudio.com/",
+ "companyId": "microsoft"
+ },
+ "visualvisitor": {
+ "name": "VisualVisitor",
+ "categoryId": 6,
+ "url": "http://www.visualvisitor.com/",
+ "companyId": "visualvisitor"
+ },
+ "vivalu": {
+ "name": "VIVALU",
+ "categoryId": 4,
+ "url": "https://www.vivalu.com/",
+ "companyId": "vivalu"
+ },
+ "vivistats": {
+ "name": "ViviStats",
+ "categoryId": 6,
+ "url": "http://en.vivistats.com/",
+ "companyId": "vivistats"
+ },
+ "vizury": {
+ "name": "Vizury",
+ "categoryId": 4,
+ "url": "http://www.vizury.com/website/",
+ "companyId": "vizury"
+ },
+ "vizzit": {
+ "name": "Vizzit",
+ "categoryId": 4,
+ "url": "http://www.vizzit.se/h/en/",
+ "companyId": "vizzit"
+ },
+ "vk.com": {
+ "name": "Vk.com",
+ "categoryId": 7,
+ "url": "https://vk.com/",
+ "companyId": "vk",
+ "source": "AdGuard"
+ },
+ "vkontakte": {
+ "name": "VKontakte",
+ "categoryId": 7,
+ "url": "https://vk.com/",
+ "companyId": "vk",
+ "source": "AdGuard"
+ },
+ "vkontakte_widgets": {
+ "name": "VKontakte Widgets",
+ "categoryId": 7,
+ "url": "https://dev.vk.com/",
+ "companyId": "vk",
+ "source": "AdGuard"
+ },
+ "vntsm.com": {
+ "name": "Venatus Media",
+ "categoryId": 4,
+ "url": "https://www.venatusmedia.com/",
+ "companyId": "venatus"
+ },
+ "vodafone.de": {
+ "name": "vodafone.de",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "voicefive": {
+ "name": "VoiceFive",
+ "categoryId": 6,
+ "url": "https://www.voicefive.com",
+ "companyId": "comscore"
+ },
+ "volusion_chat": {
+ "name": "Volusion Chat",
+ "categoryId": 2,
+ "url": "https://www.volusion.com/",
+ "companyId": "volusion"
+ },
+ "voluum": {
+ "name": "Voluum",
+ "categoryId": 4,
+ "url": "https://voluum.com/",
+ "companyId": "codewise"
+ },
+ "vooxe.com": {
+ "name": "vooxe.com",
+ "categoryId": 8,
+ "url": "http://www.vooxe.com/",
+ "companyId": null
+ },
+ "vorwerk.de": {
+ "name": "vorwerk.de",
+ "categoryId": 8,
+ "url": "https://corporate.vorwerk.de/home/",
+ "companyId": null
+ },
+ "vox": {
+ "name": "Vox",
+ "categoryId": 2,
+ "url": "https://www.voxmedia.com/",
+ "companyId": "vox"
+ },
+ "voxus": {
+ "name": "Voxus",
+ "categoryId": 4,
+ "url": "http://www.voxus.tv/",
+ "companyId": "voxus"
+ },
+ "vpon": {
+ "name": "VPON",
+ "categoryId": 4,
+ "url": "http://www.vpon.com/en/",
+ "companyId": "vpon"
+ },
+ "vpscash": {
+ "name": "VPSCash",
+ "categoryId": 4,
+ "url": "http://vpscash.nl/home",
+ "companyId": "vps_cash"
+ },
+ "vtracy.de": {
+ "name": "vtracy.de",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "vuukle": {
+ "name": "Vuukle",
+ "categoryId": 6,
+ "url": "http://vuukle.com/",
+ "companyId": "vuukle"
+ },
+ "vzaar": {
+ "name": "Vzaar",
+ "categoryId": 0,
+ "url": "http://vzaar.com/",
+ "companyId": "vzaar"
+ },
+ "w3counter": {
+ "name": "W3Counter",
+ "categoryId": 6,
+ "url": "http://www.w3counter.com/",
+ "companyId": "awio_web_services"
+ },
+ "w3roi": {
+ "name": "w3roi",
+ "categoryId": 6,
+ "url": "http://www.w3roi.com/",
+ "companyId": "w3roi"
+ },
+ "wahoha": {
+ "name": "Wahoha",
+ "categoryId": 2,
+ "url": "http://wahoha.com/",
+ "companyId": "wahoha"
+ },
+ "walkme.com": {
+ "name": "WalkMe",
+ "categoryId": 2,
+ "url": "https://www.walkme.com/",
+ "companyId": "walkme"
+ },
+ "wall_street_on_demand": {
+ "name": "Wall Street on Demand",
+ "categoryId": 4,
+ "url": "http://www.wallst.com",
+ "companyId": "markit_on_demand"
+ },
+ "walmart": {
+ "name": "Walmart",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "wamcash": {
+ "name": "Wamcash",
+ "categoryId": 3,
+ "url": "http://wamcash.com/",
+ "companyId": "wamcash"
+ },
+ "wanelo": {
+ "name": "Wanelo",
+ "categoryId": 2,
+ "url": "https://wanelo.com/",
+ "companyId": "wanelo"
+ },
+ "warp.ly": {
+ "name": "Warp.ly",
+ "categoryId": 6,
+ "url": "https://warp.ly/",
+ "companyId": "warp.ly"
+ },
+ "way2traffic": {
+ "name": "Way2traffic",
+ "categoryId": 4,
+ "url": "http://www.way2traffic.com/",
+ "companyId": "way2traffic"
+ },
+ "wayfair_com": {
+ "name": "Wayfair",
+ "categoryId": 8,
+ "url": "https://www.wayfair.com/",
+ "companyId": null
+ },
+ "wdr.de": {
+ "name": "wdr.de",
+ "categoryId": 8,
+ "url": "https://www1.wdr.de/index.html",
+ "companyId": null
+ },
+ "web-stat": {
+ "name": "Web-Stat",
+ "categoryId": 6,
+ "url": "http://www.web-stat.net/",
+ "companyId": "web-stat"
+ },
+ "web.de": {
+ "name": "web.de",
+ "categoryId": 8,
+ "url": "https://web.de/",
+ "companyId": null
+ },
+ "web.stat": {
+ "name": "Web.STAT",
+ "categoryId": 6,
+ "url": "http://webstat.net/",
+ "companyId": "web.stat"
+ },
+ "web_service_award": {
+ "name": "Web Service Award",
+ "categoryId": 6,
+ "url": "http://webserviceaward.com/english/",
+ "companyId": "web_service_award"
+ },
+ "web_traxs": {
+ "name": "Web Traxs",
+ "categoryId": 6,
+ "url": "http://websolutions.thomasnet.com/web-traxs-analytics.php",
+ "companyId": "thomasnet_websolutions"
+ },
+ "web_wipe_analytics": {
+ "name": "Web Wipe Analytics",
+ "categoryId": 6,
+ "url": "http://tensquare.de",
+ "companyId": "tensquare"
+ },
+ "webads": {
+ "name": "WebAds",
+ "categoryId": 4,
+ "url": "http://www.webads.co.uk/",
+ "companyId": "webads"
+ },
+ "webantenna": {
+ "name": "WebAntenna",
+ "categoryId": 6,
+ "url": "http://www.bebit.co.jp/webantenna/",
+ "companyId": "webantenna"
+ },
+ "webclicks24_com": {
+ "name": "webclicks24.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "webclose.net": {
+ "name": "webclose.net",
+ "categoryId": 12,
+ "url": null,
+ "companyId": null
+ },
+ "webcollage": {
+ "name": "Webcollage",
+ "categoryId": 2,
+ "url": "http://www.webcollage.com/",
+ "companyId": "webcollage"
+ },
+ "webedia": {
+ "name": "Webedia",
+ "categoryId": 4,
+ "url": "http://fr.webedia-group.com/",
+ "companyId": "fimalac_group"
+ },
+ "webeffective": {
+ "name": "WebEffective",
+ "categoryId": 6,
+ "url": "http://www.keynote.com/",
+ "companyId": "keynote_systems"
+ },
+ "webengage": {
+ "name": "WebEngage",
+ "categoryId": 2,
+ "url": "http://webengage.com/",
+ "companyId": "webengage"
+ },
+ "webgains": {
+ "name": "Webgains",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "webgozar": {
+ "name": "WebGozar",
+ "categoryId": 6,
+ "url": "http://webgozar.com/",
+ "companyId": "webgozar"
+ },
+ "webhelpje": {
+ "name": "Webhelpje",
+ "categoryId": 2,
+ "url": "http://www.webhelpje.nl/",
+ "companyId": "webhelpje"
+ },
+ "webleads_tracker": {
+ "name": "Webleads Tracker",
+ "categoryId": 6,
+ "url": "http://www.webleads-tracker.fr/",
+ "companyId": "webleads_tracker"
+ },
+ "webmecanik": {
+ "name": "Webmecanik",
+ "categoryId": 6,
+ "url": "http://www.webmecanik.com/en/",
+ "companyId": "webmecanik"
+ },
+ "weborama": {
+ "name": "Weborama",
+ "categoryId": 4,
+ "url": "https://weborama.com/",
+ "companyId": "weborama"
+ },
+ "webprospector": {
+ "name": "WebProspector",
+ "categoryId": 6,
+ "url": "http://www.webprospector.de/",
+ "companyId": "webprospector"
+ },
+ "webstat": {
+ "name": "WebSTAT",
+ "categoryId": 6,
+ "url": "http://www.webstat.com/",
+ "companyId": "webstat"
+ },
+ "webstat.se": {
+ "name": "Webstat.se",
+ "categoryId": 6,
+ "url": "http://www.webstat.se/",
+ "companyId": "webstat.se"
+ },
+ "webtrack": {
+ "name": "webtrack",
+ "categoryId": 6,
+ "url": "http://www.webtrack.biz/",
+ "companyId": "webtrack"
+ },
+ "webtraffic": {
+ "name": "Webtraffic",
+ "categoryId": 6,
+ "url": "http://www.webtraffic.se/",
+ "companyId": "schibsted_asa"
+ },
+ "webtrekk": {
+ "name": "Webtrekk",
+ "categoryId": 6,
+ "url": "http://www.webtrekk.com/",
+ "companyId": "webtrekk"
+ },
+ "webtrekk_cc": {
+ "name": "Webtrek Control Cookie",
+ "categoryId": 6,
+ "url": "https://www.webtrekk.com/en/home/",
+ "companyId": "webtrekk"
+ },
+ "webtrends": {
+ "name": "Webtrends",
+ "categoryId": 6,
+ "url": "http://www.webtrends.com/",
+ "companyId": "webtrends"
+ },
+ "webtrends_ads": {
+ "name": "Webtrends Ads",
+ "categoryId": 4,
+ "url": "http://www.webtrends.com",
+ "companyId": "webtrends"
+ },
+ "webvisor": {
+ "name": "WebVisor",
+ "categoryId": 6,
+ "url": "http://webvisor.ru",
+ "companyId": "yandex"
+ },
+ "wedcs": {
+ "name": "WEDCS",
+ "categoryId": 4,
+ "url": "https://www.microsoft.com/",
+ "companyId": "microsoft"
+ },
+ "weebly_ads": {
+ "name": "Weebly Ads",
+ "categoryId": 4,
+ "url": "http://www.weebly.com",
+ "companyId": "weebly"
+ },
+ "weibo_widget": {
+ "name": "Weibo Widget",
+ "categoryId": 4,
+ "url": "http://www.sina.com/",
+ "companyId": "sina"
+ },
+ "westlotto_com": {
+ "name": "westlotto.com",
+ "categoryId": 8,
+ "url": "http://westlotto.com/",
+ "companyId": null
+ },
+ "wetter_com": {
+ "name": "Wetter.com",
+ "categoryId": 8,
+ "url": "http://www.wetter.com/",
+ "companyId": null
+ },
+ "whatbroadcast": {
+ "name": "Whatbroadcast",
+ "categoryId": 2,
+ "url": "https://www.whatsbroadcast.com/",
+ "companyId": "whatsbroadcast"
+ },
+ "whos.amung.us": {
+ "name": "Whos.amung.us",
+ "categoryId": 6,
+ "url": "http://whos.amung.us/",
+ "companyId": "whos.amung.us"
+ },
+ "whoson": {
+ "name": "WhosOn",
+ "categoryId": 6,
+ "url": "http://www.whoson.com/",
+ "companyId": "whoson"
+ },
+ "wibbitz": {
+ "name": "Wibbitz",
+ "categoryId": 0,
+ "url": "http://www.wibbitz.com/",
+ "companyId": "wibbitz"
+ },
+ "wibiya_toolbar": {
+ "name": "Wibiya Toolbar",
+ "categoryId": 7,
+ "url": "http://www.wibiya.com/",
+ "companyId": "wibiya"
+ },
+ "widdit": {
+ "name": "Widdit",
+ "categoryId": 2,
+ "url": "http://www.predictad.com/",
+ "companyId": "widdit"
+ },
+ "widerplanet": {
+ "name": "WiderPlanet",
+ "categoryId": 4,
+ "url": "http://widerplanet.com/",
+ "companyId": "wider_planet"
+ },
+ "widespace": {
+ "name": "Widespace",
+ "categoryId": 4,
+ "url": "https://www.widespace.com/",
+ "companyId": "widespace"
+ },
+ "widgetbox": {
+ "name": "WidgetBox",
+ "categoryId": 2,
+ "url": "http://www.widgetbox.com/",
+ "companyId": "widgetbox"
+ },
+ "wiget_media": {
+ "name": "Wiget Media",
+ "categoryId": 4,
+ "url": "http://wigetmedia.com",
+ "companyId": "wiget_media"
+ },
+ "wigzo": {
+ "name": "Wigzo",
+ "categoryId": 4,
+ "url": "https://www.wigzo.com/",
+ "companyId": "wigzo"
+ },
+ "wikia-services.com": {
+ "name": "Wikia Services",
+ "categoryId": 8,
+ "url": "http://www.wikia.com/fandom",
+ "companyId": "wikia"
+ },
+ "wikia_beacon": {
+ "name": "Wikia Beacon",
+ "categoryId": 6,
+ "url": "http://www.wikia.com/",
+ "companyId": "wikia"
+ },
+ "wikia_cdn": {
+ "name": "Wikia CDN",
+ "categoryId": 9,
+ "url": "http://www.wikia.com/fandom",
+ "companyId": "wikia"
+ },
+ "wikimedia.org": {
+ "name": "WikiMedia",
+ "categoryId": 9,
+ "url": "https://wikimediafoundation.org/",
+ "companyId": "wikimedia_foundation"
+ },
+ "winaffiliates": {
+ "name": "Winaffiliates",
+ "categoryId": 6,
+ "url": "http://www.winaffiliates.com/",
+ "companyId": "winaffiliates"
+ },
+ "wipmania": {
+ "name": "WIPmania",
+ "categoryId": 6,
+ "url": "http://www.wipmania.com/",
+ "companyId": "wipmania"
+ },
+ "wiqhit": {
+ "name": "WiQhit",
+ "categoryId": 6,
+ "url": "https://wiqhit.com/nl/",
+ "companyId": "wiqhit"
+ },
+ "wirecard": {
+ "name": "Wirecard",
+ "categoryId": 2,
+ "url": "https://www.wirecard.com/",
+ "companyId": null
+ },
+ "wiredminds": {
+ "name": "WiredMinds",
+ "categoryId": 6,
+ "url": "http://www.wiredminds.de/",
+ "companyId": "wiredminds"
+ },
+ "wirtualna_polska": {
+ "name": "Wirtualna Polska",
+ "categoryId": 4,
+ "url": "http://reklama.wp.pl/",
+ "companyId": "wirtualna_polska"
+ },
+ "wisepops": {
+ "name": "WisePops",
+ "categoryId": 4,
+ "url": "http://wisepops.com/",
+ "companyId": "wisepops"
+ },
+ "wishpond": {
+ "name": "Wishpond",
+ "categoryId": 2,
+ "url": "http://wishpond.com",
+ "companyId": "wishpond"
+ },
+ "wistia": {
+ "name": "Wistia",
+ "categoryId": 6,
+ "url": "http://wistia.com/",
+ "companyId": "wistia"
+ },
+ "wix.com": {
+ "name": "Wix",
+ "categoryId": 8,
+ "url": "https://www.wix.com/",
+ "companyId": "wix"
+ },
+ "wixab": {
+ "name": "Wixab",
+ "categoryId": 6,
+ "url": "http://wixab.com/en/",
+ "companyId": "wixab"
+ },
+ "wixmp": {
+ "name": "Wix Media Platform",
+ "categoryId": 9,
+ "url": "https://www.wixmp.com/",
+ "companyId": "wix"
+ },
+ "wnzmauurgol.com": {
+ "name": "wnzmauurgol.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "wonderpush": {
+ "name": "WonderPush",
+ "categoryId": 2,
+ "url": "https://www.wonderpush.com/",
+ "companyId": "wonderpush"
+ },
+ "woopic.com": {
+ "name": "woopic.com",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "woopra": {
+ "name": "Woopra",
+ "categoryId": 6,
+ "url": "http://www.woopra.com/",
+ "companyId": "woopra"
+ },
+ "wordpress_ads": {
+ "name": "Wordpress Ads",
+ "categoryId": 4,
+ "url": "https://wordpress.com/",
+ "companyId": "automattic"
+ },
+ "wordpress_stats": {
+ "name": "WordPress Stats",
+ "categoryId": 6,
+ "url": "http://wordpress.org/extend/plugins/stats/",
+ "companyId": "automattic"
+ },
+ "wordstream": {
+ "name": "WordStream",
+ "categoryId": 6,
+ "url": "http://www.wordstream.com/",
+ "companyId": "wordstream"
+ },
+ "worldnaturenet_xyz": {
+ "name": "worldnaturenet.xyz",
+ "categoryId": 12,
+ "url": null,
+ "companyId": null
+ },
+ "wp.pl": {
+ "name": "Wirtualna Polska ",
+ "categoryId": 4,
+ "url": "https://www.wp.pl/",
+ "companyId": "wp"
+ },
+ "wp_engine": {
+ "name": "WP Engine",
+ "categoryId": 5,
+ "url": "https://wpengine.com/",
+ "companyId": "wp_engine"
+ },
+ "writeup_clickanalyzer": {
+ "name": "WriteUp ClickAnalyzer",
+ "categoryId": 6,
+ "url": "http://www.writeup.co.jp/",
+ "companyId": "writeup"
+ },
+ "wurfl": {
+ "name": "WURFL",
+ "categoryId": 6,
+ "url": "https://web.wurfl.io/",
+ "companyId": "scientiamobile"
+ },
+ "wwwpromoter": {
+ "name": "WWWPromoter",
+ "categoryId": 4,
+ "url": "http://wwwpromoter.com/",
+ "companyId": "wwwpromoter"
+ },
+ "wykop": {
+ "name": "Wykop",
+ "categoryId": 7,
+ "url": "http://www.wykop.pl",
+ "companyId": "wykop"
+ },
+ "wysistat.com": {
+ "name": "WysiStat",
+ "categoryId": 6,
+ "url": "https://www.wysistat.net/",
+ "companyId": "wysistat"
+ },
+ "wywy.com": {
+ "name": "wywy",
+ "categoryId": 4,
+ "url": "http://wywy.com/",
+ "companyId": "tvsquared"
+ },
+ "x-lift": {
+ "name": "X-lift",
+ "categoryId": 4,
+ "url": "https://www.x-lift.jp/",
+ "companyId": "x-lift"
+ },
+ "xapads": {
+ "name": "Xapads",
+ "categoryId": 4,
+ "url": "http://www.xapads.com/",
+ "companyId": "xapads"
+ },
+ "xen-media.com": {
+ "name": "xen-media.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "xfreeservice.com": {
+ "name": "xfreeservice.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "xhamster": {
+ "name": "xHamster",
+ "categoryId": 3,
+ "url": null,
+ "companyId": null
+ },
+ "xing": {
+ "name": "Xing",
+ "categoryId": 6,
+ "url": "http://www.xing.com/",
+ "companyId": "xing"
+ },
+ "xmediaclicks": {
+ "name": "XmediaClicks",
+ "categoryId": 3,
+ "url": "http://exoclick.com/",
+ "companyId": "exoclick"
+ },
+ "xnxx_cdn": {
+ "name": "xnxx CDN",
+ "categoryId": 9,
+ "url": "https://www.xnxx.com",
+ "companyId": null
+ },
+ "xplosion": {
+ "name": "xplosion",
+ "categoryId": 4,
+ "url": "http://www.xplosion.de/",
+ "companyId": "xplosion_interactive"
+ },
+ "xtend": {
+ "name": "XTEND",
+ "categoryId": 4,
+ "url": "http://www.xtendmedia.com/",
+ "companyId": "matomy_media"
+ },
+ "xvideos_com": {
+ "name": "xvideos.com",
+ "categoryId": 8,
+ "url": null,
+ "companyId": null
+ },
+ "xxxlshop.de": {
+ "name": "xxxlshop.de",
+ "categoryId": 8,
+ "url": "https://www.xxxlshop.de/",
+ "companyId": null
+ },
+ "xxxlutz": {
+ "name": "XXXLutz",
+ "categoryId": 8,
+ "url": "https://www.xxxlutz.de/",
+ "companyId": "xxxlutz"
+ },
+ "yabbi": {
+ "name": "Yabbi",
+ "categoryId": 4,
+ "url": "https://yabbi.me/",
+ "companyId": null
+ },
+ "yabuka": {
+ "name": "Yabuka",
+ "categoryId": 4,
+ "url": "http://www.yabuka.com/",
+ "companyId": "yabuka"
+ },
+ "yahoo": {
+ "name": "Yahoo!",
+ "categoryId": 6,
+ "url": "https://yahoo.com",
+ "companyId": "verizon"
+ },
+ "yahoo_ad_exchange": {
+ "name": "Yahoo! Ad Exchange",
+ "categoryId": 4,
+ "url": "https://www.verizonmedia.com/advertising",
+ "companyId": "verizon"
+ },
+ "yahoo_ad_manager": {
+ "name": "Yahoo! Ad Manager Plus",
+ "categoryId": 4,
+ "url": "https://developer.yahoo.com/analytics/",
+ "companyId": "verizon"
+ },
+ "yahoo_analytics": {
+ "name": "Yahoo! Analytics",
+ "categoryId": 6,
+ "url": "http://web.analytics.yahoo.com/",
+ "companyId": "verizon"
+ },
+ "yahoo_commerce_central": {
+ "name": "Yahoo! Commerce Central",
+ "categoryId": 4,
+ "url": "http://lexity.com/",
+ "companyId": "verizon"
+ },
+ "yahoo_dot_tag": {
+ "name": "Yahoo! DOT tag",
+ "categoryId": 4,
+ "url": "https://www.verizon.com/",
+ "companyId": "verizon"
+ },
+ "yahoo_japan_retargeting": {
+ "name": "Yahoo! Japan Retargeting",
+ "categoryId": 4,
+ "url": "http://www.yahoo.com/",
+ "companyId": "yahoo_japan"
+ },
+ "yahoo_overture": {
+ "name": "Yahoo! Overture",
+ "categoryId": 4,
+ "url": "http://searchmarketing.yahoo.com",
+ "companyId": "verizon"
+ },
+ "yahoo_small_business": {
+ "name": "Yahoo! Small Business",
+ "categoryId": 4,
+ "url": "http://www.pixazza.com/",
+ "companyId": "verizon"
+ },
+ "yandex": {
+ "name": "Yandex",
+ "categoryId": 4,
+ "url": "https://www.yandex.com/",
+ "companyId": "yandex"
+ },
+ "yandex.api": {
+ "name": "Yandex.API",
+ "categoryId": 2,
+ "url": "http://api.yandex.ru/",
+ "companyId": "yandex"
+ },
+ "yandex_adexchange": {
+ "name": "Yandex AdExchange",
+ "categoryId": 4,
+ "url": "https://www.yandex.com/",
+ "companyId": "yandex"
+ },
+ "yandex_advisor": {
+ "name": "Yandex.Advisor",
+ "categoryId": 12,
+ "url": "https://sovetnik.yandex.ru/",
+ "companyId": "yandex"
+ },
+ "yandex_direct": {
+ "name": "Yandex.Direct",
+ "categoryId": 6,
+ "url": "https://direct.yandex.com/",
+ "companyId": "yandex"
+ },
+ "yandex_metrika": {
+ "name": "Yandex Metrika",
+ "categoryId": 6,
+ "url": "https://metrica.yandex.com/",
+ "companyId": "yandex"
+ },
+ "yandex_passport": {
+ "name": "Yandex Passport",
+ "categoryId": 2,
+ "url": "https://www.yandex.com/",
+ "companyId": "yandex"
+ },
+ "yapfiles.ru": {
+ "name": "yapfiles.ru",
+ "categoryId": 8,
+ "url": "https://www.yapfiles.ru/",
+ "companyId": null
+ },
+ "yashi": {
+ "name": "Yashi",
+ "categoryId": 4,
+ "url": "http://www.yashi.com/",
+ "companyId": "mass2"
+ },
+ "ybrant_media": {
+ "name": "Ybrant Media",
+ "categoryId": 4,
+ "url": "http://www.addynamix.com/index.html",
+ "companyId": "ybrant_media"
+ },
+ "ycontent": {
+ "name": "Ycontent",
+ "categoryId": 0,
+ "url": "http://ycontent.com.br/",
+ "companyId": "ycontent"
+ },
+ "yektanet": {
+ "name": "Yektanet",
+ "categoryId": 4,
+ "url": "https://yektanet.com/",
+ "companyId": "yektanet"
+ },
+ "yengo": {
+ "name": "Yengo",
+ "categoryId": 4,
+ "url": "http://www.yengo.com/",
+ "companyId": "yengo"
+ },
+ "yesmail": {
+ "name": "Yesmail",
+ "categoryId": 4,
+ "url": "http://www.yesmail.com/",
+ "companyId": "yes_mail"
+ },
+ "yesup_advertising": {
+ "name": "YesUp Advertising",
+ "categoryId": 4,
+ "url": "http://yesup.net/",
+ "companyId": "yesup"
+ },
+ "yesware": {
+ "name": "Yesware",
+ "categoryId": 2,
+ "url": "http://www.yesware.com/",
+ "companyId": "yesware"
+ },
+ "yieldbot": {
+ "name": "Yieldbot",
+ "categoryId": 6,
+ "url": "https://www.yieldbot.com/",
+ "companyId": "yieldbot"
+ },
+ "yieldify": {
+ "name": "Yieldify",
+ "categoryId": 4,
+ "url": "http://www.yieldify.com/",
+ "companyId": "yieldify"
+ },
+ "yieldlab": {
+ "name": "Yieldlab",
+ "categoryId": 4,
+ "url": "http://www.yieldlab.de/",
+ "companyId": "prosieben_sat1"
+ },
+ "yieldlove": {
+ "name": "Yieldlove",
+ "categoryId": 4,
+ "url": "https://www.yieldlove.com/",
+ "companyId": "yieldlove"
+ },
+ "yieldmo": {
+ "name": "Yieldmo",
+ "categoryId": 4,
+ "url": "https://www.yieldmo.com/",
+ "companyId": "yieldmo"
+ },
+ "yieldr": {
+ "name": "Yieldr Ads",
+ "categoryId": 4,
+ "url": "https://www.yieldr.com/",
+ "companyId": "yieldr"
+ },
+ "yieldr_air": {
+ "name": "Yieldr Air",
+ "categoryId": 6,
+ "url": "https://www.yieldr.com/",
+ "companyId": "yieldr"
+ },
+ "yieldsquare": {
+ "name": "YieldSquare",
+ "categoryId": 4,
+ "url": "http://www.yieldsquare.com/",
+ "companyId": "yieldsquare"
+ },
+ "yle": {
+ "name": "YLE",
+ "categoryId": 6,
+ "url": "http://yle.fi/",
+ "companyId": "yle"
+ },
+ "yllixmedia": {
+ "name": "YllixMedia",
+ "categoryId": 4,
+ "url": "http://yllix.com/",
+ "companyId": "yllixmedia"
+ },
+ "ymetrica1.com": {
+ "name": "ymetrica1.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "ymzrrizntbhde.com": {
+ "name": "ymzrrizntbhde.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "yo_button": {
+ "name": "Yo Button",
+ "categoryId": 2,
+ "url": "http://www.justyo.co/",
+ "companyId": "yo"
+ },
+ "yodle": {
+ "name": "Yodle",
+ "categoryId": 4,
+ "url": "http://www.yodle.com/",
+ "companyId": "yodle"
+ },
+ "yola_analytics": {
+ "name": "Yola Analytics",
+ "categoryId": 6,
+ "url": "https://www.yola.com/",
+ "companyId": "yola"
+ },
+ "yomedia": {
+ "name": "Yomedia",
+ "categoryId": 4,
+ "url": "http://www.pinetech.vn/",
+ "companyId": "yomedia"
+ },
+ "yoochoose.net": {
+ "name": "YOOCHOOSE",
+ "categoryId": 4,
+ "url": "https://yoochoose.com/",
+ "companyId": null
+ },
+ "yotpo": {
+ "name": "Yotpo",
+ "categoryId": 1,
+ "url": "https://www.yotpo.com/",
+ "companyId": "yotpo"
+ },
+ "yottaa": {
+ "name": "Yottaa",
+ "categoryId": 6,
+ "url": "https://www.yottaa.com/",
+ "companyId": "yottaa"
+ },
+ "yottly": {
+ "name": "Yottly",
+ "categoryId": 4,
+ "url": "https://yottly.com/",
+ "companyId": "yottly"
+ },
+ "youcanbookme": {
+ "name": "YouCanBookMe",
+ "categoryId": 2,
+ "url": "https://youcanbook.me/",
+ "companyId": "youcanbookme"
+ },
+ "youku": {
+ "name": "Youku",
+ "categoryId": 0,
+ "url": "http://www.youku.com/",
+ "companyId": "youku"
+ },
+ "youporn": {
+ "name": "YouPorn",
+ "categoryId": 3,
+ "url": null,
+ "companyId": null
+ },
+ "youtube": {
+ "name": "YouTube",
+ "categoryId": 0,
+ "url": "https://www.youtube.com/",
+ "companyId": "google"
+ },
+ "youtube_subscription": {
+ "name": "YouTube Subscription",
+ "categoryId": 2,
+ "url": "http://www.youtube.com/",
+ "companyId": "google"
+ },
+ "yp": {
+ "name": "YellowPages",
+ "categoryId": 4,
+ "url": "https://www.yellowpages.com/",
+ "companyId": "thryv"
+ },
+ "ysance": {
+ "name": "YSance",
+ "categoryId": 4,
+ "url": "http://www.ysance.com/en/index.html",
+ "companyId": "ysance"
+ },
+ "yume": {
+ "name": "YuMe",
+ "categoryId": 4,
+ "url": "http://www.yume.com/",
+ "companyId": "yume"
+ },
+ "yume,_inc.": {
+ "name": "YuMe, Inc.",
+ "categoryId": 4,
+ "url": "http://www.yume.com/",
+ "companyId": "yume"
+ },
+ "yusp": {
+ "name": "Yusp",
+ "categoryId": 6,
+ "url": "https://www.yusp.com/",
+ "companyId": "yusp"
+ },
+ "zadarma": {
+ "name": "Zadarma",
+ "categoryId": 2,
+ "url": "https://zadarma.com/",
+ "companyId": "zadarma"
+ },
+ "zalando_de": {
+ "name": "zalando.de",
+ "categoryId": 8,
+ "url": "https://zalando.de/",
+ "companyId": "zalando"
+ },
+ "zalo": {
+ "name": "Zalo",
+ "categoryId": 2,
+ "url": "https://zaloapp.com/",
+ "companyId": "zalo"
+ },
+ "zanox": {
+ "name": "Zanox",
+ "categoryId": 4,
+ "url": "http://www.zanox.com/us/",
+ "companyId": "axel_springer"
+ },
+ "zaparena": {
+ "name": "zaparena",
+ "categoryId": 4,
+ "url": "http://www.zaparena.com/",
+ "companyId": "zapunited"
+ },
+ "zappos": {
+ "name": "Zappos",
+ "categoryId": 4,
+ "url": "http://www.zappos.com/",
+ "companyId": "zappos"
+ },
+ "zdassets.com": {
+ "name": "Zendesk CDN",
+ "categoryId": 8,
+ "url": "http://www.zendesk.com/",
+ "companyId": "zendesk"
+ },
+ "zebestof.com": {
+ "name": "Zebestof",
+ "categoryId": 4,
+ "url": "http://www.zebestof.com/en/home/",
+ "companyId": "zebestof"
+ },
+ "zedo": {
+ "name": "Zedo",
+ "categoryId": 4,
+ "url": "http://www.zedo.com/",
+ "companyId": "zedo"
+ },
+ "zemanta": {
+ "name": "Zemanta",
+ "categoryId": 2,
+ "url": "http://www.zemanta.com/",
+ "companyId": "zemanta"
+ },
+ "zencoder": {
+ "name": "Zencoder",
+ "categoryId": 0,
+ "url": "https://zencoder.com/en/",
+ "companyId": "zencoder"
+ },
+ "zendesk": {
+ "name": "Zendesk",
+ "categoryId": 2,
+ "url": "http://www.zendesk.com/",
+ "companyId": "zendesk"
+ },
+ "zergnet": {
+ "name": "ZergNet",
+ "categoryId": 2,
+ "url": "http://www.zergnet.com/info",
+ "companyId": "zergnet"
+ },
+ "zero.kz": {
+ "name": "ZERO.kz",
+ "categoryId": 6,
+ "url": "http://zero.kz/",
+ "companyId": "neolabs_zero"
+ },
+ "zeta": {
+ "name": "Zeta",
+ "categoryId": 2,
+ "url": "https://zetaglobal.com/",
+ "companyId": "zeta"
+ },
+ "zeusclicks": {
+ "name": "ZeusClicks",
+ "categoryId": 4,
+ "url": "http://zeusclicks.com/",
+ "companyId": null
+ },
+ "ziff_davis": {
+ "name": "Ziff Davis",
+ "categoryId": 4,
+ "url": "https://www.ziffdavis.com/",
+ "companyId": "ziff_davis"
+ },
+ "zift_solutions": {
+ "name": "Zift Solutions",
+ "categoryId": 6,
+ "url": "https://ziftsolutions.com/",
+ "companyId": "zift_solutions"
+ },
+ "zimbio.com": {
+ "name": "Zimbio",
+ "categoryId": 8,
+ "url": "http://www.zimbio.com/",
+ "companyId": null
+ },
+ "zippyshare_widget": {
+ "name": "Zippyshare Widget",
+ "categoryId": 2,
+ "url": "http://www.zippyshare.com",
+ "companyId": "zippyshare"
+ },
+ "zmags": {
+ "name": "Zmags",
+ "categoryId": 6,
+ "url": "https://zmags.com/",
+ "companyId": "zmags"
+ },
+ "zmctrack.net": {
+ "name": "zmctrack.net",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "zog.link": {
+ "name": "zog.link",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "zoho": {
+ "name": "Zoho",
+ "categoryId": 6,
+ "url": "https://www.zohocorp.com/index.html",
+ "companyId": "zoho_corp"
+ },
+ "zononi.com": {
+ "name": "zononi.com",
+ "categoryId": 3,
+ "url": null,
+ "companyId": null
+ },
+ "zopim": {
+ "name": "Zopim",
+ "categoryId": 2,
+ "url": "http://www.zopim.com/",
+ "companyId": "zendesk"
+ },
+ "zukxd6fkxqn.com": {
+ "name": "zukxd6fkxqn.com",
+ "categoryId": 11,
+ "url": null,
+ "companyId": null
+ },
+ "zwaar": {
+ "name": "Zwaar",
+ "categoryId": 4,
+ "url": "http://www.zwaar.org",
+ "companyId": "zwaar"
+ },
+ "zypmedia": {
+ "name": "ZypMedia",
+ "categoryId": 4,
+ "url": "http://www.zypmedia.com/",
+ "companyId": "zypmedia"
+ },
+ "slack": {
+ "name": "Slack",
+ "categoryId": 8,
+ "url": "https://www.slack.com/",
+ "companyId": "salesforce",
+ "source": "AdGuard"
+ },
+ "apple": {
+ "name": "Apple",
+ "categoryId": 8,
+ "url": "https://www.apple.com/",
+ "companyId": "apple",
+ "source": "AdGuard"
+ },
+ "apple_ads": {
+ "name": "Apple Search Ads",
+ "categoryId": 4,
+ "url": "https://searchads.apple.com/",
+ "companyId": "apple",
+ "source": "AdGuard"
+ },
+ "facebook_audience": {
+ "name": "Facebook Audience Network",
+ "categoryId": 4,
+ "url": "https://www.facebook.com/business/products/audience-network",
+ "companyId": "facebook",
+ "source": "AdGuard"
+ },
+ "crashlytics": {
+ "name": "Crashlytics",
+ "categoryId": 101,
+ "url": "https://crashlytics.com/",
+ "companyId": null,
+ "source": "AdGuard"
+ },
+ "showrss": {
+ "name": "showRSS",
+ "categoryId": 8,
+ "url": "https://showrss.info/",
+ "companyId": "showrss",
+ "source": "AdGuard"
+ },
+ "hockeyapp": {
+ "name": "HockeyApp",
+ "categoryId": 101,
+ "url": "https://hockeyapp.net/",
+ "companyId": null,
+ "source": "AdGuard"
+ },
+ "google_trust_services": {
+ "name": "Google Trust Services",
+ "categoryId": 5,
+ "url": "https://pki.goog/",
+ "companyId": "google",
+ "source": "AdGuard"
+ },
+ "firebase": {
+ "name": "Firebase",
+ "categoryId": 101,
+ "url": "https://firebase.google.com/",
+ "companyId": "google",
+ "source": "AdGuard"
+ },
+ "yandex_appmetrica": {
+ "name": "Yandex AppMetrica",
+ "categoryId": 101,
+ "url": "https://appmetrica.yandex.com/",
+ "companyId": "yandex",
+ "source": "AdGuard"
+ },
+ "branch": {
+ "name": "Branch.io",
+ "categoryId": 101,
+ "url": "https://branch.io/",
+ "companyId": "branch_metrics_inc",
+ "source": "AdGuard"
+ },
+ "qualcomm": {
+ "name": "Qualcomm",
+ "categoryId": 8,
+ "url": "https://www.qualcomm.com/",
+ "companyId": "qualcomm",
+ "source": "AdGuard"
+ },
+ "solaredge": {
+ "name": "SolarEdge Technologies, Inc.",
+ "categoryId": 8,
+ "url": "https://www.solaredge.com/",
+ "companyId": "solaredge",
+ "source": "AdGuard"
+ },
+ "element": {
+ "name": "Element",
+ "categoryId": 7,
+ "url": "https://element.io/",
+ "companyId": "element",
+ "source": "AdGuard"
+ },
+ "outlook": {
+ "name": "Microsoft Outlook",
+ "categoryId": 13,
+ "url": "https://outlook.live.com/",
+ "companyId": "microsoft",
+ "source": "AdGuard"
+ },
+ "appcenter": {
+ "name": "Microsoft App Center",
+ "categoryId": 5,
+ "url": "https://appcenter.ms/",
+ "companyId": null,
+ "source": "AdGuard"
+ },
+ "unity_ads": {
+ "name": "Unity Ads",
+ "categoryId": 4,
+ "url": "https://unity.com/solutions/mobile-business/monetize-your-game",
+ "companyId": null,
+ "source": "AdGuard"
+ },
+ "azure": {
+ "name": "Microsoft Azure",
+ "categoryId": 10,
+ "url": "https://azure.microsoft.com/",
+ "companyId": "microsoft",
+ "source": "AdGuard"
+ },
+ "button": {
+ "name": "Button",
+ "categoryId": 4,
+ "url": "https://www.usebutton.com/",
+ "companyId": null,
+ "source": "AdGuard"
+ },
+ "lets_encrypt": {
+ "name": "Let's Encrypt",
+ "categoryId": 5,
+ "url": "https://letsencrypt.org/",
+ "companyId": "lets_encrypt",
+ "source": "AdGuard"
+ },
+ "plex": {
+ "name": "Plex",
+ "categoryId": 0,
+ "url": "https://www.plex.tv/",
+ "companyId": "plex",
+ "source": "AdGuard"
+ },
+ "matrix": {
+ "name": "Matrix",
+ "categoryId": 5,
+ "url": "https://matrix.org/",
+ "companyId": "matrix",
+ "source": "AdGuard"
+ }
+ },
+ "trackerDomains": {
+ "mmtro.com": "1000mercis",
+ "creative-serving.com": "161media",
+ "p161.net": "161media",
+ "analytics.163.com": "163",
+ "1822direkt.de": "1822direkt.de",
+ "1dmp.io": "1dmp.io",
+ "opecloud.com": "1plusx",
+ "1sponsor.com": "1sponsor",
+ "tm.dentsu.de": "1tag",
+ "1and1.com": "1und1",
+ "1und1.de": "1und1",
+ "uicdn.com": "1und1",
+ "website-start.de": "1und1",
+ "24-ads.com": "24-ads.com",
+ "247-inc.net": "24_7",
+ "d1af033869koo7.cloudfront.net": "24_7",
+ "counter.24log.ru": "24log",
+ "24smi.net": "24smi",
+ "24smi.org": "24smi",
+ "2leep.com": "2leep",
+ "33across.com": "33across",
+ "3dstats.com": "3dstats",
+ "4cdn.org": "4chan",
+ "4finance.com": "4finance_com",
+ "4wnet.com": "4w_marketplace",
+ "d3aa0ztdn3oibi.cloudfront.net": "500friends",
+ "51.la": "51.la",
+ "5min.com": "5min_media",
+ "d1lm7kd3bd3yo9.cloudfront.net": "6sense",
+ "grepdata.com": "6sense",
+ "77tracking.com": "77tracking",
+ "7tv.de": "7tv.de",
+ "888media.net": "888media",
+ "hit.8digits.com": "8digits",
+ "94j7afz2nr.xyz": "94j7afz2nr.xyz",
+ "statsanalytics.com": "99stats",
+ "a3cloud.net": "a3cloud_net",
+ "a8.net": "a8",
+ "aaxads.com": "aaxads.com",
+ "abtasty.com": "ab_tasty",
+ "d1447tq2m68ekg.cloudfront.net": "ab_tasty",
+ "ablida.de": "ablida",
+ "ablida.net": "ablida",
+ "durasite.net": "accelia",
+ "accengage.net": "accengage",
+ "ax.xrea.com": "accessanalyzer",
+ "accesstrade.net": "accesstrade",
+ "agcdn.com": "accord_group",
+ "accmgr.com": "accordant_media",
+ "p-td.com": "accuen_media",
+ "acestream.net": "acestream.net",
+ "acint.net": "acint.net",
+ "acloudimages.com": "acloudimages",
+ "acpm.fr": "acpm.fr",
+ "acquia.com": "acquia.com",
+ "ziyu.net": "acrweb",
+ "actionpay.ru": "actionpay",
+ "adnwb.ru": "actionpay",
+ "adonweb.ru": "actionpay",
+ "active-agent.com": "active_agent",
+ "trackcmp.net": "active_campaign",
+ "active-srv02.de": "active_performance",
+ "active-tracking.de": "active_performance",
+ "activeconversion.com": "activeconversion",
+ "a-cast.jp": "activecore",
+ "activemeter.com": "activemeter",
+ "go.activengage.com": "activengage",
+ "actonsoftware.com": "acton",
+ "acuityplatform.com": "acuity_ads",
+ "acxiom-online.com": "acxiom",
+ "acxiom.com": "acxiom",
+ "ad-blocker.org": "ad-blocker.org",
+ "ads.ad-center.com": "ad-center",
+ "ad-delivery.net": "ad-delivery.net",
+ "ad-sys.com": "ad-sys",
+ "adagionet.com": "ad.agio",
+ "ad2click.go2cloud.org": "ad2click",
+ "ad2games.com": "ad2games",
+ "ad360.vn": "ad360",
+ "ads.ad4game.com": "ad4game",
+ "ad4mat.ar": "ad4mat",
+ "ad4mat.at": "ad4mat",
+ "ad4mat.be": "ad4mat",
+ "ad4mat.bg": "ad4mat",
+ "ad4mat.br": "ad4mat",
+ "ad4mat.ch": "ad4mat",
+ "ad4mat.co.uk": "ad4mat",
+ "ad4mat.cz": "ad4mat",
+ "ad4mat.de": "ad4mat",
+ "ad4mat.dk": "ad4mat",
+ "ad4mat.es": "ad4mat",
+ "ad4mat.fi": "ad4mat",
+ "ad4mat.fr": "ad4mat",
+ "ad4mat.gr": "ad4mat",
+ "ad4mat.hu": "ad4mat",
+ "ad4mat.it": "ad4mat",
+ "ad4mat.mx": "ad4mat",
+ "ad4mat.net": "ad4mat",
+ "ad4mat.nl": "ad4mat",
+ "ad4mat.no": "ad4mat",
+ "ad4mat.pl": "ad4mat",
+ "ad4mat.ro": "ad4mat",
+ "ad4mat.ru": "ad4mat",
+ "ad4mat.se": "ad4mat",
+ "ad4mat.tr": "ad4mat",
+ "ad6.fr": "ad6media",
+ "ad6media.co.uk": "ad6media",
+ "ad6media.com": "ad6media",
+ "ad6media.es": "ad6media",
+ "ad6media.fr": "ad6media",
+ "a2dfp.net": "ad_decisive",
+ "addynamo.net": "ad_dynamo",
+ "ebis.ne.jp": "ad_ebis",
+ "adlightning.com": "ad_lightning",
+ "admagnet.net": "ad_magnet",
+ "amimg.net": "ad_magnet",
+ "adspirit.de": "ad_spirit",
+ "adspirit.net": "ad_spirit",
+ "adac.de": "adac_de",
+ "adacado.com": "adacado",
+ "ozonemedia.com": "adadyn",
+ "adrtx.net": "adality_gmbh",
+ "adalliance.io": "adalliance.io",
+ "adalyser.com": "adalyser.com",
+ "adaos-ads.net": "adaos",
+ "adap.tv": "adap.tv",
+ "smrtlnks.com": "adaptiveblue_smartlinks",
+ "yieldoptimizer.com": "adara_analytics",
+ "adnetwork.adasiaholdings.com": "adasia_holdings",
+ "adbetclickin.pink": "adbetclickin.pink",
+ "adbetnet.com": "adbetnet.com",
+ "adblade.com": "adblade.com",
+ "adbooth.com": "adbooth",
+ "adbooth.net": "adbooth",
+ "adbox.lv": "adbox",
+ "adbrn.com": "adbrain",
+ "adbrite.com": "adbrite",
+ "adbull.com": "adbull",
+ "adbutler.com": "adbutler",
+ "adc-serv.net": "adc_media",
+ "adc-srv.net": "adc_media",
+ "adcash.com": "adcash",
+ "vuroll.in": "adchakra",
+ "acs86.com": "adchina",
+ "csbew.com": "adchina",
+ "irs09.com": "adchina",
+ "adcito.com": "adcito",
+ "adcitomedia.com": "adcito",
+ "adclear.net": "adclear",
+ "swift.adclerks.com": "adclerks",
+ "adclickmedia.com": "adclickmedia",
+ "adclickzone.go2cloud.org": "adclickzone",
+ "ad-cloud.jp": "adcloud",
+ "admarvel.s3.amazonaws.com": "adcolony",
+ "ads.admarvel.com": "adcolony",
+ "adrdgt.com": "adconion",
+ "amgdgt.com": "adconion",
+ "adcrowd.com": "adcrowd",
+ "shop2market.com": "adcurve",
+ "addtocalendar.com": "add_to_calendar",
+ "dpmsrv.com": "addaptive",
+ "yagiay.com": "addefend",
+ "addfreestats.com": "addfreestats",
+ "addinto.com": "addinto",
+ "addshoppers.com": "addshoppers",
+ "shop.pe": "addshoppers",
+ "addthis.com": "addthis",
+ "addthiscdn.com": "addthis",
+ "addthisedge.com": "addthis",
+ "b2btracking.addvalue.de": "addvalue",
+ "addyon.com": "addyon",
+ "adeasy.ru": "adeasy",
+ "ipredictive.com": "adelphic",
+ "adengage.com": "adengage",
+ "adespresso.com": "adespresso",
+ "adexcite.com": "adexcite",
+ "adextent.com": "adextent",
+ "adf.ly": "adf.ly",
+ "adfalcon.com": "adfalcon",
+ "adfoc.us": "adfocus",
+ "js.adforgames.com": "adforgames",
+ "adform.net": "adform",
+ "adformdsp.net": "adform",
+ "seadform.net": "adform",
+ "adfox.ru": "adfox",
+ "adwolf.ru": "adfox",
+ "adfreestyle.pl": "adfreestyle",
+ "adfront.org": "adfront",
+ "adfrontiers.com": "adfrontiers",
+ "adgear.com": "adgear",
+ "adgrx.com": "adgear",
+ "adgebra.co.in": "adgebra",
+ "adgenie.co.uk": "adgenie",
+ "ad.adgile.com": "adgile",
+ "ad.antventure.com": "adgile",
+ "adglare.net": "adglare.net",
+ "adsafety.net": "adglue",
+ "smartadcheck.de": "adgoal",
+ "smartredirect.de": "adgoal",
+ "adgorithms.com": "adgorithms",
+ "adgoto.com": "adgoto",
+ "adguard.com": "adguard",
+ "adhands.ru": "adhands",
+ "adhese.be": "adhese",
+ "adhese.com": "adhese",
+ "adhese.net": "adhese",
+ "adhitzads.com": "adhitz",
+ "adhood.com": "adhood",
+ "afy11.net": "adify",
+ "cdn.adikteev.com": "adikteev",
+ "adimpact.com": "adimpact",
+ "adinch.com": "adinch",
+ "adition.com": "adition",
+ "adjal.com": "adjal",
+ "cdn.adjs.net": "adjs",
+ "adjug.com": "adjug",
+ "adjust.com": "adjust",
+ "adk2.com": "adk2",
+ "cdn.adsrvmedia.com": "adk2",
+ "cdn.cdnrl.com": "adk2",
+ "adklip.com": "adklip",
+ "adkengage.com": "adknowledge",
+ "adknowledge.com": "adknowledge",
+ "bidsystem.com": "adknowledge",
+ "blogads.com": "adknowledge",
+ "cubics.com": "adknowledge",
+ "yarpp.org": "adknowledge",
+ "adsearch.adkontekst.pl": "adkontekst",
+ "netsprint.eu": "adkontekst.pl",
+ "adlabs.ru": "adlabs",
+ "clickiocdn.com": "adlabs",
+ "luxup.ru": "adlabs",
+ "mixmarket.biz": "adlabs",
+ "ad-serverparc.nl": "adlantic",
+ "adimg.net": "adlantis",
+ "adlantis.jp": "adlantis",
+ "cdn.adless.io": "adless",
+ "api.publishers.adlive.io": "adlive_header_bidding",
+ "adlooxtracking.com": "adloox",
+ "adx1.com": "admachine",
+ "adman.gr": "adman",
+ "adman.in.gr": "adman",
+ "admanmedia.com": "adman_media",
+ "admantx.com": "admantx.com",
+ "admaster.net": "admaster",
+ "cdnmaster.com": "admaster",
+ "admaster.com.cn": "admaster.cn",
+ "admasterapi.com": "admaster.cn",
+ "admatic.com.tr": "admatic",
+ "ads5.admatic.com.tr": "admatic",
+ "cdn2.admatic.com.tr": "admatic",
+ "lib-3pas.admatrix.jp": "admatrix",
+ "admaxserver.com": "admax",
+ "admaxim.com": "admaxim",
+ "admaya.in": "admaya",
+ "admedia.com": "admedia",
+ "adizio.com": "admedo_com",
+ "admedo.com": "admedo_com",
+ "admeira.ch": "admeira.ch",
+ "admeld.com": "admeld",
+ "admeo.ru": "admeo",
+ "admaym.com": "admeta",
+ "atemda.com": "admeta",
+ "admicro.vn": "admicro",
+ "vcmedia.vn": "admicro",
+ "admitad.com": "admitad.com",
+ "admixer.net": "admixer.net",
+ "admized.com": "admized",
+ "admo.tv": "admo.tv",
+ "a.admob.com": "admob",
+ "mm.admob.com": "admob",
+ "mmv.admob.com": "admob",
+ "p.admob.com": "admob",
+ "run.admost.com": "admost",
+ "dmmotion.com": "admotion",
+ "nspmotion.com": "admotion",
+ "admulti.com": "admulti",
+ "adnegah.net": "adnegah",
+ "adnet.vn": "adnet",
+ "adnet.biz": "adnet.de",
+ "adnet.de": "adnet.de",
+ "adclick.lt": "adnet_media",
+ "adnet.lt": "adnet_media",
+ "ad.adnetwork.net": "adnetwork.net",
+ "adnetworkperformance.com": "adnetworkperformance.com",
+ "adserver.adnexio.com": "adnexio",
+ "adnium.com": "adnium.com",
+ "heias.com": "adnologies",
+ "smaclick.com": "adnow",
+ "st-n.ads3-adnow.com": "adnow",
+ "adnymics.com": "adnymics",
+ "adobe.com": "adobe_audience_manager",
+ "demdex.net": "adobe_audience_manager",
+ "everestjs.net": "adobe_audience_manager",
+ "everesttech.net": "adobe_audience_manager",
+ "scene7.com": "adobe_dynamic_media",
+ "adobedtm.com": "adobe_dynamic_tag_management",
+ "2o7.net": "adobe_experience_cloud",
+ "du8783wkf05yr.cloudfront.net": "adobe_experience_cloud",
+ "hitbox.com": "adobe_experience_cloud",
+ "imageg.net": "adobe_experience_cloud",
+ "nedstat.com": "adobe_experience_cloud",
+ "omtrdc.net": "adobe_experience_cloud",
+ "sitestat.com": "adobe_experience_cloud",
+ "adobelogin.com": "adobe_login",
+ "adobetag.com": "adobe_tagmanager",
+ "typekit.com": "adobe_typekit",
+ "typekit.net": "adobe_typekit",
+ "adocean.pl": "adocean",
+ "dmtry.com": "adometry",
+ "adomik.com": "adomik",
+ "adcde.com": "adon_network",
+ "addlvr.com": "adon_network",
+ "adfeedstrk.com": "adon_network",
+ "adtrgt.com": "adon_network",
+ "bannertgt.com": "adon_network",
+ "cptgt.com": "adon_network",
+ "cpvfeed.com": "adon_network",
+ "cpvtgt.com": "adon_network",
+ "mygeek.com": "adon_network",
+ "popcde.com": "adon_network",
+ "sdfje.com": "adon_network",
+ "urtbk.com": "adon_network",
+ "adonion.com": "adonion",
+ "t.adonly.com": "adonly",
+ "adoperator.com": "adoperator",
+ "adoric.com": "adoric",
+ "adorika.com": "adorika",
+ "adorika.net": "adorika",
+ "adosia.com": "adosia",
+ "adotmob.com": "adotmob.com",
+ "adotube.com": "adotube",
+ "adparlor.com": "adparlor",
+ "adparlour.com": "adparlor",
+ "a4p.adpartner.pro": "adpartner",
+ "adpeepshosted.com": "adpeeps",
+ "adperfect.com": "adperfect",
+ "adperium.com": "adperium",
+ "adpilot.at": "adpilot",
+ "erne.co": "adpilot",
+ "adplan-ds.com": "adplan",
+ "advg.jp": "adplan",
+ "c.p-advg.com": "adplan",
+ "adplus.co.id": "adplus",
+ "adframesrc.com": "adprofy",
+ "adserve.adpulse.ir": "adpulse",
+ "ads.adpv.com": "adpv",
+ "adreactor.com": "adreactor",
+ "adrecord.com": "adrecord",
+ "adrecover.com": "adrecover",
+ "ad.vcm.jp": "adresult",
+ "adresult.jp": "adresult",
+ "adriver.ru": "adriver",
+ "adroll.com": "adroll",
+ "adrom.net": "adrom",
+ "txt.eu": "adrom",
+ "adru.net": "adru.net",
+ "adrunnr.com": "adrunnr",
+ "adsame.com": "adsame",
+ "adsbookie.com": "adsbookie",
+ "adscale.de": "adscale",
+ "adscience.nl": "adscience",
+ "adsco.re": "adsco.re",
+ "adsensecamp.com": "adsensecamp",
+ "adserverpub.com": "adserverpub",
+ "online.adservicemedia.dk": "adservice_media",
+ "adsfactor.net": "adsfactor",
+ "ads.doclix.com": "adside",
+ "adskeeper.co.uk": "adskeeper",
+ "ssp.adskom.com": "adskom",
+ "adslot.com": "adslot",
+ "adsnative.com": "adsnative",
+ "adsniper.ru": "adsniper.ru",
+ "adspeed.com": "adspeed",
+ "adspeed.net": "adspeed",
+ "o333o.com": "adspyglass",
+ "adstage-analytics.herokuapp.com": "adstage",
+ "code.adstanding.com": "adstanding",
+ "adstars.co.id": "adstars",
+ "ad-stir.com": "adstir",
+ "4dsply.com": "adsupply",
+ "cdn.engine.adsupply.com": "adsupply",
+ "trklnks.com": "adsupply",
+ "adswizz.com": "adswizz",
+ "adtaily.com": "adtaily",
+ "adtaily.pl": "adtaily",
+ "adtarget.me": "adtarget.me",
+ "adtech.de": "adtech",
+ "adtechus.com": "adtech",
+ "adtegrity.net": "adtegrity",
+ "adtpix.com": "adtegrity",
+ "adtelligence.de": "adtelligence.de",
+ "adentifi.com": "adtheorent",
+ "adthink.com": "adthink",
+ "advertstream.com": "adthink",
+ "audienceinsights.net": "adthink",
+ "adtiger.de": "adtiger",
+ "adtimaserver.vn": "adtima",
+ "adtng.com": "adtng.com",
+ "adtoma.com": "adtoma",
+ "adtomafusion.com": "adtoma",
+ "adtr02.com": "adtr02.com",
+ "track.adtraction.com": "adtraction",
+ "adtraxx.de": "adtraxx",
+ "adtriba.com": "adtriba.com",
+ "adtrue.com": "adtrue",
+ "adtrustmedia.com": "adtrustmedia",
+ "ad.adtube.ir": "adtube",
+ "awempire.com": "adult_webmaster_empire",
+ "dditscdn.com": "adult_webmaster_empire",
+ "livejasmin.com": "adult_webmaster_empire",
+ "adultadworld.com": "adultadworld",
+ "adworldmedia.com": "adultadworld",
+ "adup-tech.com": "adup-tech.com",
+ "advaction.ru": "advaction",
+ "aucourant.info": "advaction",
+ "schetu.net": "advaction",
+ "dqfw2hlp4tfww.cloudfront.net": "advalo",
+ "ahcdn.com": "advanced_hosters",
+ "pix-cdn.org": "advanced_hosters",
+ "s3.advarkads.com": "advark",
+ "adventori.com": "adventori",
+ "adnext.fr": "adverline",
+ "adverline.com": "adverline",
+ "surinter.net": "adverline",
+ "adversaldisplay.com": "adversal",
+ "adversalservers.com": "adversal",
+ "go.adversal.com": "adversal",
+ "adverserve.net": "adverserve",
+ "ad.adverteerdirect.nl": "adverteerdirect",
+ "adverticum.net": "adverticum",
+ "advertise.com": "advertise.com",
+ "advertisespace.com": "advertisespace",
+ "adsdk.com": "advertising.com",
+ "advertising.com": "advertising.com",
+ "aol.com": "advertising.com",
+ "atwola.com": "advertising.com",
+ "pictela.net": "advertising.com",
+ "verizonmedia.com": "advertising.com",
+ "advertlets.com": "advertlets",
+ "advertserve.com": "advertserve",
+ "advidi.com": "advidi",
+ "am10.ru": "advmaker.ru",
+ "am15.net": "advmaker.ru",
+ "advolution.de": "advolution",
+ "adwebster.com": "adwebster",
+ "ads.adwitserver.com": "adwit",
+ "adworx.at": "adworx.at",
+ "adworxs.net": "adworxs.net",
+ "adxion.com": "adxion",
+ "adxpansion.com": "adxpansion",
+ "ads.adxpose.com": "adxpose",
+ "event.adxpose.com": "adxpose",
+ "servedby.adxpose.com": "adxpose",
+ "adxprtz.com": "adxprtz.com",
+ "adyoulike.com": "adyoulike",
+ "omnitagjs.com": "adyoulike",
+ "adzerk.net": "adzerk",
+ "adzly.com": "adzly",
+ "aemediatraffic.com": "aemediatraffic",
+ "hprofits.com": "aemediatraffic",
+ "amxdt.com": "aerify_media",
+ "aerisapi.com": "aeris_weather",
+ "aerisweather.com": "aeris_weather",
+ "affectv.com": "affectv",
+ "go.affec.tv": "affectv",
+ "hybridtheory.com": "affectv",
+ "track.affiliate-b.com": "affiliate-b",
+ "affiliate4you.nl": "affiliate4you",
+ "ads.affbuzzads.com": "affiliatebuzz",
+ "affiliatefuture.com": "affiliatefuture",
+ "affiliatelounge.com": "affiliatelounge",
+ "affiliation-france.com": "affiliation_france",
+ "affiliator.com": "affiliator",
+ "affiliaweb.fr": "affiliaweb",
+ "banner-rotation.com": "affilinet",
+ "webmasterplan.com": "affilinet",
+ "affimax.de": "affimax",
+ "affinity.com": "affinity",
+ "countby.com": "affinity.by",
+ "affiz.net": "affiz_cpm",
+ "pml.afftrack.com": "afftrack",
+ "afgr2.com": "afgr2.com",
+ "v2.afilio.com.br": "afilio",
+ "afsanalytics.com": "afs_analystics",
+ "ads.aftonbladet.se": "aftonbladet_ads",
+ "aftv-serving.bid": "aftv-serving.bid",
+ "agkn.com": "aggregate_knowledge",
+ "agilone.com": "agilone",
+ "adview.pl": "agora",
+ "pingagenow.com": "ahalogy",
+ "aimediagroup.com": "ai_media_group",
+ "advombat.ru": "aidata",
+ "aidata.io": "aidata",
+ "aim4media.com": "aim4media",
+ "muscache.com": "airbnb",
+ "musthird.com": "airbnb",
+ "airbrake.io": "airbrake",
+ "airpr.com": "airpr.com",
+ "ab.airpush.com": "airpush",
+ "abmr.net": "akamai_technologies",
+ "akamai.net": "akamai_technologies",
+ "akamaihd.net": "akamai_technologies",
+ "akamaized.net": "akamai_technologies",
+ "akstat.io": "akamai_technologies",
+ "edgekey.net": "akamai_technologies",
+ "edgesuite.net": "akamai_technologies",
+ "imiclk.com": "akamai_technologies",
+ "akamoihd.net": "akamoihd.net",
+ "adn-d.sp.gmossp-sp.jp": "akane",
+ "akanoo.com": "akanoo",
+ "akavita.com": "akavita",
+ "ads.albawaba.com": "al_bawaba_advertising",
+ "serve.albacross.com": "albacross",
+ "aldi-international.com": "aldi-international.com",
+ "alenty.com": "alenty",
+ "alephd.com": "alephd.com",
+ "alexametrics.com": "alexa_metrics",
+ "d31qbv1cthcecs.cloudfront.net": "alexa_metrics",
+ "d5nxst8fruw4z.cloudfront.net": "alexa_metrics",
+ "alexa.com": "alexa_traffic_rank",
+ "algolia.com": "algolia.net",
+ "algolia.net": "algolia.net",
+ "algovid.com": "algovid.com",
+ "alibaba.com": "alibaba.com",
+ "alicdn.com": "alibaba.com",
+ "alipay.com": "alipay.com",
+ "websitealive.com": "alivechat",
+ "allegroimg.com": "allegro.pl",
+ "allegrostatic.com": "allegro.pl",
+ "allegrostatic.pl": "allegro.pl",
+ "ngacm.com": "allegro.pl",
+ "ngastatic.com": "allegro.pl",
+ "i.btg360.com.br": "allin",
+ "allo-pages.fr": "allo-pages.fr",
+ "allotraffic.com": "allotraffic",
+ "edge.alluremedia.com.au": "allure_media",
+ "allyes.com": "allyes",
+ "inputs.alooma.com": "alooma",
+ "arena.altitude-arena.com": "altitude_digital",
+ "amadesa.com": "amadesa",
+ "amazon.ca": "amazon",
+ "amazon.co.jp": "amazon",
+ "amazon.co.uk": "amazon",
+ "amazon.com": "amazon",
+ "amazon.de": "amazon",
+ "amazon.es": "amazon",
+ "amazon.fr": "amazon",
+ "amazon.it": "amazon",
+ "d3io1k5o0zdpqr.cloudfront.net": "amazon",
+ "amazon-adsystem.com": "amazon_adsystem",
+ "serving-sys.com": "amazon_adsystem",
+ "sizmek.com": "amazon_adsystem",
+ "assoc-amazon.ca": "amazon_associates",
+ "assoc-amazon.co.uk": "amazon_associates",
+ "assoc-amazon.com": "amazon_associates",
+ "assoc-amazon.de": "amazon_associates",
+ "assoc-amazon.fr": "amazon_associates",
+ "assoc-amazon.jp": "amazon_associates",
+ "images-amazon.com": "amazon_cdn",
+ "media-amazon.com": "amazon_cdn",
+ "ssl-images-amazon.com": "amazon_cdn",
+ "cloudfront.net": "amazon_cloudfront",
+ "axx-eu.amazon-adsystem.com": "amazon_mobile_ads",
+ "amazonpay.com": "amazon_payments",
+ "payments-amazon.com": "amazon_payments",
+ "aiv-cdn.net": "amazon_video",
+ "amazonaws.com": "amazon_web_services",
+ "amazonwebservices.com": "amazon_web_services",
+ "awsstatic.com": "amazon_web_services",
+ "adnetwork.net.vn": "ambient_digital",
+ "adnetwork.vn": "ambient_digital",
+ "ambientplatform.vn": "ambient_digital",
+ "amgload.net": "amgload.net",
+ "amoad.com": "amoad",
+ "ad.amgdgt.com": "amobee",
+ "ads.amgdgt.com": "amobee",
+ "amobee.com": "amobee",
+ "collective-media.net": "amp_platform",
+ "amplitude.com": "amplitude",
+ "d24n15hnbwhuhn.cloudfront.net": "amplitude",
+ "ampproject.org": "ampproject.org",
+ "anametrix.net": "anametrix",
+ "ancestrycdn.com": "ancestry_cdn",
+ "ancoraplatform.com": "ancora",
+ "anetwork.ir": "anetwork",
+ "aniview.com": "aniview.com",
+ "a-ads.com": "anonymousads",
+ "anormal-tracker.de": "anormal_tracker",
+ "answerscloud.com": "answers_cloud_service",
+ "anthill.vn": "ants",
+ "ants.vn": "ants",
+ "rt.analytics.anvato.net": "anvato",
+ "tkx2-prod.anvato.net": "anvato",
+ "w3.cdn.anvato.net": "anvato",
+ "player.anyclip.com": "anyclip",
+ "video-loader.com": "aol_be_on",
+ "aolcdn.com": "aol_cdn",
+ "isp.netscape.com": "aol_cdn",
+ "apa.at": "apa.at",
+ "apester.com": "apester",
+ "apicit.net": "apicit.net",
+ "carrierzone.com": "aplus_analytics",
+ "appcues.com": "appcues",
+ "appdynamics.com": "appdynamics",
+ "de8of677fyt0b.cloudfront.net": "appdynamics",
+ "eum-appdynamics.com": "appdynamics",
+ "jscdn.appier.net": "appier",
+ "applifier.com": "applifier",
+ "assets.applovin.com": "applovin",
+ "appmetrx.com": "appmetrx",
+ "adnxs.com": "appnexus",
+ "adnxs.net": "appnexus",
+ "appsflyer.com": "appsflyer",
+ "adne.tv": "apptv",
+ "readserver.net": "apptv",
+ "www.apture.com": "apture",
+ "arcpublishing.com": "arcpublishing",
+ "ard.de": "ard.de",
+ "areyouahuman.com": "are_you_a_human",
+ "arkoselabs.com": "arkoselabs.com",
+ "art19.com": "art19",
+ "banners.advsnx.net": "artimedia",
+ "artlebedev.ru": "artlebedev.ru",
+ "ammadv.it": "aruba_media_marketing",
+ "arubamediamarketing.it": "aruba_media_marketing",
+ "cya2.net": "arvato_canvas_fp",
+ "asambeauty.com": "asambeauty.com",
+ "ask.com": "ask.com",
+ "aspnetcdn.com": "aspnetcdn",
+ "cdn.astronomer.io": "astronomer",
+ "ati-host.net": "at_internet",
+ "aticdn.net": "at_internet",
+ "xiti.com": "at_internet",
+ "atedra.com": "atedra",
+ "oadts.com": "atg_group",
+ "as00.estara.com": "atg_optimization",
+ "atgsvcs.com": "atg_recommendations",
+ "adbureau.net": "atlas",
+ "atdmt.com": "atlas",
+ "atlassbx.com": "atlas",
+ "track.roiservice.com": "atlas_profitbuilder",
+ "atl-paas.net": "atlassian.net",
+ "atlassian.com": "atlassian.net",
+ "atlassian.net": "atlassian.net",
+ "d12ramskps3070.cloudfront.net": "atlassian.net",
+ "d1xfq2052q7thw.cloudfront.net": "atlassian_marketplace",
+ "marketplace.atlassian.com": "atlassian_marketplace",
+ "atomz.com": "atomz_search",
+ "atsfi.de": "atsfi_de",
+ "cdn.attracta.com": "attracta",
+ "locayta.com": "attraqt",
+ "ads.audience2media.com": "audience2media",
+ "qwobl.net": "audience_ad_network",
+ "revsci.net": "audience_science",
+ "wunderloop.net": "audience_science",
+ "12mlbe.com": "audiencerate",
+ "audiencesquare.com": "audiencesquare.com",
+ "auditude.com": "auditude",
+ "audtd.com": "audtd.com",
+ "cdn.augur.io": "augur",
+ "aumago.com": "aumago",
+ "clicktracks.com": "aurea_clicktracks",
+ "ausgezeichnet.org": "ausgezeichnet_org",
+ "advertising.gov.au": "australia.gov",
+ "auth0.com": "auth0",
+ "ai.autoid.com": "autoid",
+ "optimost.com": "autonomy",
+ "oc-track.autonomycloud.com": "autonomy_campaign",
+ "track.yieldsoftware.com": "autonomy_campaign",
+ "api.autopilothq.com": "autopilothq",
+ "autoscout24.com": "autoscout24.com",
+ "autoscout24.net": "autoscout24.com",
+ "avail.net": "avail",
+ "analytics.avanser.com.au": "avanser",
+ "avmws.com": "avant_metrics",
+ "avantlink.com": "avantlink",
+ "ads.avazu.net": "avazu_network",
+ "avenseo.com": "avenseo",
+ "adspdbl.com": "avid_media",
+ "avocet.io": "avocet",
+ "aweber.com": "aweber",
+ "awin.com": "awin",
+ "awin1.com": "awin",
+ "perfb.com": "awin",
+ "ad.globe7.com": "axill",
+ "azadify.com": "azadify",
+ "azureedge.net": "azureedge.net",
+ "b2bcontext.ru": "b2bcontext",
+ "b2bvideo.ru": "b2bvideo",
+ "babator.com": "babator.com",
+ "backbeatmedia.com": "back_beat_media",
+ "widgets.backtype.com": "backtype_widgets",
+ "bahn.de": "bahn_de",
+ "img-bahn.de": "bahn_de",
+ "baidu.com": "baidu_ads",
+ "baidustatic.com": "baidu_ads",
+ "bdimg.com": "baidu_static",
+ "bdstatic.com": "baidu_static",
+ "baletingo.com": "baletingo.com",
+ "bangdom.com": "bangdom.com",
+ "widgets.bankrate.com": "bankrate",
+ "bannerconnect.net": "banner_connect",
+ "bannerflow.com": "bannerflow.com",
+ "bannerplay.com": "bannerplay",
+ "cdn.bannersnack.com": "bannersnack",
+ "dn3y71tq7jf07.cloudfront.net": "barilliance",
+ "getbarometer.s3.amazonaws.com": "barometer",
+ "basilic.io": "basilic.io",
+ "batanga.com": "batanga_network",
+ "t4ft.de": "batch_media",
+ "bauernative.com": "bauer_media",
+ "baur.de": "baur.de",
+ "baynote.net": "baynote_observer",
+ "bazaarvoice.com": "bazaarvoice",
+ "bbci.co.uk": "bbci",
+ "tracking.bd4travel.com": "bd4travel",
+ "beopinion.com": "be_opinion",
+ "bfmio.com": "beachfront",
+ "beaconads.com": "beacon_ad_network",
+ "beampulse.com": "beampulse.com",
+ "beanstalkdata.com": "beanstalk_data",
+ "bebi.com": "bebi",
+ "beeketing.com": "beeketing.com",
+ "beeline.ru": "beeline.ru",
+ "bidr.io": "beeswax",
+ "tracker.beezup.com": "beezup",
+ "begun.ru": "begun",
+ "behavioralengine.com": "behavioralengine",
+ "belboon.de": "belboon_gmbh",
+ "cdn.belco.io": "belco",
+ "belstat.be": "belstat",
+ "belstat.com": "belstat",
+ "belstat.de": "belstat",
+ "belstat.fr": "belstat",
+ "belstat.nl": "belstat",
+ "bemobile.ua": "bemobile.ua",
+ "tag.benchplatform.com": "bench_platform",
+ "betterttv.net": "betterttv",
+ "betweendigital.com": "betweendigital.com",
+ "intencysrv.com": "betweendigital.com",
+ "bid.run": "bid.run",
+ "bidgear.com": "bidgear",
+ "bidswitch.net": "bidswitch",
+ "exe.bid": "bidswitch",
+ "bttrack.com": "bidtellect",
+ "bidtheatre.com": "bidtheatre",
+ "bidvertiser.com": "bidvertiser",
+ "bigmobileads.com": "big_mobile",
+ "bigcommerce.com": "bigcommerce.com",
+ "bigmir.net": "bigmir.net",
+ "bigpoint-payment.com": "bigpoint",
+ "bigpoint.com": "bigpoint",
+ "bigpoint.net": "bigpoint",
+ "bpcdn.net": "bigpoint",
+ "bpsecure.com": "bigpoint",
+ "bildstatic.de": "bild",
+ "ad-cdn.bilgin.pro": "bilgin_pro",
+ "pixel.bilinmedia.net": "bilin",
+ "bat.r.msn.com": "bing_ads",
+ "bing.com": "bing_ads",
+ "bing.net": "bing_ads",
+ "virtualearth.net": "bing_maps",
+ "view.binlayer.com": "binlayer",
+ "widgets.binotel.com": "binotel",
+ "esendra.fi": "bisnode",
+ "bitcoinplus.com": "bitcoin_miner",
+ "bit.ly": "bitly",
+ "bitrix.de": "bitrix",
+ "bitrix.info": "bitrix",
+ "bitrix.ru": "bitrix",
+ "bitrix24.com": "bitrix",
+ "bitrix24.com.br": "bitrix",
+ "traffic.adxprts.com": "bizcn",
+ "jssr.jd.com": "blackdragon",
+ "blau.de": "blau.de",
+ "bnmla.com": "blink_new_media",
+ "blismedia.com": "blis",
+ "blogad.com.tw": "blogad",
+ "blogbang.com": "blogbang",
+ "www.blogcatalog.com": "blogcatalog",
+ "track.blogcounter.de": "blogcounter",
+ "blogfoster.com": "blogfoster.com",
+ "bloggerads.net": "bloggerads",
+ "blogher.com": "blogher",
+ "blogherads.com": "blogher",
+ "blogimg.jp": "blogimg.jp",
+ "blogsmithmedia.com": "blogsmithmedia.com",
+ "blogblog.com": "blogspot_com",
+ "blogger.com": "blogspot_com",
+ "blogspot.com": "blogspot_com",
+ "brcdn.com": "bloomreach",
+ "brsrvr.com": "bloomreach",
+ "brtstats.com": "bloomreach",
+ "offerpoint.net": "blue_cherry_group",
+ "blueserving.com": "blue_seed",
+ "blueconic.net": "blueconic.net",
+ "bluecore.com": "bluecore",
+ "triggeredmail.appspot.com": "bluecore",
+ "bkrtx.com": "bluekai",
+ "bluekai.com": "bluekai",
+ "adrevolver.com": "bluelithium",
+ "bluelithium.com": "bluelithium",
+ "bmmetrix.com": "bluemetrix",
+ "japanmetrix.jp": "bluemetrix",
+ "bluenewsupdate.info": "bluenewsupdate.info",
+ "bluestreak.com": "bluestreak",
+ "bluetriangletech.com": "bluetriangle",
+ "btttag.com": "bluetriangle",
+ "bodelen.com": "bodelen.com",
+ "tracking.bol.com": "bol_affiliate_program",
+ "qb.boldapps.net": "bold",
+ "secure.apps.shappify.com": "bold",
+ "boldchat.com": "boldchat",
+ "boltdns.net": "boltdns.net",
+ "ml314.com": "bombora",
+ "bongacams.com": "bongacams.com",
+ "bonial.com": "bonial",
+ "bonialconnect.com": "bonial",
+ "bonialserviceswidget.de": "bonial",
+ "boo-box.com": "boo-box",
+ "booking.com": "booking.com",
+ "bstatic.com": "booking.com",
+ "boostbox.com.br": "boost_box",
+ "boostervideo.ru": "booster_video",
+ "bootstrapcdn.com": "bootstrap",
+ "borrango.com": "borrango.com",
+ "scan.botscanner.com": "botscanner",
+ "boudja.com": "boudja.com",
+ "bounceexchange.com": "bounce_exchange",
+ "bouncex.com": "bouncex",
+ "bouncex.net": "bouncex",
+ "j.clickdensity.com": "box_uk",
+ "boxever.com": "boxever",
+ "brainient.com": "brainient",
+ "brainsins.com": "brainsins",
+ "d2xkqxdy6ewr93.cloudfront.net": "brainsins",
+ "app.link": "branch_metrics",
+ "branch.io": "branch_metrics",
+ "brandaffinity.net": "brand_affinity",
+ "go.cpmadvisors.com": "brand_networks",
+ "optorb.com": "brand_networks",
+ "brandmetrics.com": "brandmetrics.com",
+ "brandreachsys.com": "brandreach",
+ "rtbidder.net": "brandscreen",
+ "brandwire.tv": "brandwire.tv",
+ "branica.com": "branica",
+ "appboycdn.com": "braze",
+ "brealtime.com": "brealtime",
+ "bridgetrack.com": "bridgetrack",
+ "brightcove.com": "brightcove",
+ "brightcove.net": "brightcove_player",
+ "analytics.brightedge.com": "brightedge",
+ "munchkin.brightfunnel.com": "brightfunnel",
+ "brightonclick.com": "brightonclick.com",
+ "btrll.com": "brightroll",
+ "p.brilig.com": "brilig",
+ "brillen.de": "brillen.de",
+ "broadstreetads.com": "broadstreet",
+ "bm23.com": "bronto",
+ "brow.si": "brow.si",
+ "browser-statistik.de": "browser-statistik",
+ "browser-update.org": "browser_update",
+ "btncdn.com": "btncdn.com",
+ "in.bubblestat.com": "bubblestat",
+ "brighteroption.com": "buddy_media",
+ "bufferapp.com": "buffer_button",
+ "bugherd.com": "bugherd.com",
+ "bugsnag.com": "bugsnag",
+ "d2wy8f7a9ursnm.cloudfront.net": "bugsnag",
+ "bulkhentai.com": "bulkhentai.com",
+ "bumlam.com": "bumlam.com",
+ "bunchbox.co": "bunchbox",
+ "bf-ad.net": "burda",
+ "bf-tools.net": "burda",
+ "bstatic.de": "burda_digital_systems",
+ "burstbeacon.com": "burst_media",
+ "burstnet.com": "burst_media",
+ "burt.io": "burt",
+ "d3q6px0y2suh5n.cloudfront.net": "burt",
+ "rich-agent.s3.amazonaws.com": "burt",
+ "richmetrics.com": "burt",
+ "stats.businessol.com": "businessonline_analytics",
+ "buysellads.com": "buysellads",
+ "servedby-buysellads.com": "buysellads",
+ "buzzadexchange.com": "buzzadexchange.com",
+ "buzzador.com": "buzzador",
+ "buzzfed.com": "buzzfeed",
+ "bwbx.io": "bwbx.io",
+ "bypass.jp": "bypass",
+ "c1exchange.com": "c1_exchange",
+ "c3metrics.com": "c3_metrics",
+ "c3tag.com": "c3_metrics",
+ "c8.net.ua": "c8_network",
+ "cackle.me": "cackle.me",
+ "d1cerpgff739r9.cloudfront.net": "cadreon",
+ "d1qpxk1wfeh8v1.cloudfront.net": "cadreon",
+ "callpage.io": "call_page",
+ "callbackhunter.com": "callbackhunter",
+ "callmeasurement.com": "callbox",
+ "callibri.ru": "callibri",
+ "callrail.com": "callrail",
+ "calltracking.ru": "calltracking",
+ "caltat.com": "caltat.com",
+ "cam-content.com": "cam-content.com",
+ "camakaroda.com": "camakaroda.com",
+ "s.edkay.com": "campus_explorer",
+ "canddi.com": "canddi",
+ "canvas.net": "canvas",
+ "canvasnetwork.com": "canvas",
+ "du11hjcvx0uqb.cloudfront.net": "canvas",
+ "kdata.fr": "capitaldata",
+ "captora.com": "captora",
+ "edge.capturemedia.network": "capture_media",
+ "cdn.capturly.com": "capturly",
+ "route.carambo.la": "carambola",
+ "carbonads.com": "carbonads",
+ "carbonads.net": "carbonads",
+ "fusionads.net": "carbonads",
+ "cardinalcommerce.com": "cardinal",
+ "cardlytics.com": "cardlytics",
+ "cdn.carrotquest.io": "carrot_quest",
+ "api.cartstack.com": "cartstack",
+ "caspion.com": "caspion",
+ "t.castle.io": "castle",
+ "3gl.net": "catchpoint",
+ "cbox.ws": "cbox",
+ "adlog.com.com": "cbs_interactive",
+ "cbsinteractive.com": "cbs_interactive",
+ "dw.com.com": "cbs_interactive",
+ "ccmbg.com": "ccm_benchmark",
+ "admission.net": "cdk_digital_marketing",
+ "cdn-net.com": "cdn-net.com",
+ "cdn13.com": "cdn13.com",
+ "cdn77.com": "cdn77",
+ "cdn77.org": "cdn77",
+ "cdnetworks.com": "cdnetworks.net",
+ "cdnetworks.net": "cdnetworks.net",
+ "cdnnetwok.xyz": "cdnnetwok_xyz",
+ "cdnondemand.org": "cdnondemand.org",
+ "cdnsure.com": "cdnsure.com",
+ "cdnvideo.com": "cdnvideo.com",
+ "cdnwidget.com": "cdnwidget.com",
+ "cedexis-radar.net": "cedexis_radar",
+ "cedexis-test.com": "cedexis_radar",
+ "cedexis.com": "cedexis_radar",
+ "cedexis.fastlylb.net": "cedexis_radar",
+ "cedexis.net": "cedexis_radar",
+ "celebrus.com": "celebrus",
+ "celtra.com": "celtra",
+ "cendyn.adtrack.calls.net": "cendyn",
+ "centraltag.com": "centraltag",
+ "brand-server.com": "centro",
+ "speed-trap.nl": "cerberus_speed-trap",
+ "link.ixs1.net": "certainsource",
+ "hits.e.cl": "certifica_metric",
+ "certona.net": "certona",
+ "res-x.com": "certona",
+ "gsn.chameleon.ad": "chameleon",
+ "chango.ca": "chango",
+ "chango.com": "chango",
+ "channelintelligence.com": "channel_intelligence",
+ "cptrack.de": "channel_pilot_solutions",
+ "channeladvisor.com": "channeladvisor",
+ "searchmarketing.com": "channeladvisor",
+ "channelfinder.net": "channelfinder",
+ "chaordicsystems.com": "chaordic",
+ "chartbeat.com": "chartbeat",
+ "chartbeat.net": "chartbeat",
+ "chaser.ru": "chaser",
+ "cloud.chatbeacon.io": "chat_beacon",
+ "chatango.com": "chatango",
+ "call.chatra.io": "chatra",
+ "chaturbate.com": "chaturbate.com",
+ "chatwing.com": "chatwing",
+ "checkmystats.com.au": "checkmystats",
+ "chefkoch-cdn.de": "chefkoch_de",
+ "chefkoch.de": "chefkoch_de",
+ "tracker.chinmedia.vn": "chin_media",
+ "chinesean.com": "chinesean",
+ "chitika.net": "chitika",
+ "choicestream.com": "choicestream",
+ "api.getchute.com": "chute",
+ "media.chute.io": "chute",
+ "iqcontentplatform.de": "circit",
+ "data.circulate.com": "circulate",
+ "p.cityspark.com": "city_spark",
+ "cityads.ru": "cityads",
+ "gameleads.ru": "cityads",
+ "ciuvo.com": "ciuvo.com",
+ "widget.civey.com": "civey_widgets",
+ "civicscience.com": "civicscience.com",
+ "ciweb.ciwebgroup.com": "ciwebgroup",
+ "clcknads.pro": "clcknads.pro",
+ "pulseradius.com": "clear_pier",
+ "clearbit.com": "clearbit.com",
+ "clearsale.com.br": "clearsale",
+ "tag.clrstm.com": "clearstream.tv",
+ "api.clerk.io": "clerk.io",
+ "cleverpush.com": "clever_push",
+ "wzrkt.com": "clever_tap",
+ "cleversite.ru": "cleversite",
+ "script.click360.io": "click360",
+ "clickandchat.com": "click_and_chat",
+ "software.clickback.com": "click_back",
+ "hit.clickaider.com": "clickaider",
+ "clickbank.net": "clickbank",
+ "cbproads.com": "clickbank_proads",
+ "adtoll.com": "clickbooth",
+ "clickbooth.com": "clickbooth",
+ "clickboothlnk.com": "clickbooth",
+ "clickcease.com": "clickcease",
+ "clickcertain.com": "clickcertain",
+ "remarketstats.com": "clickcertain",
+ "clickdesk.com": "clickdesk",
+ "analytics.clickdimensions.com": "clickdimensions",
+ "clickequations.net": "clickequations",
+ "clickexperts.net": "clickexperts",
+ "doublemax.net": "clickforce",
+ "clickinc.com": "clickinc",
+ "clickintext.net": "clickintext",
+ "clickky.biz": "clickky",
+ "9nl.be": "clickmeter",
+ "9nl.com": "clickmeter",
+ "9nl.eu": "clickmeter",
+ "9nl.it": "clickmeter",
+ "9nl.me": "clickmeter",
+ "clickmeter.com": "clickmeter",
+ "clickonometrics.pl": "clickonometrics",
+ "clickpoint.com": "clickpoint",
+ "clickpoint.it": "clickpoint",
+ "clickprotector.com": "clickprotector",
+ "clickreport.com": "clickreport",
+ "doogleonduty.com": "clickreport",
+ "ctn.go2cloud.org": "clicks_thru_networks",
+ "clicksor.com": "clicksor",
+ "hatid.com": "clicksor",
+ "lzjl.com": "clicksor",
+ "myroitracking.com": "clicksor",
+ "clicktale.com": "clicktale",
+ "clicktale.net": "clicktale",
+ "clicktale.pantherssl.com": "clicktale",
+ "clicktalecdn.sslcs.cdngc.net": "clicktale",
+ "clicktripz.com": "clicktripz",
+ "clickwinks.com": "clickwinks",
+ "getclicky.com": "clicky",
+ "staticstuff.net": "clicky",
+ "clickyab.com": "clickyab",
+ "clicmanager.fr": "clicmanager",
+ "eplayer.clipsyndicate.com": "clip_syndicate",
+ "www.is1.clixgalore.com": "clixgalore",
+ "clixmetrix.com": "clixmetrix",
+ "clixsense.com": "clixsense",
+ "cloud-media.fr": "cloud-media.fr",
+ "cloudflare.com": "cloudflare",
+ "cloudflare.net": "cloudflare",
+ "cloudimg.io": "cloudimage.io",
+ "cloudinary.com": "cloudinary",
+ "clovenetwork.com": "clove_network",
+ "clustrmaps.com": "clustrmaps",
+ "cnbc.com": "cnbc",
+ "cnetcontent.com": "cnetcontent.com",
+ "cnstats.ru": "cnstats",
+ "cnzz.com": "cnzz.com",
+ "umeng.com": "cnzz.com",
+ "acc-hd.de": "coadvertise",
+ "client.cobrowser.net": "cobrowser",
+ "codeonclick.com": "codeonclick.com",
+ "cogocast.net": "cogocast",
+ "coin-have.com": "coin_have",
+ "appsha1.cointraffic.io": "coin_traffic",
+ "authedmine.com": "coinhive",
+ "coin-hive.com": "coinhive",
+ "coinhive.com": "coinhive",
+ "coinurl.com": "coinurl",
+ "coll1onf.com": "coll1onf.com",
+ "coll2onf.com": "coll2onf.com",
+ "service.collarity.com": "collarity",
+ "static.clmbtech.com": "columbia_online",
+ "combotag.com": "combotag",
+ "pdk.theplatform.com": "comcast_technology_solutions",
+ "comm100.cn": "comm100",
+ "comm100.com": "comm100",
+ "cdn-cs.com": "commerce_sciences",
+ "cdn.mercent.com": "commercehub",
+ "link.mercent.com": "commercehub",
+ "commercialvalue.org": "commercialvalue.org",
+ "afcyhf.com": "commission_junction",
+ "anrdoezrs.net": "commission_junction",
+ "apmebf.com": "commission_junction",
+ "awltovhc.com": "commission_junction",
+ "emjcd.com": "commission_junction",
+ "ftjcfx.com": "commission_junction",
+ "lduhtrp.net": "commission_junction",
+ "qksz.net": "commission_junction",
+ "tkqlhce.com": "commission_junction",
+ "tqlkg.com": "commission_junction",
+ "yceml.net": "commission_junction",
+ "communicatorcorp.com": "communicator_corp",
+ "wowanalytics.co.uk": "communigator",
+ "c-col.com": "competexl",
+ "c.compete.com": "competexl",
+ "complex.com": "complex_media_network",
+ "complexmedianetwork.com": "complex_media_network",
+ "comprigo.com": "comprigo",
+ "comscore.com": "comscore",
+ "zqtk.net": "comscore",
+ "conative.de": "conative.de",
+ "condenast.com": "condenastdigital.com",
+ "conduit-banners.com": "conduit",
+ "conduit-data.com": "conduit",
+ "conduit.com": "conduit",
+ "confirmit.com": "confirmit",
+ "congstar.de": "congstar.de",
+ "connatix.com": "connatix.com",
+ "connected-by.connectad.io": "connectad",
+ "cdn.connecto.io": "connecto",
+ "connexity.net": "connexity",
+ "cxt.ms": "connexity",
+ "connextra.com": "connextra",
+ "rs6.net": "constant_contact",
+ "serverbid.com": "consumable",
+ "contactatonce.com": "contact_at_once",
+ "adrolays.de": "contact_impact",
+ "c-i.as": "contact_impact",
+ "df-srv.de": "contact_impact",
+ "d1uwd25yvxu96k.cloudfront.net": "contactme",
+ "static.contactme.com": "contactme",
+ "contaxe.com": "contaxe",
+ "content.ad": "content.ad",
+ "ingestion.contentinsights.com": "content_insights",
+ "contentexchange.me": "contentexchange.me",
+ "ctfassets.net": "contentful_gmbh",
+ "contentpass.de": "contentpass",
+ "contentpass.net": "contentpass",
+ "contentsquare.net": "contentsquare.net",
+ "d1aug3dv5magti.cloudfront.net": "contentwrx",
+ "d39se0h2uvfakd.cloudfront.net": "contentwrx",
+ "c-on-text.com": "context",
+ "intext.contextad.pl": "context.ad",
+ "continum.net": "continum_net",
+ "s2.contribusourcesyndication.com": "contribusource",
+ "hits.convergetrack.com": "convergetrack",
+ "fastclick.net": "conversant",
+ "mediaplex.com": "conversant",
+ "mplxtms.com": "conversant",
+ "cm-commerce.com": "conversio",
+ "media.conversio.com": "conversio",
+ "c.conversionlogic.net": "conversion_logic",
+ "conversionruler.com": "conversionruler",
+ "conversionsbox.com": "conversions_box",
+ "conversionsondemand.com": "conversions_on_demand",
+ "ant.conversive.nl": "conversive",
+ "convertexperiments.com": "convert",
+ "d3sjgucddk68ji.cloudfront.net": "convertfox",
+ "convertro.com": "convertro",
+ "d1ivexoxmp59q7.cloudfront.net": "convertro",
+ "conviva.com": "conviva",
+ "cookieconsent.silktide.com": "cookie_consent",
+ "cookie-script.com": "cookie_script",
+ "cookiebot.com": "cookiebot",
+ "cookieq.com": "cookieq",
+ "lite.piclens.com": "cooliris",
+ "copacet.com": "copacet",
+ "raasnet.com": "coreaudience",
+ "coremotives.com": "coremotives",
+ "coull.com": "coull",
+ "cpmrocket.com": "cpm_rocket",
+ "cpmprofit.com": "cpmprofit",
+ "cpmstar.com": "cpmstar",
+ "captifymedia.com": "cpx.to",
+ "cpx.to": "cpx.to",
+ "cqcounter.com": "cq_counter",
+ "cqq5id8n.com": "cqq5id8n.com",
+ "cquotient.com": "cquotient.com",
+ "craftkeys.com": "craftkeys",
+ "ads.crakmedia.com": "crakmedia_network",
+ "craktraffic.com": "crakmedia_network",
+ "crankyads.com": "crankyads",
+ "cetrk.com": "crazy_egg",
+ "crazyegg.com": "crazy_egg",
+ "dnn506yrbagrg.cloudfront.net": "crazy_egg",
+ "creafi-online-media.com": "creafi",
+ "createjs.com": "createjs",
+ "creativecommons.org": "creative_commons",
+ "brandwatch.com": "crimsonhexagon_com",
+ "crimsonhexagon.com": "crimsonhexagon_com",
+ "hexagon-analytics.com": "crimsonhexagon_com",
+ "ctnsnet.com": "crimtan",
+ "crisp.chat": "crisp",
+ "crisp.im": "crisp",
+ "criteo.com": "criteo",
+ "criteo.net": "criteo",
+ "p.crm4d.com": "crm4d",
+ "crossengage.io": "crossengage",
+ "crosspixel.net": "crosspixel",
+ "crsspxl.com": "crosspixel",
+ "crosssell.info": "crosssell.info",
+ "crossss.com": "crossss",
+ "widget.crowdignite.com": "crowd_ignite",
+ "static.crowdscience.com": "crowd_science",
+ "ss.crowdprocess.com": "crowdprocess",
+ "our.glossip.nl": "crowdynews",
+ "widget.breakingburner.com": "crowdynews",
+ "widget.crowdynews.com": "crowdynews",
+ "searchg2.crownpeak.net": "crownpeak",
+ "snippet.omm.crownpeak.com": "crownpeak",
+ "cryptoloot.pro": "cryptoloot_miner",
+ "ctnetwork.hu": "ctnetwork",
+ "adzhub.com": "ctrlshift",
+ "data.withcubed.com": "cubed",
+ "cuelinks.com": "cuelinks",
+ "cdn.cupinteractive.com": "cup_interactive",
+ "curse.com": "curse.com",
+ "cursecdn.com": "cursecdn.com",
+ "assets.customer.io": "customer.io",
+ "widget.customerly.io": "customerly",
+ "cxense.com": "cxense",
+ "cxo.name": "cxo.name",
+ "cyberwing.co.jp": "cyber_wing",
+ "cybersource.com": "cybersource",
+ "cygnus.com": "cygnus",
+ "da-ads.com": "da-ads.com",
+ "dailymail.co.uk": "dailymail.co.uk",
+ "dailymotion.com": "dailymotion",
+ "dailymotionbus.com": "dailymotion",
+ "dm-event.net": "dailymotion",
+ "dmcdn.net": "dailymotion",
+ "dmxleo.com": "dailymotion_advertising",
+ "ds1.nl": "daisycon",
+ "dantrack.net": "dantrack.net",
+ "dmclick.cn": "darwin_marketing",
+ "tags.dashboardad.net": "dashboard_ad",
+ "datacaciques.com": "datacaciques.com",
+ "datacoral.com": "datacoral",
+ "abandonaid.com": "datacrushers",
+ "datacrushers.com": "datacrushers",
+ "datadome.co": "datadome",
+ "optimahub.com": "datalicious_datacollector",
+ "supert.ag": "datalicious_supertag",
+ "inextaction.net": "datalogix",
+ "nexac.com": "datalogix",
+ "datamind.ru": "datamind.ru",
+ "datatables.net": "datatables",
+ "adunits.datawrkz.com": "datawrkz",
+ "dataxpand.script.ag": "dataxpand",
+ "tc.dataxpand.com": "dataxpand",
+ "w55c.net": "dataxu",
+ "datds.net": "datds.net",
+ "pro-market.net": "datonics",
+ "displaymarketplace.com": "datran",
+ "davebestdeals.com": "davebestdeals.com",
+ "dawandastatic.com": "dawandastatic.com",
+ "dc-storm.com": "dc_stormiq",
+ "h4k5.com": "dc_stormiq",
+ "stormcontainertag.com": "dc_stormiq",
+ "stormiq.com": "dc_stormiq",
+ "dcbap.com": "dcbap.com",
+ "dcmn.com": "dcmn.com",
+ "statslogger.rocket.persgroep.cloud": "de_persgroep",
+ "deadlinefunnel.com": "deadline_funnel",
+ "cc2.dealer.com": "dealer.com",
+ "d9lq0o81skkdj.cloudfront.net": "dealer.com",
+ "esm1.net": "dealer.com",
+ "static.dealer.com": "dealer.com",
+ "decibelinsight.net": "decibel_insight",
+ "ads.dedicatedmedia.com": "dedicated_media",
+ "api.deep.bi": "deep.bi",
+ "deepintent.com": "deepintent.com",
+ "defpush.com": "defpush.com",
+ "deichmann.com": "deichmann.com",
+ "vxml4.delacon.com.au": "delacon",
+ "tracking.percentmobile.com": "delivr",
+ "adaction.se": "delta_projects",
+ "de17a.com": "delta_projects",
+ "deluxe.script.ag": "deluxe",
+ "delvenetworks.com": "delve_networks",
+ "company-target.com": "demandbase",
+ "demandbase.com": "demandbase",
+ "dmd53.com": "demandmedia",
+ "dmtracker.com": "demandmedia",
+ "deqwas.net": "deqwas",
+ "devatics.com": "devatics",
+ "developermedia.com": "developer_media",
+ "dapxl.com": "deviantart.net",
+ "deviantart.net": "deviantart.net",
+ "my.blueadvertise.com": "dex_platform",
+ "dgm-au.com": "dgm",
+ "s2d6.com": "dgm",
+ "d31y97ze264gaa.cloudfront.net": "dialogtech",
+ "d3von6il1wr7wo.cloudfront.net": "dianomi",
+ "dianomi.com": "dianomi",
+ "dianomioffers.co.uk": "dianomi",
+ "tag.didit.com": "didit_blizzard",
+ "track.did-it.com": "didit_maestro",
+ "privacy-center.org": "didomi",
+ "digg.com": "digg_widget",
+ "digicert.com": "digicert_trust_seal",
+ "digidip.net": "digidip",
+ "digiglitzmarketing.go2cloud.org": "digiglitz",
+ "wtp101.com": "digilant",
+ "digioh.com": "digioh",
+ "lightboxcdn.com": "digioh",
+ "digitalgov.gov": "digital.gov",
+ "cookiereports.com": "digital_control_room",
+ "adtag.cc": "digital_nomads",
+ "adready.com": "digital_remedy",
+ "adreadytractions.com": "digital_remedy",
+ "cpxinteractive.com": "digital_remedy",
+ "directtrack.com": "digital_river",
+ "onenetworkdirect.net": "digital_river",
+ "track.digitalriver.com": "digital_river",
+ "dwin1.com": "digital_window",
+ "digiteka.net": "digiteka",
+ "ultimedia.com": "digiteka",
+ "digitru.st": "digitrust",
+ "widget.dihitt.com.br": "dihitt_badge",
+ "dimml.io": "dimml",
+ "keywordsconnect.com": "direct_keyword_link",
+ "directadvert.ru": "directadvert",
+ "directrev.com": "directrev",
+ "discordapp.com": "discord",
+ "d81mfvml8p5ml.cloudfront.net": "display_block",
+ "disqus.com": "disqus",
+ "disquscdn.com": "disqus",
+ "disqusads.com": "disqus_ads",
+ "distiltag.com": "distil_tag",
+ "districtm.ca": "districtm.io",
+ "districtm.io": "districtm.io",
+ "jsrdn.com": "distroscale",
+ "div.show": "div.show",
+ "stats.vertriebsassistent.de": "diva",
+ "tag.divvit.com": "divvit",
+ "d-msquared.com": "dm2",
+ "and.co.uk": "dmg_media",
+ "dmm.co.jp": "dmm",
+ "ctret.de": "dmwd",
+ "toolbar.dockvine.com": "dockvine",
+ "awecr.com": "docler",
+ "fwbntw.com": "docler",
+ "s.dogannet.tv": "dogannet",
+ "www.domodomain.com": "domodomain",
+ "donation-tools.org": "donationtools",
+ "doofinder.com": "doofinder.com",
+ "embed.doorbell.io": "doorbell.io",
+ "dotandad.com": "dotandmedia",
+ "trackedlink.net": "dotmailer",
+ "dotmetrics.net": "dotmetrics.net",
+ "dotomi.com": "dotomi",
+ "dtmc.com": "dotomi",
+ "dtmpub.com": "dotomi",
+ "double.net": "double.net",
+ "2mdn.net": "doubleclick",
+ "doubleclick.net": "doubleclick",
+ "invitemedia.com": "doubleclick",
+ "doublepimp.com": "doublepimp",
+ "doublepimpssl.com": "doublepimp",
+ "redcourtside.com": "doublepimp",
+ "xeontopa.com": "doublepimp",
+ "zerezas.com": "doublepimp",
+ "doubleverify.com": "doubleverify",
+ "wrating.com": "dratio",
+ "adsymptotic.com": "drawbridge",
+ "dreamlab.pl": "dreamlab.pl",
+ "drift.com": "drift",
+ "js.driftt.com": "drift",
+ "getdrip.com": "drip",
+ "dropbox.com": "dropbox.com",
+ "dropboxstatic.com": "dropbox.com",
+ "z5x.net": "dsnr_media_group",
+ "dsp-rambler.ru": "dsp_rambler",
+ "m6d.com": "dstillery",
+ "media6degrees.com": "dstillery",
+ "dtscout.com": "dtscout.com",
+ "dd-cdn.multiscreensite.com": "dudamobile",
+ "px.multiscreensite.com": "dudamobile",
+ "cdn-0.d41.co": "dun_and_bradstreet",
+ "cn01.dwstat.cn": "dwstat.cn",
+ "dynad.net": "dynad",
+ "dyntrk.com": "dynadmic",
+ "dyntracker.de": "dynamic_1001_gmbh",
+ "media01.eu": "dynamic_1001_gmbh",
+ "content.dl-rms.com": "dynamic_logic",
+ "dlqm.net": "dynamic_logic",
+ "questionmarket.com": "dynamic_logic",
+ "dynamicyield.com": "dynamic_yield",
+ "beacons.hottraffic.nl": "dynata",
+ "dynatrace.com": "dynatrace.com",
+ "dyncdn.me": "dyncdn.me",
+ "e-planning.net": "e-planning",
+ "eadv.it": "eadv",
+ "eanalyzer.de": "eanalyzer.de",
+ "early-birds.fr": "early_birds",
+ "cdn.earnify.com": "earnify",
+ "earnify.com": "earnify_tracker",
+ "easyads.bg": "easyads",
+ "easylist.club": "easylist_club",
+ "classistatic.de": "ebay",
+ "ebay-us.com": "ebay",
+ "ebay.com": "ebay",
+ "ebay.de": "ebay",
+ "ebayclassifiedsgroup.com": "ebay",
+ "ebaycommercenetwork.com": "ebay",
+ "ebaydesc.com": "ebay",
+ "ebayimg.com": "ebay",
+ "ebayrtm.com": "ebay",
+ "ebaystatic.com": "ebay",
+ "ad.about.co.kr": "ebay_korea",
+ "adcheck.about.co.kr": "ebay_korea",
+ "adn.ebay.com": "ebay_partner_network",
+ "beead.co.uk": "ebuzzing",
+ "beead.fr": "ebuzzing",
+ "beead.net": "ebuzzing",
+ "ebuzzing.com": "ebuzzing",
+ "ebz.io": "ebuzzing",
+ "echoenabled.com": "echo",
+ "eclick.vn": "eclick",
+ "econda-monitor.de": "econda",
+ "eco-tag.jp": "ecotag",
+ "ecustomeropinions.com": "edigitalresearch",
+ "effectivemeasure.net": "effective_measure",
+ "effiliation.com": "effiliation",
+ "egain.net": "egain",
+ "cloud-emea.analytics-egain.com": "egain_analytics",
+ "ehi-siegel.de": "ehi-siegel_de",
+ "ekmpinpoint.com": "ekmpinpoint",
+ "ekomi.de": "ekomi",
+ "elasticad.net": "elastic_ad",
+ "elasticbeanstalk.com": "elastic_beanstalk",
+ "elicitapp.com": "elicit",
+ "eloqua.com": "eloqua",
+ "en25.com": "eloqua",
+ "eluxer.net": "eluxer_net",
+ "tracker.emailaptitude.com": "email_aptitude",
+ "tag.email-attitude.com": "email_attitude",
+ "app.emarketeer.com": "emarketeer",
+ "embed.ly": "embed.ly",
+ "embedly.com": "embed.ly",
+ "emediate.dk": "emediate",
+ "emediate.eu": "emediate",
+ "emediate.se": "emediate",
+ "emetriq.de": "emetriq",
+ "e2ma.net": "emma",
+ "adinsight.co.kr": "emnet",
+ "colbenson.es": "empathy",
+ "emsmobile.de": "emsmobile.de",
+ "sitecompass.com": "encore_metrics",
+ "enectoanalytics.com": "enecto_analytics",
+ "trk.enecto.com": "enecto_analytics",
+ "track.engagesciences.com": "engage_sciences",
+ "widget.engageya.com": "engageya_widget",
+ "engagio.com": "engagio",
+ "engineseeker.com": "engineseeker",
+ "enquisite.com": "enquisite",
+ "adtlgc.com": "enreach",
+ "ats.tumri.net": "ensemble",
+ "ensighten.com": "ensighten",
+ "envolve.com": "envolve",
+ "cdn.callbackkiller.com": "envybox",
+ "email-reflex.com": "eperflex",
+ "epicgameads.com": "epic_game_ads",
+ "trafficmp.com": "epic_marketplace",
+ "adshost1.com": "epom",
+ "adshost2.com": "epom",
+ "epom.com": "epom",
+ "epoq.de": "epoq",
+ "banzaiadv.it": "eprice",
+ "eproof.com": "eproof",
+ "equitystory.com": "eqs_group",
+ "eqads.com": "eqworks",
+ "ero-advertising.com": "eroadvertising",
+ "eroadvertising.com": "eroadvertising",
+ "d15qhc0lu1ghnk.cloudfront.net": "errorception",
+ "errorception.com": "errorception",
+ "eshopcomp.com": "eshopcomp.com",
+ "espncdn.com": "espn_cdn",
+ "esprit.de": "esprit.de",
+ "cybermonitor.com": "estat",
+ "estat.com": "estat",
+ "teste-s3-maycon.s3.amazonaws.com": "etag",
+ "etahub.com": "etahub.com",
+ "etargetnet.com": "etarget",
+ "ethn.io": "ethnio",
+ "pages.etology.com": "etology",
+ "sa.etp-prod.com": "etp",
+ "etracker.com": "etracker",
+ "etracker.de": "etracker",
+ "sedotracker.com": "etracker",
+ "etrigue.com": "etrigue",
+ "etsystatic.com": "etsystatic",
+ "eulerian.net": "eulerian",
+ "eultech.fnac.com": "eulerian",
+ "ew3.io": "eulerian",
+ "euroads.dk": "euroads",
+ "euroads.fi": "euroads",
+ "euroads.no": "euroads",
+ "newpromo.europacash.com": "europecash",
+ "tracker.euroweb.net": "euroweb_counter",
+ "apptegic.com": "evergage.com",
+ "evergage.com": "evergage.com",
+ "listener.everstring.com": "everstring",
+ "waterfrontmedia.com": "everyday_health",
+ "betrad.com": "evidon",
+ "evidon.com": "evidon",
+ "evisitanalyst.com": "evisit_analyst",
+ "evisitcs.com": "evisit_analyst",
+ "websiteperform.com": "evisit_analyst",
+ "ads.exactdrive.com": "exact_drive",
+ "exactag.com": "exactag",
+ "exelator.com": "exelate",
+ "dynamicoxygen.com": "exitjunction",
+ "exitjunction.com": "exitjunction",
+ "exdynsrv.com": "exoclick",
+ "exoclick.com": "exoclick",
+ "exosrv.com": "exoclick",
+ "exoticads.com": "exoticads.com",
+ "expedia.com": "expedia",
+ "trvl-px.com": "expedia",
+ "eccmp.com": "experian",
+ "audienceiq.com": "experian_marketing_services",
+ "techlightenment.com": "experian_marketing_services",
+ "expo-max.com": "expo-max",
+ "server.exposebox.com": "expose_box",
+ "sf.exposebox.com": "expose_box_widgets",
+ "express.co.uk": "express.co.uk",
+ "d1lp05q4sghme9.cloudfront.net": "expressvpn",
+ "extreme-dm.com": "extreme_tracker",
+ "eyenewton.ru": "eye_newton",
+ "eyeota.net": "eyeota",
+ "eyereturn.com": "eyereturnmarketing",
+ "eyeviewads.com": "eyeview",
+ "ezakus.net": "ezakus",
+ "f11-ads.com": "f11-ads.com",
+ "facebook.com": "facebook",
+ "facebook.net": "facebook",
+ "fbcdn.net": "facebook_cdn",
+ "fbsbx.com": "facebook_cdn",
+ "graph.facebook.com": "facebook_audience",
+ "facetz.net": "facetz.dca",
+ "adsfac.eu": "facilitate_digital",
+ "adsfac.net": "facilitate_digital",
+ "adsfac.sg": "facilitate_digital",
+ "adsfac.us": "facilitate_digital",
+ "faktor.io": "faktor.io",
+ "thefancy.com": "fancy_widget",
+ "d1q7pknmpq2wkm.cloudfront.net": "fanplayr",
+ "fap.to": "fap.to",
+ "fastly-insights.com": "fastly_insights",
+ "fastly.net": "fastlylb.net",
+ "fastlylb.net": "fastlylb.net",
+ "fastpic.ru": "fastpic.ru",
+ "fmpub.net": "federated_media",
+ "fby.s3.amazonaws.com": "feedbackify",
+ "feedbackify.com": "feedbackify",
+ "feedburner.com": "feedburner.com",
+ "feedify.de": "feedify",
+ "feedjit.com": "feedjit",
+ "log.feedjit.com": "feedjit",
+ "tracking.feedperfect.com": "feedperfect",
+ "feedsportal.com": "feedsportal",
+ "feefo.com": "feefo",
+ "fidelity-media.com": "fidelity_media",
+ "fiksu.com": "fiksu",
+ "filamentapp.s3.amazonaws.com": "filament.io",
+ "fileserve.xyz": "fileserve",
+ "tools.financeads.net": "financeads",
+ "tracker.financialcontent.com": "financial_content",
+ "findizer.fr": "findizer.fr",
+ "findologic.com": "findologic.com",
+ "firebaseio.com": "firebaseio.com",
+ "firstimpression.io": "first_impression",
+ "fitanalytics.com": "fit_analytics",
+ "fivetran.com": "fivetran",
+ "flagads.net": "flag_ads",
+ "flagcounter.com": "flag_counter",
+ "flashtalking.com": "flashtalking",
+ "flattr.com": "flattr_button",
+ "flexlinks.com": "flexoffers",
+ "linkoffers.net": "flexoffers",
+ "flickr.com": "flickr_badge",
+ "staticflickr.com": "flickr_badge",
+ "lflipboard.com": "flipboard",
+ "flite.com": "flite",
+ "flixcdn.com": "flixcdn.com",
+ "flix360.com": "flixmedia",
+ "flixcar.com": "flixmedia",
+ "flocktory.com": "flocktory.com",
+ "flowplayer.org": "flowplayer",
+ "adingo.jp": "fluct",
+ "clicken.us": "fluent",
+ "strcst.net": "fluid",
+ "fluidads.co": "fluidads",
+ "fluidsurveys.com": "fluidsurveys",
+ "cdn.flurry.com": "flurry",
+ "data.flurry.com": "flurry",
+ "flx1.com": "flxone",
+ "flxpxl.com": "flxone",
+ "api.flyertown.ca": "flyertown",
+ "adservinghost.com": "fmadserving",
+ "adservinginternational.com": "fmadserving",
+ "special.matchtv.ru": "fonbet",
+ "kavijaseuranta.fi": "fonecta",
+ "fontawesome.com": "fontawesome_com",
+ "foodieblogroll.com": "foodie_blogroll",
+ "footprintlive.com": "footprint",
+ "footprintdns.com": "footprintdns.com",
+ "forcetrac.com": "forcetrac",
+ "fqsecure.com": "forensiq",
+ "fqtag.com": "forensiq",
+ "securepaths.com": "forensiq",
+ "4seeresults.com": "foresee",
+ "foresee.com": "foresee",
+ "cdn-static.formisimo.com": "formisimo",
+ "forter.com": "forter",
+ "fortlachanhecksof.info": "fortlachanhecksof.info",
+ "platform.foursquare.com": "foursquare_widget",
+ "fout.jp": "fout.jp",
+ "fimserve.com": "fox_audience_network",
+ "fncstatic.com": "foxnews_static",
+ "cdn.foxpush.net": "foxpush",
+ "foxpush.com": "foxpush",
+ "foxydeal.com": "foxydeal_com",
+ "yabidos.com": "fraudlogix",
+ "besucherstatistiken.com": "free_counter",
+ "compteurdevisite.com": "free_counter",
+ "contadorvisitasgratis.com": "free_counter",
+ "contatoreaccessi.com": "free_counter",
+ "freecounterstat.com": "free_counter",
+ "statcounterfree.com": "free_counter",
+ "webcontadores.com": "free_counter",
+ "fastonlineusers.com": "free_online_users",
+ "fastwebcounter.com": "free_online_users",
+ "freeonlineusers.com": "free_online_users",
+ "atoomic.com": "free_pagerank",
+ "free-pagerank.com": "free_pagerank",
+ "freedom.com": "freedom_mortgage",
+ "freegeoip.net": "freegeoip_net",
+ "freenet.de": "freenet_de",
+ "freent.de": "freenet_de",
+ "fwmrm.net": "freewheel",
+ "heimdall.fresh8.co": "fresh8",
+ "d36mpcpuzc4ztk.cloudfront.net": "freshdesk",
+ "freshdesk.com": "freshdesk",
+ "freshplum.com": "freshplum",
+ "friendbuy.com": "friendbuy",
+ "friendfeed.com": "friendfeed",
+ "adultfriendfinder.com": "friendfinder_network",
+ "amigos.com": "friendfinder_network",
+ "board-books.com": "friendfinder_network",
+ "cams.com": "friendfinder_network",
+ "facebookofsex.com": "friendfinder_network",
+ "getiton.com": "friendfinder_network",
+ "nostringsattached.com": "friendfinder_network",
+ "pop6.com": "friendfinder_network",
+ "streamray.com": "friendfinder_network",
+ "inpref.com": "frosmo_optimizer",
+ "inpref.s3-external-3.amazonaws.com": "frosmo_optimizer",
+ "inpref.s3.amazonaws.com": "frosmo_optimizer",
+ "adflan.com": "fruitflan",
+ "fruitflan.com": "fruitflan",
+ "fstrk.net": "fstrk.net",
+ "cookie.fuel451.com": "fuelx",
+ "fullstory.com": "fullstory",
+ "track.funnelytics.io": "funnelytics",
+ "angsrvr.com": "fyber",
+ "fyber.com": "fyber",
+ "game-advertising-online.com": "game_advertising_online",
+ "gamedistribution.com": "gamedistribution.com",
+ "gamerdna.com": "gamerdna",
+ "gannett-cdn.com": "gannett",
+ "gaug.es": "gaug.es",
+ "gpm-digital.com": "gazprom-media_digital",
+ "js.gb-world.net": "gb-world",
+ "gdeslon.ru": "gdeslon",
+ "gdmdigital.com": "gdm_digital",
+ "gntm.geeen.co.jp": "geeen",
+ "lpomax.net": "geeen",
+ "gemius.pl": "gemius",
+ "generaltracking.de": "generaltracking_de",
+ "genesismedia.com": "genesis",
+ "gssprt.jp": "geniee",
+ "rsvpgenius.com": "genius",
+ "genoo.com": "genoo",
+ "js.geoads.com": "geoads",
+ "geolify.com": "geolify",
+ "geoplugin.net": "geoplugin",
+ "geotrust.com": "geotrust",
+ "geovisite.com": "geovisite",
+ "gestionpub.com": "gestionpub",
+ "app.getresponse.com": "get_response",
+ "getsitecontrol.com": "get_site_control",
+ "getconversion.net": "getconversion",
+ "widgets.getglue.com": "getglue",
+ "adhigh.net": "getintent",
+ "static.getkudos.me": "getkudos",
+ "yottos.com": "getmyad",
+ "gsfn.us": "getsatisfaction",
+ "gettyimages.com": "gettyimages",
+ "sensic.net": "gfk",
+ "gfycat.com": "gfycat.com",
+ "a.giantrealm.com": "giant_realm",
+ "videostat.com": "giantmedia",
+ "gigaonclick.com": "giga",
+ "analytics.gigyahosting1.com": "gigya",
+ "gigcount.com": "gigya",
+ "gigya.com": "gigya",
+ "service.giosg.com": "giosg",
+ "giphy.com": "giphy.com",
+ "giraff.io": "giraff.io",
+ "github.com": "github",
+ "githubassets.com": "github",
+ "githubusercontent.com": "github",
+ "githubapp.com": "github_apps",
+ "github.io": "github_pages",
+ "aff3.gittigidiyor.com": "gittigidiyor_affiliate_program",
+ "gittip.com": "gittip",
+ "sitest.jp": "glad_cube",
+ "glganltcs.space": "glganltcs.space",
+ "globalwebindex.net": "global_web_index",
+ "globalnotifier.com": "globalnotifier.com",
+ "globalsign.com": "globalsign",
+ "ad.globaltakeoff.net": "globaltakeoff",
+ "glomex.cloud": "glomex.com",
+ "glomex.com": "glomex.com",
+ "glotgrx.com": "glotgrx.com",
+ "a.gmdelivery.com": "gm_delivery",
+ "ad.atown.jp": "gmo",
+ "gmx.net": "gmx_net",
+ "gmxpro.net": "gmx_net",
+ "go.com": "go.com",
+ "affiliate.godaddy.com": "godaddy_affiliate_program",
+ "trafficfacts.com": "godaddy_site_analytics",
+ "seal.godaddy.com": "godaddy_site_seal",
+ "tracking.godatafeed.com": "godatafeed",
+ "counter.goingup.com": "goingup",
+ "axf8.net": "gomez",
+ "goodadvert.ru": "goodadvert",
+ "google.at": "google",
+ "google.be": "google",
+ "google.ca": "google",
+ "google.ch": "google",
+ "google.co.id": "google",
+ "google.co.in": "google",
+ "google.co.jp": "google",
+ "google.co.ma": "google",
+ "google.co.th": "google",
+ "google.co.uk": "google",
+ "google.com": "google",
+ "google.com.ar": "google",
+ "google.com.au": "google",
+ "google.com.br": "google",
+ "google.com.mx": "google",
+ "google.com.tr": "google",
+ "google.com.tw": "google",
+ "google.com.ua": "google",
+ "google.cz": "google",
+ "google.de": "google",
+ "google.dk": "google",
+ "google.dz": "google",
+ "google.es": "google",
+ "google.fi": "google",
+ "google.fr": "google",
+ "google.gr": "google",
+ "google.hu": "google",
+ "google.ie": "google",
+ "google.it": "google",
+ "google.nl": "google",
+ "google.no": "google",
+ "google.pl": "google",
+ "google.pt": "google",
+ "google.ro": "google",
+ "google.rs": "google",
+ "google.ru": "google",
+ "google.se": "google",
+ "google.tn": "google",
+ "googleadservices.com": "google_adservices",
+ "google-analytics.com": "google_analytics",
+ "appspot.com": "google_appspot",
+ "beacons-google.com": "google_beacons",
+ "adsensecustomsearchads.com": "google_custom_search",
+ "mail-ads.google.com": "google_email",
+ "fonts.googleapis.com": "google_fonts",
+ "ggpht.com": "google_photos",
+ "1e100cdn.net": "google_servers",
+ "googlesyndication.com": "google_syndication",
+ "googletagmanager.com": "google_tag_manager",
+ "googletagservices.com": "google_tag_manager",
+ "translate.google.com": "google_translate",
+ "googletraveladservices.com": "google_travel_adds",
+ "googlecommerce.com": "google_trusted_stores",
+ "googleusercontent.com": "google_users",
+ "gmodules.com": "google_widgets",
+ "googleapis.com": "googleapis.com",
+ "gooal.herokuapp.com": "goooal",
+ "gooo.al": "goooal",
+ "cdn.triggertag.gorillanation.com": "gorilla_nation",
+ "evolvemediametrics.com": "gorilla_nation",
+ "d1l6p2sc9645hc.cloudfront.net": "gosquared",
+ "gosquared.com": "gosquared",
+ "gostats.com": "gostats",
+ "govmetric.com": "govmetric",
+ "servmetric.com": "govmetric",
+ "b.grabo.bg": "grabo_affiliate",
+ "trw12.com": "grandslammedia",
+ "tuberewards.com": "grandslammedia",
+ "d2bw638ufki166.cloudfront.net": "granify",
+ "granify.com": "granify",
+ "grapeshot.co.uk": "grapeshot",
+ "gscontxt.net": "grapeshot",
+ "graphcomment.com": "graph_comment",
+ "gravatar.com": "gravatar",
+ "cdn.gravitec.net": "gravitec",
+ "gravity.com": "gravity_insights",
+ "grvcdn.com": "gravity_insights",
+ "greatviews.de": "greatviews.de",
+ "gandrad.org": "green_and_red",
+ "green-red.com": "green_and_red",
+ "co2stats.com": "green_certified_site",
+ "greenstory.ca": "green_story",
+ "greentube.com": "greentube.com",
+ "gt-cdn.net": "greentube.com",
+ "greystripe.com": "greystripe",
+ "groovehq.com": "groove",
+ "groovinads.com": "groovinads",
+ "bidagent.xad.com": "groundtruth",
+ "gmads.net": "groupm_server",
+ "grmtech.net": "groupm_server",
+ "media.gsimedia.net": "gsi_media",
+ "gstatic.com": "gstatic",
+ "fx.gtop.ro": "gtop",
+ "fx.gtopstats.com": "gtop",
+ "gubagootracking.com": "gugaboo",
+ "guj.de": "guj.de",
+ "emsservice.de": "gujems",
+ "gumgum.com": "gumgum",
+ "gumroad.com": "gumroad",
+ "gunggo.com": "gunggo",
+ "h12-media.com": "h12_ads",
+ "h12-media.net": "h12_ads",
+ "hnbutton.appspot.com": "hacker_news_button",
+ "haendlerbund.de": "haendlerbund.de",
+ "halogennetwork.com": "halogen_network",
+ "d1l7z5ofrj6ab8.cloudfront.net": "happy_fox_chat",
+ "ad.harrenmedianetwork.com": "harren_media",
+ "ads.networkhm.com": "harren_media",
+ "app.hatchbuck.com": "hatchbuck",
+ "hhcdn.ru": "head_hunter",
+ "healte.de": "healte.de",
+ "d36lvucg9kzous.cloudfront.net": "heap",
+ "heapanalytics.com": "heap",
+ "heatmap.it": "heatmap",
+ "weltsport.net": "heimspiel",
+ "hellobar.com": "hello_bar",
+ "hellosociety.com": "hellosociety",
+ "here.com": "here",
+ "herokuapp.com": "heroku",
+ "heureka.cz": "heureka-widget",
+ "heybubble.com": "heybubble",
+ "heyos.com": "heyos",
+ "adlink.net": "hi-media_performance",
+ "comclick.com": "hi-media_performance",
+ "hi-mediaserver.com": "hi-media_performance",
+ "himediads.com": "hi-media_performance",
+ "himediadx.com": "hi-media_performance",
+ "hiconversion.com": "hiconversion",
+ "highwebmedia.com": "highwebmedia.com",
+ "hwcdn.net": "highwinds",
+ "hiiir.com": "hiiir",
+ "hiro.tv": "hiro",
+ "histats.com": "histats",
+ "hit-parade.com": "hit-parade",
+ "hit.ua": "hit.ua",
+ "hitslink.com": "hitslink",
+ "hitsprocessor.com": "hitslink",
+ "hitsniffer.com": "hitsniffer",
+ "hittail.com": "hittail",
+ "hivedx.com": "hivedx.com",
+ "ads.thehiveworks.com": "hiveworks",
+ "hoholikik.club": "hoholikik.club",
+ "h-cdn.com": "hola_player",
+ "homeaway.com": "homeaway",
+ "honeybadger.io": "honeybadger",
+ "hlserve.com": "hooklogic",
+ "apiae.hopscore.com": "hop-cube",
+ "hotdogsandads.com": "hotdogsandads.com",
+ "hotjar.com": "hotjar",
+ "hotkeys.com": "hotkeys",
+ "hotlog.ru": "hotlog.ru",
+ "hotwords.com": "hotwords",
+ "hotwords.es": "hotwords",
+ "howtank.com": "howtank.com",
+ "hqentertainmentnetwork.com": "hqentertainmentnetwork.com",
+ "justservingfiles.net": "hqentertainmentnetwork.com",
+ "hsoub.com": "hsoub",
+ "hstrck.com": "hstrck.com",
+ "httpool.com": "httpool",
+ "toboads.com": "httpool",
+ "hubrus.com": "hubrus",
+ "hs-analytics.net": "hubspot",
+ "hs-scripts.com": "hubspot",
+ "hsleadflows.net": "hubspot",
+ "hubapi.com": "hubspot",
+ "hubspot.com": "hubspot",
+ "forms.hubspot.com": "hubspot_forms",
+ "hubvisor.io": "hubvisor.io",
+ "files.hucksterbot.com": "hucksterbot",
+ "hupso.com": "hupso",
+ "hurra.com": "hurra_tracker",
+ "hybrid.ai": "hybrid.ai",
+ "targetix.net": "hybrid.ai",
+ "hypeads.org": "hype_exchange",
+ "hypercomments.com": "hypercomments",
+ "hyves.nl": "hyves_widgets",
+ "hyvyd.com": "hyvyd",
+ "ib-ibi.com": "i-behavior",
+ "i-mobile.co.jp": "i-mobile",
+ "r.i.ua": "i.ua",
+ "i10c.net": "i10c.net",
+ "i2i.jp": "i2i.jp",
+ "i2idata.com": "i2i.jp",
+ "consensu.org": "iab_consent",
+ "iadvize.com": "iadvize",
+ "cmcore.com": "ibm_customer_experience",
+ "coremetrics.com": "ibm_customer_experience",
+ "coremetrics.eu": "ibm_customer_experience",
+ "tracker.icerocket.com": "icerocket_tracker",
+ "nsimg.net": "icf_technology",
+ "optimix.asia": "iclick",
+ "ic-live.com": "icrossing",
+ "icstats.nl": "icstats",
+ "icuazeczpeoohx.com": "icuazeczpeoohx.com",
+ "id-news.net": "id-news.net",
+ "idcdn.de": "id-news.net",
+ "cdn.id.services": "id_services",
+ "e-generator.com": "ideal_media",
+ "idealo.com": "idealo_com",
+ "ideoclick.com": "ideoclick",
+ "s.idio.co": "idio",
+ "ie8eamus.com": "ie8eamus.com",
+ "600z.com": "ientry",
+ "api.iflychat.com": "iflychat",
+ "ignitionone.com": "ignitionone",
+ "knotice.net": "ignitionone",
+ "igodigital.com": "igodigital",
+ "ad.wsod.com": "ihs_markit",
+ "collserve.com": "ihs_markit_online_shopper_insigh",
+ "ihvmcqojoj.com": "ihvmcqojoj.com",
+ "iias.eu": "iias.eu",
+ "ijento.com": "ijento",
+ "adv.imadrep.co.kr": "imad",
+ "worthathousandwords.com": "image_advantage",
+ "picadmedia.com": "image_space_media",
+ "imgix.net": "imgix.net",
+ "imgur.com": "imgur",
+ "vidigital.ru": "imho_vi",
+ "immanalytics.com": "immanalytics",
+ "immobilienscout24.de": "immobilienscout24_de",
+ "static-immobilienscout24.de": "immobilienscout24_de",
+ "imonomy.com": "imonomy",
+ "7eer.net": "impact_radius",
+ "d3cxv97fi8q177.cloudfront.net": "impact_radius",
+ "evyy.net": "impact_radius",
+ "impactradius-event.com": "impact_radius",
+ "impactradius-tag.com": "impact_radius",
+ "impactradius.com": "impact_radius",
+ "ojrq.net": "impact_radius",
+ "r7ls.net": "impact_radius",
+ "impresionesweb.com": "impresiones_web",
+ "360yield.com": "improve_digital",
+ "iljmp.com": "improvely",
+ "inbenta.com": "inbenta",
+ "inboxsdk.com": "inboxsdk.com",
+ "indeed.com": "indeed",
+ "casalemedia.com": "index_exchange",
+ "indexww.com": "index_exchange",
+ "indieclick.com": "indieclick",
+ "industrybrains.com": "industry_brains",
+ "impdesk.com": "infectious_media",
+ "impressiondesk.com": "infectious_media",
+ "zachysprod.infiniteanalytics.com": "infinite_analytics",
+ "infinity-tracking.net": "infinity_tracking",
+ "engine.influads.com": "influads",
+ "infolinks.com": "infolinks",
+ "intextscript.com": "infolinks",
+ "ioam.de": "infonline",
+ "iocnt.net": "infonline",
+ "ivwbox.de": "infonline",
+ "informer.com": "informer_technologies",
+ "infusionsoft.com": "infusionsoft",
+ "keap.com": "infusionsoft",
+ "innity.com": "innity",
+ "innity.net": "innity",
+ "innogames.com": "innogames.de",
+ "innogames.de": "innogames.de",
+ "innogamescdn.com": "innogames.de",
+ "innovid.com": "innovid",
+ "inside-graph.com": "inside",
+ "useinsider.com": "insider",
+ "insightexpressai.com": "insightexpress",
+ "inskinad.com": "inskin_media",
+ "inskinmedia.com": "inskin_media",
+ "inspectlet.com": "inspectlet",
+ "inspsearchapi.com": "inspsearchapi.com",
+ "cdninstagram.com": "instagram_com",
+ "instagram.com": "instagram_com",
+ "tcgtrkr.com": "instant_check_mate",
+ "sdad.guru": "instart_logic",
+ "insticator.com": "insticator",
+ "load.instinctiveads.com": "instinctive",
+ "intango.com": "intango",
+ "adsafeprotected.com": "integral_ad_science",
+ "iasds01.com": "integral_ad_science",
+ "integral-marketing.com": "integral_marketing",
+ "intelliad.com": "intelliad",
+ "intelliad.de": "intelliad",
+ "saas.intelligencefocus.com": "intelligencefocus",
+ "ist-track.com": "intelligent_reach",
+ "intensedebate.com": "intense_debate",
+ "intentiq.com": "intent_iq",
+ "intentmedia.net": "intent_media",
+ "intercom.com": "intercom",
+ "intercom.io": "intercom",
+ "intercomassets.com": "intercom",
+ "intercomcdn.com": "intercom",
+ "interedy.info": "interedy.info",
+ "ads.intergi.com": "intergi",
+ "intermarkets.net": "intermarkets.net",
+ "intermundomedia.com": "intermundo_media",
+ "bbelements.com": "internet_billboard",
+ "goadservices.com": "internet_billboard",
+ "ibillboard.com": "internet_billboard",
+ "mediainter.net": "internet_billboard",
+ "voice2page.com": "internetaudioads",
+ "ibpxl.com": "internetbrands",
+ "ibsrv.net": "internetbrands",
+ "interpolls.com": "interpolls",
+ "ps7894.com": "interyield",
+ "intilery-analytics.com": "intilery",
+ "im-apps.net": "intimate_merger",
+ "investingchannel.com": "investingchannel",
+ "inviziads.com": "inviziads",
+ "js12.invoca.net": "invoca",
+ "ringrevenue.com": "invoca",
+ "invodo.com": "invodo",
+ "ionicframework.com": "ionicframework.com",
+ "dsp.io": "iotec",
+ "iesnare.com": "iovation",
+ "iovation.com": "iovation",
+ "ip-label.net": "ip-label",
+ "eltoro.com": "ip_targeting",
+ "iptargeting.com": "ip_targeting",
+ "ip-tracker.org": "ip_tracker",
+ "iptrack.io": "ip_tracker",
+ "iperceptions.com": "iperceptions",
+ "dust.ipfingerprint.com": "ipfingerprint",
+ "mbww.com": "ipg_mediabrands",
+ "ipify.org": "ipify",
+ "ipinfo.io": "ipinfo",
+ "iplogger.ru": "iplogger",
+ "centraliprom.com": "iprom",
+ "iprom.net": "iprom",
+ "ipromote.com": "ipromote",
+ "clickmanage.com": "iprospect",
+ "addelive.com": "ironsource",
+ "afdads.com": "ironsource",
+ "delivery47.com": "ironsource",
+ "adsbyisocket.com": "isocket",
+ "isocket.com": "isocket",
+ "ispot.tv": "ispot.tv",
+ "itineraire.info": "itineraire.info",
+ "apple.com": "apple",
+ "autolinkmaker.itunes.apple.com": "itunes_link_maker",
+ "ity.im": "ity.im",
+ "iubenda.com": "iubenda.com",
+ "ivcbrasil.org.br": "ivcbrasil.org.br",
+ "ivitrack.com": "ividence",
+ "iwiw.hu": "iwiw_widgets",
+ "ixiaa.com": "ixi_digital",
+ "ixquick.com": "ixquick.com",
+ "cdn.izooto.com": "izooto",
+ "jlist.com": "j-list_affiliate_program",
+ "getjaco.com": "jaco",
+ "janrainbackplane.com": "janrain",
+ "rpxnow.com": "janrain",
+ "jeeng.com": "jeeng",
+ "api.jeeng.com": "jeeng_widgets",
+ "phone-analytics.com": "jet_interactive",
+ "jetlore.com": "jetlore",
+ "pixel.wp.com": "jetpack",
+ "stats.wp.com": "jetpack",
+ "jetpackdigital.com": "jetpack_digital",
+ "jimcdn.com": "jimdo.com",
+ "jimdo.com": "jimdo.com",
+ "jimstatic.com": "jimdo.com",
+ "ads.jinkads.com": "jink",
+ "jirafe.com": "jirafe",
+ "jivosite.com": "jivochat",
+ "jivox.com": "jivox",
+ "jobs2careers.com": "jobs_2_careers",
+ "joinhoney.com": "joinhoney",
+ "create.leadid.com": "jornaya",
+ "d1tprjo2w7krrh.cloudfront.net": "jornaya",
+ "cdnjquery.com": "jquery",
+ "jquery.com": "jquery",
+ "cjmooter.xcache.kinxcdn.com": "js_communications",
+ "jsdelivr.net": "jsdelivr",
+ "jsecoin.com": "jse_coin",
+ "jsuol.com.br": "jsuol.com.br",
+ "contentabc.com": "juggcash",
+ "mofos.com": "juggcash",
+ "juiceadv.com": "juiceadv",
+ "juicyads.com": "juicyads",
+ "cdn.jumplead.com": "jumplead",
+ "jumpstarttaggingsolutions.com": "jumpstart_tagging_solutions",
+ "jumptap.com": "jumptap",
+ "jump-time.net": "jumptime",
+ "jumptime.com": "jumptime",
+ "components.justanswer.com": "just_answer",
+ "justpremium.com": "just_premium",
+ "justpremium.nl": "just_premium",
+ "justrelevant.com": "just_relevant",
+ "jvc.gg": "jvc.gg",
+ "d21rhj7n383afu.cloudfront.net": "jw_player",
+ "jwpcdn.com": "jw_player",
+ "jwplatform.com": "jw_player",
+ "jwplayer.com": "jw_player",
+ "jwpltx.com": "jw_player",
+ "jwpsrv.com": "jw_player",
+ "ltassrv.com": "jw_player_ad_solutions",
+ "kaeufersiegel.de": "kaeufersiegel.de",
+ "kairion.de": "kairion.de",
+ "kctag.net": "kairion.de",
+ "kaloo.ga": "kaloo.ga",
+ "kaltura.com": "kaltura",
+ "kameleoon.com": "kameleoon",
+ "kameleoon.eu": "kameleoon",
+ "kampyle.com": "kampyle",
+ "kanoodle.com": "kanoodle",
+ "kmi-us.com": "kantar_media",
+ "tnsinternet.be": "kantar_media",
+ "kargo.com": "kargo",
+ "kaspersky-labs.com": "kaspersky-labs.com",
+ "kataweb.it": "kataweb.it",
+ "cen.katchup.fr": "katchup",
+ "kau.li": "kauli",
+ "kavanga.ru": "kavanga",
+ "dc8na2hxrj29i.cloudfront.net": "keen_io",
+ "keen.io": "keen_io",
+ "widget.kelkoo.com": "kelkoo",
+ "xg4ken.com": "kenshoo",
+ "keymetric.net": "keymetric",
+ "lb.keytiles.com": "keytiles",
+ "keywee.co": "keywee",
+ "keywordmax.com": "keywordmax",
+ "massrelevance.com": "khoros",
+ "tweetriver.com": "khoros",
+ "khzbeucrltin.com": "khzbeucrltin.com",
+ "ping.kickfactory.com": "kickfactory",
+ "sa-as.com": "kickfire",
+ "sniff.visistat.com": "kickfire",
+ "stats.visistat.com": "kickfire",
+ "king.com": "king.com",
+ "midasplayer.com": "king_com",
+ "kinja-img.com": "kinja.com",
+ "kinja-static.com": "kinja.com",
+ "kinja.com": "kinja.com",
+ "kiosked.com": "kiosked",
+ "doug1izaerwt3.cloudfront.net": "kissmetrics.com",
+ "kissmetrics.com": "kissmetrics.com",
+ "ad.103092804.com": "kitara_media",
+ "kmdisplay.com": "kitara_media",
+ "kixer.com": "kixer",
+ "klarna.com": "klarna.com",
+ "a.klaviyo.com": "klaviyo",
+ "klikki.com": "klikki",
+ "scr.kliksaya.com": "kliksaya",
+ "mediapeo2.com": "kmeleo",
+ "knoopstat.nl": "knoopstat",
+ "knotch.it": "knotch",
+ "komoona.com": "komoona",
+ "kona.kontera.com": "kontera_contentlink",
+ "ktxtr.com": "kontextr",
+ "kontextua.com": "kontextua",
+ "cleanrm.net": "korrelate",
+ "korrelate.net": "korrelate",
+ "trackit.ktxlytics.io": "kortx",
+ "kaptcha.com": "kount",
+ "krxd.net": "krux_digital",
+ "d31bfnnwekbny6.cloudfront.net": "kupona",
+ "kpcustomer.de": "kupona",
+ "q-sis.de": "kupona",
+ "kxcdn.com": "kxcdn.com",
+ "cdn.kyto.com": "kyto",
+ "cd-ladsp-com.s3.amazonaws.com": "ladsp.com",
+ "ladmp.com": "ladsp.com",
+ "ladsp.com": "ladsp.com",
+ "lanistaads.com": "lanista_concepts",
+ "latimes.com": "latimes",
+ "events.launchdarkly.com": "launch_darkly",
+ "launchbit.com": "launchbit",
+ "layer-ad.org": "layer-ad.org",
+ "ph-live.slatic.net": "lazada",
+ "lcxdigital.com": "lcx_digital",
+ "lemde.fr": "le_monde.fr",
+ "t1.llanalytics.com": "lead_liaison",
+ "leadback.ru": "leadback",
+ "leaddyno.com": "leaddyno",
+ "123-tracker.com": "leadforensics",
+ "55-trk-srv.com": "leadforensics",
+ "business-path-55.com": "leadforensics",
+ "click-to-trace.com": "leadforensics",
+ "cloud-exploration.com": "leadforensics",
+ "cloud-journey.com": "leadforensics",
+ "cloud-trail.com": "leadforensics",
+ "cloudpath82.com": "leadforensics",
+ "cloudtracer101.com": "leadforensics",
+ "discover-path.com": "leadforensics",
+ "discovertrail.net": "leadforensics",
+ "domainanalytics.net": "leadforensics",
+ "dthvdr9.com": "leadforensics",
+ "explore-123.com": "leadforensics",
+ "finger-info.net": "leadforensics",
+ "forensics1000.com": "leadforensics",
+ "ip-route.net": "leadforensics",
+ "ipadd-path.com": "leadforensics",
+ "iproute66.com": "leadforensics",
+ "lead-123.com": "leadforensics",
+ "lead-analytics-1000.com": "leadforensics",
+ "lead-watcher.com": "leadforensics",
+ "leadforensics.com": "leadforensics",
+ "ledradn.com": "leadforensics",
+ "letterbox-path.com": "leadforensics",
+ "letterboxtrail.com": "leadforensics",
+ "network-handle.com": "leadforensics",
+ "path-follower.com": "leadforensics",
+ "path-trail.com": "leadforensics",
+ "scan-trail.com": "leadforensics",
+ "site-research.net": "leadforensics",
+ "srv1010elan.com": "leadforensics",
+ "the-lead-tracker.com": "leadforensics",
+ "trace-2000.com": "leadforensics",
+ "track-web.net": "leadforensics",
+ "trackdiscovery.net": "leadforensics",
+ "trackercloud.net": "leadforensics",
+ "trackinvestigate.net": "leadforensics",
+ "trail-viewer.com": "leadforensics",
+ "trail-web.com": "leadforensics",
+ "trailbox.net": "leadforensics",
+ "trailinvestigator.com": "leadforensics",
+ "web-path.com": "leadforensics",
+ "webforensics.co.uk": "leadforensics",
+ "websiteexploration.com": "leadforensics",
+ "www-path.com": "leadforensics",
+ "gate.leadgenic.com": "leadgenic",
+ "leadhit.ru": "leadhit",
+ "js.leadin.com": "leadin",
+ "io.leadingreports.de": "leading_reports",
+ "js.leadinspector.de": "leadinspector",
+ "formalyzer.com": "leadlander",
+ "trackalyzer.com": "leadlander",
+ "analytics.leadlifesolutions.net": "leadlife",
+ "my.leadpages.net": "leadpages",
+ "leadplace.fr": "leadplace",
+ "scorecard.wspisp.net": "leads_by_web.com",
+ "www.leadscoreapp.dk": "leadscoreapp",
+ "tracker.leadsius.com": "leadsius",
+ "leady.com": "leady",
+ "leady.cz": "leady",
+ "leiki.com": "leiki",
+ "lengow.com": "lengow",
+ "lenmit.com": "lenmit.com",
+ "lentainform.com": "lentainform.com",
+ "lenua.de": "lenua.de",
+ "letreach.com": "let_reach",
+ "js.letvcdn.com": "letv",
+ "footprint.net": "level3_communications",
+ "licensebuttons.net": "licensebuttons.net",
+ "lfstmedia.com": "lifestreet_media",
+ "content-recommendation.net": "ligatus",
+ "ligadx.com": "ligatus",
+ "ligatus.com": "ligatus",
+ "ligatus.de": "ligatus",
+ "veeseo.com": "ligatus",
+ "limk.com": "limk",
+ "line-apps.com": "line_apps",
+ "line-scdn.net": "line_apps",
+ "line.me": "line_apps",
+ "tongji.linezing.com": "linezing",
+ "linkbucks.com": "linkbucks",
+ "linkconnector.com": "linkconnector",
+ "bizo.com": "linkedin",
+ "licdn.com": "linkedin",
+ "linkedin.com": "linkedin",
+ "lynda.com": "linkedin",
+ "ads.linkedin.com": "linkedin_ads",
+ "snap.licdn.com": "linkedin_analytics",
+ "bizographics.com": "linkedin_marketing_solutions",
+ "platform.linkedin.com": "linkedin_widgets",
+ "linker.hr": "linker",
+ "linkprice.com": "linkprice",
+ "lp4.io": "linkpulse",
+ "linksalpha.com": "linksalpha",
+ "erovinmo.com": "linksmart",
+ "linksmart.com": "linksmart",
+ "linkstorm.net": "linkstorm",
+ "linksynergy.com": "linksynergy.com",
+ "linkup.com": "linkup",
+ "linkwi.se": "linkwise",
+ "linkwithin.com": "linkwithin",
+ "lqm.io": "liquidm_technology_gmbh",
+ "lqmcdn.com": "liquidm_technology_gmbh",
+ "liqwid.net": "liqwid",
+ "list.ru": "list.ru",
+ "listrakbi.com": "listrak",
+ "live2support.com": "live2support",
+ "live800.com": "live800",
+ "ladesk.com": "live_agent",
+ "livehelpnow.net": "live_help_now",
+ "liadm.com": "live_intent",
+ "l-stat.livejournal.net": "live_journal",
+ "liveadexchanger.com": "liveadexchanger.com",
+ "livechat.s3.amazonaws.com": "livechat",
+ "livechatinc.com": "livechat",
+ "livechatinc.net": "livechat",
+ "livechatnow.com": "livechatnow",
+ "livechatnow.net": "livechatnow",
+ "liveclicker.net": "liveclicker",
+ "livecounter.dk": "livecounter",
+ "fyre.co": "livefyre",
+ "livefyre.com": "livefyre",
+ "yadro.ru": "liveinternet",
+ "liveperson.net": "liveperson",
+ "lpsnmedia.net": "liveperson",
+ "pippio.com": "liveramp",
+ "rapleaf.com": "liveramp",
+ "rlcdn.com": "liveramp",
+ "livere.co.kr": "livere",
+ "livere.co.kr.cizion.ixcloud.net": "livere",
+ "livesportmedia.eu": "livesportmedia.eu",
+ "analytics.livestream.com": "livestream",
+ "livetex.ru": "livetex.ru",
+ "lkqd.net": "lkqd",
+ "loadbee.com": "loadbee.com",
+ "loadercdn.com": "loadercdn.com",
+ "loadsource.org": "loadsource.org",
+ "web.localytics.com": "localytics",
+ "cdn2.lockerdome.com": "lockerdome",
+ "addtoany.com": "lockerz_share",
+ "pixel.loganmedia.mobi": "logan_media",
+ "ping.answerbook.com": "logdna",
+ "loggly.com": "loggly",
+ "logly.co.jp": "logly",
+ "logsss.com": "logsss.com",
+ "lomadee.com": "lomadee",
+ "assets.loomia.com": "loomia",
+ "loop11.com": "loop11",
+ "lfov.net": "loopfuse_oneview",
+ "crwdcntrl.net": "lotame",
+ "vidcpm.com": "lottex_inc",
+ "tracker.samplicio.us": "lucid",
+ "lucidmedia.com": "lucid_media",
+ "lead.adsender.us": "lucini",
+ "livestatserver.com": "lucky_orange",
+ "luckyorange.com": "lucky_orange",
+ "luckyorange.net": "lucky_orange",
+ "luckypushh.com": "luckypushh.com",
+ "adelixir.com": "lxr100",
+ "lypn.com": "lynchpin_analytics",
+ "lypn.net": "lynchpin_analytics",
+ "lytics.io": "lytics",
+ "lyuoaxruaqdo.com": "lyuoaxruaqdo.com",
+ "m-pathy.com": "m-pathy",
+ "mpnrs.com": "m._p._newmedia",
+ "m4n.nl": "m4n",
+ "madadsmedia.com": "mad_ads_media",
+ "madeleine.de": "madeleine.de",
+ "dinclinx.com": "madison_logic",
+ "madisonlogic.com": "madison_logic",
+ "madnet.ru": "madnet",
+ "eu2.madsone.com": "mads",
+ "magna.ru": "magna_advertise",
+ "d3ezl4ajpp2zy8.cloudfront.net": "magnetic",
+ "domdex.com": "magnetic",
+ "domdex.net": "magnetic",
+ "magnetisemedia.com": "magnetise_group",
+ "magnify360.com": "magnify360",
+ "magnuum.com": "magnuum.com",
+ "ad.mail.ru": "mail.ru_banner",
+ "imgsmail.ru": "mail.ru_group",
+ "mail.ru": "mail.ru_group",
+ "mradx.net": "mail.ru_group",
+ "odnoklassniki.ru": "mail.ru_group",
+ "ok.ru": "mail.ru_group",
+ "chimpstatic.com": "mailchimp_tracking",
+ "list-manage.com": "mailchimp_tracking",
+ "mailchimp.com": "mailchimp_tracking",
+ "mailerlite.com": "mailerlite.com",
+ "mailtrack.io": "mailtrack.io",
+ "mainadv.com": "mainadv",
+ "makazi.com": "makazi",
+ "makeappdev.xyz": "makeappdev.xyz",
+ "makesource.cool": "makesource.cool",
+ "widgets.mango-office.ru": "mango",
+ "manycontacts.com": "manycontacts",
+ "mapandroute.de": "mapandroute.de",
+ "mapbox.com": "mapbox",
+ "www.maploco.com": "maploco",
+ "px.marchex.io": "marchex",
+ "voicestar.com": "marchex",
+ "mmadsgadget.com": "marimedia",
+ "qadabra.com": "marimedia",
+ "qadserve.com": "marimedia",
+ "qadservice.com": "marimedia",
+ "marinsm.com": "marin_search_marketer",
+ "markandmini.com": "mark_+_mini",
+ "ak-cdn.placelocal.com": "market_thunder",
+ "dt00.net": "marketgid",
+ "dt07.net": "marketgid",
+ "marketgid.com": "marketgid",
+ "mgid.com": "marketgid",
+ "marketingautomation.si": "marketing_automation",
+ "marketo.com": "marketo",
+ "marketo.net": "marketo",
+ "mktoresp.com": "marketo",
+ "caanalytics.com": "markmonitor",
+ "mmstat.com": "markmonitor",
+ "netscope.data.marktest.pt": "marktest",
+ "marshadow.io": "marshadow.io",
+ "martiniadnetwork.com": "martini_media",
+ "edigitalsurvey.com": "maru-edu",
+ "marvellousmachine.net": "marvellous_machine",
+ "mbn.com.ua": "master_banner_network",
+ "mastertarget.ru": "mastertarget",
+ "rns.matelso.de": "matelso",
+ "matheranalytics.com": "mather_analytics",
+ "mathjax.org": "mathjax.org",
+ "nzaza.com": "matiro",
+ "matomo.cloud": "matomo",
+ "matomo.org": "matomo",
+ "piwik.org": "matomo",
+ "adsmarket.com": "matomy_market",
+ "m2pub.com": "matomy_market",
+ "mb01.com": "maxbounty",
+ "maxcdn.com": "maxcdn",
+ "netdna-cdn.com": "maxcdn",
+ "netdna-ssl.com": "maxcdn",
+ "maxlab.ru": "maxlab",
+ "maxmind.com": "maxmind",
+ "maxonclick.com": "maxonclick_com",
+ "mxptint.net": "maxpoint_interactive",
+ "maxymiser.hs.llnwd.net": "maxymiser",
+ "maxymiser.net": "maxymiser",
+ "m6r.eu": "mbr_targeting",
+ "pixel.adbuyer.com": "mbuy",
+ "mcabi.mcloudglobal.com": "mcabi",
+ "scanalert.com": "mcafee_secure",
+ "ywxi.net": "mcafee_secure",
+ "mconet.biz": "mconet",
+ "mdotlabs.com": "mdotlabs",
+ "media-clic.com": "media-clic",
+ "media-imdb.com": "media-imdb.com",
+ "media.net": "media.net",
+ "mediaimpact.de": "media_impact",
+ "mookie1.com": "media_innovation_group",
+ "idntfy.ru": "media_today",
+ "s1.mediaad.org": "mediaad",
+ "mlnadvertising.com": "mediaglu",
+ "fhserve.com": "mediahub",
+ "adnet.ru": "medialand",
+ "medialand.ru": "medialand",
+ "medialead.de": "medialead",
+ "mathads.com": "mediamath",
+ "mathtag.com": "mediamath",
+ "mediametrics.ru": "mediametrics",
+ "audit.median.hu": "median",
+ "mediapass.com": "mediapass",
+ "mt.mediapostcommunication.net": "mediapost_communications",
+ "mediarithmics.com": "mediarithmics.com",
+ "tns-counter.ru": "mediascope",
+ "ad.media-servers.net": "mediashakers",
+ "adsvc1107131.net": "mediashift",
+ "mediator.media": "mediator.media",
+ "mediav.com": "mediav",
+ "adnetinteractive.com": "mediawhiz",
+ "adnetinteractive.net": "mediawhiz",
+ "mediego.com": "medigo",
+ "medleyads.com": "medley",
+ "adnet.com.tr": "medyanet",
+ "e-kolay.net": "medyanet",
+ "medyanetads.com": "medyanet",
+ "cim.meebo.com": "meebo_bar",
+ "meetrics.net": "meetrics",
+ "mxcdn.net": "meetrics",
+ "research.de.com": "meetrics",
+ "counter.megaindex.ru": "megaindex",
+ "mein-bmi.com": "mein-bmi.com",
+ "webvisitor.melissadata.net": "melissa",
+ "meltdsp.com": "melt",
+ "mlt01.com": "menlo",
+ "mentad.com": "mentad",
+ "mercadoclics.com": "mercado",
+ "mercadolivre.com.br": "mercado",
+ "mlstatic.com": "mercado",
+ "merchantadvantage.com": "merchantadvantage",
+ "merchenta.com": "merchenta",
+ "roia.biz": "mercury_media",
+ "cdn.merklesearch.com": "merkle_research",
+ "rkdms.com": "merkle_rkg",
+ "messenger.com": "messenger.com",
+ "ad.metanetwork.com": "meta_network",
+ "metaffiliation.com": "metaffiliation.com",
+ "netaffiliation.com": "metaffiliation.com",
+ "metalyzer.com": "metapeople",
+ "mlsat02.de": "metapeople",
+ "metrigo.com": "metrigo",
+ "metriweb.be": "metriweb",
+ "miaozhen.com": "miaozhen",
+ "microad.co.jp": "microad",
+ "microad.jp": "microad",
+ "microad.net": "microad",
+ "microadinc.com": "microad",
+ "azurewebsites.net": "microsoft",
+ "cloudapp.net": "microsoft",
+ "gfx.ms": "microsoft",
+ "live.com": "outlook",
+ "microsoft.com": "microsoft",
+ "microsoftonline-p.com": "microsoft",
+ "microsoftonline.com": "microsoft",
+ "microsofttranslator.com": "microsoft",
+ "msecnd.net": "microsoft",
+ "msedge.net": "microsoft",
+ "msocdn.com": "microsoft",
+ "onestore.ms": "microsoft",
+ "s-microsoft.com": "microsoft",
+ "trouter.io": "microsoft",
+ "windows.net": "microsoft",
+ "analytics.live.com": "microsoft_analytics",
+ "a.clarity.ms": "microsoft_clarity",
+ "b.clarity.ms": "microsoft_clarity",
+ "c.clarity.ms": "microsoft_clarity",
+ "d.clarity.ms": "microsoft_clarity",
+ "e.clarity.ms": "microsoft_clarity",
+ "f.clarity.ms": "microsoft_clarity",
+ "g.clarity.ms": "microsoft_clarity",
+ "h.clarity.ms": "microsoft_clarity",
+ "i.clarity.ms": "microsoft_clarity",
+ "j.clarity.ms": "microsoft_clarity",
+ "log.clarity.ms": "microsoft_clarity",
+ "www.clarity.ms": "microsoft_clarity",
+ "mmismm.com": "mindset_media",
+ "imgfarm.com": "mindspark",
+ "mindspark.com": "mindspark",
+ "staticimgfarm.com": "mindspark",
+ "mvtracker.com": "mindviz_tracker",
+ "minewhat.com": "minewhat",
+ "mintsapp.io": "mints_app",
+ "snackly.co": "minute.ly",
+ "snippet.minute.ly": "minute.ly",
+ "apv.configuration.minute.ly": "minute.ly_video",
+ "get.mirando.de": "mirando",
+ "mirtesen.ru": "mirtesen.ru",
+ "misterbell.com": "mister_bell",
+ "mixi.jp": "mixi",
+ "mixpanel.com": "mixpanel",
+ "mxpnl.com": "mixpanel",
+ "mxpnl.net": "mixpanel",
+ "swf.mixpo.com": "mixpo",
+ "app.mluvii.com": "mluvii",
+ "mncdn.com": "mncdn.com",
+ "moatads.com": "moat",
+ "moatpixel.com": "moat",
+ "mobicow.com": "mobicow",
+ "a.mobify.com": "mobify",
+ "mobtrks.com": "mobtrks.com",
+ "ads.mocean.mobi": "mocean_mobile",
+ "ads.moceanads.com": "mocean_mobile",
+ "chat.mochapp.com": "mochapp",
+ "intelligentpixel.modernimpact.com": "modern_impact",
+ "teljari.is": "modernus",
+ "modulepush.com": "modulepush.com",
+ "mogointeractive.com": "mogo_interactive",
+ "mokonocdn.com": "mokono_analytics",
+ "devappgrant.space": "monero_miner",
+ "monetate.net": "monetate",
+ "monetize-me.com": "monetize_me",
+ "ads.themoneytizer.com": "moneytizer",
+ "mongoosemetrics.com": "mongoose_metrics",
+ "track.monitis.com": "monitis",
+ "monitus.net": "monitus",
+ "fonts.net": "monotype_gmbh",
+ "fonts.com": "monotype_imaging",
+ "cdn.monsido.com": "monsido",
+ "monster.com": "monster_advertising",
+ "mooxar.com": "mooxar",
+ "mopinion.com": "mopinion.com",
+ "mopub.com": "mopub",
+ "ad.ad-arata.com": "more_communication",
+ "moras.jp": "moreads",
+ "nedstatbasic.net": "motigo_webstats",
+ "webstats.motigo.com": "motigo_webstats",
+ "analytics.convertlanguage.com": "motionpoint",
+ "mouseflow.com": "mouseflow",
+ "mousestats.com": "mousestats",
+ "s.mousetrace.com": "mousetrace",
+ "movad.de": "mov.ad",
+ "movad.net": "mov.ad",
+ "micpn.com": "movable_ink",
+ "mvb.me": "movable_media",
+ "moz.com": "moz",
+ "storage.mozoo.com": "mozoo",
+ "tracker.mrpfd.com": "mrp",
+ "mrpdata.com": "mrpdata",
+ "mrpdata.net": "mrpdata",
+ "mrskincash.com": "mrskincash",
+ "msn.com": "msn",
+ "s-msn.com": "msn",
+ "musculahq.appspot.com": "muscula",
+ "litix.io": "mux_inc",
+ "mybloglog.com": "mybloglog",
+ "t.p.mybuys.com": "mybuys",
+ "mycdn.me": "mycdn.me",
+ "mycliplister.com": "mycliplister.com",
+ "mycounter.com.ua": "mycounter.ua",
+ "mycounter.ua": "mycounter.ua",
+ "myfonts.net": "myfonts",
+ "mypagerank.net": "mypagerank",
+ "stat.mystat.hu": "mystat",
+ "mythings.com": "mythings",
+ "mystat-in.net": "mytop_counter",
+ "nakanohito.jp": "nakanohito.jp",
+ "namogoo.coom": "namogoo",
+ "nanigans.com": "nanigans",
+ "audiencemanager.de": "nano_interactive",
+ "nanorep.com": "nanorep",
+ "narando.com": "narando",
+ "static.bam-x.com": "narrativ",
+ "narrative.io": "narrative_io",
+ "p1.ntvk1.ru": "natimatica",
+ "nativeads.com": "nativeads.com",
+ "cdn01.nativeroll.tv": "nativeroll",
+ "ntv.io": "nativo",
+ "postrelease.com": "nativo",
+ "navdmp.com": "navegg_dmp",
+ "naver.com": "naver.com",
+ "naver.net": "naver.com",
+ "s-nbcnews.com": "nbc_news",
+ "richmedia247.com": "ncol",
+ "needle.com": "needle",
+ "nekudo.com": "nekudo.com",
+ "neodatagroup.com": "neodata",
+ "ad-srv.net": "neory",
+ "contentspread.net": "neory",
+ "neory-tm.com": "neory",
+ "simptrack.com": "neory",
+ "nerfherdersolo.com": "nerfherdersolo_com",
+ "wemfbox.ch": "net-metrix",
+ "cdnma.com": "net-results",
+ "nr7.us": "net-results",
+ "netavenir.com": "net_avenir",
+ "netcommunities.com": "net_communities",
+ "visibility-stats.com": "net_visibility",
+ "netbiscuits.net": "netbiscuits",
+ "bbtrack.net": "netbooster_group",
+ "netbooster.com": "netbooster_group",
+ "netflix.com": "netflix",
+ "nflxext.com": "netflix",
+ "nflximg.net": "netflix",
+ "nflxso.net": "netflix",
+ "nflxvideo.net": "netflix",
+ "netzathleten-media.de": "netletix",
+ "netminers.dk": "netminers",
+ "netmining.com": "netmining",
+ "netmng.com": "netmining",
+ "stat.netmonitor.fi": "netmonitor",
+ "glanceguide.com": "netratings_sitecensus",
+ "imrworldwide.com": "netratings_sitecensus",
+ "vizu.com": "netratings_sitecensus",
+ "netrk.net": "netrk.net",
+ "netseer.com": "netseer",
+ "netshelter.net": "netshelter",
+ "nsaudience.pl": "netsprint_audience",
+ "nwidget.networkedblogs.com": "networkedblogs",
+ "adadvisor.net": "neustar_adadvisor",
+ "d1ros97qkrwjf5.cloudfront.net": "new_relic",
+ "newrelic.com": "new_relic",
+ "nr-data.net": "new_relic",
+ "newscgp.com": "newscgp.com",
+ "nmcdn.us": "newsmax",
+ "newstogram.com": "newstogram",
+ "newsupdatedir.info": "newsupdatedir.info",
+ "newsupdatewe.info": "newsupdatewe.info",
+ "ads.newtention.net": "newtention",
+ "ads.newtentionassets.net": "newtention",
+ "nexage.com": "nexage",
+ "nexeps.com": "nexeps.com",
+ "nxtck.com": "next_performance",
+ "track.nextuser.com": "next_user",
+ "imgsrv.nextag.com": "nextag_roi_optimizer",
+ "nextclick.pl": "nextclick",
+ "nextstat.com": "nextstat",
+ "d1d8vn0fpluuz7.cloudfront.net": "neytiv",
+ "ads.ngageinc.com": "ngage_inc.",
+ "nice264.com": "nice264.com",
+ "nimblecommerce.com": "nimblecommerce",
+ "cho-chin.com": "ninja_access_analysis",
+ "donburako.com": "ninja_access_analysis",
+ "hishaku.com": "ninja_access_analysis",
+ "shinobi.jp": "ninja_access_analysis",
+ "static.nirror.com": "nirror",
+ "nitropay.com": "nitropay",
+ "nk.pl": "nk.pl_widgets",
+ "noaa.gov": "noaa.gov",
+ "track.noddus.com": "noddus",
+ "contextbar.ru": "nolix",
+ "trkme.net": "nonstop_consulting",
+ "noop.style": "noop.style",
+ "nosto.com": "nosto.com",
+ "adleadevent.com": "notify",
+ "notifyfox.com": "notifyfox",
+ "nowinteract.com": "now_interact",
+ "npario-inc.net": "npario",
+ "nplexmedia.com": "nplexmedia",
+ "nrelate.com": "nrelate",
+ "ns8.com": "ns8",
+ "nt.vc": "nt.vc",
+ "featurelink.com": "ntent",
+ "tracer.jp": "nttcom_online_marketing_solutions",
+ "nuffnang.com": "nuffnang",
+ "nuggad.net": "nugg.ad",
+ "rotator.adjuggler.com": "nui_media",
+ "numbers.md": "numbers.md",
+ "channeliq.com": "numerator",
+ "nyacampwk.com": "nyacampwk.com",
+ "nyetm2mkch.com": "nyetm2mkch.com",
+ "nyt.com": "nyt.com",
+ "nytimes.com": "nyt.com",
+ "o12zs3u2n.com": "o12zs3u2n.com",
+ "o2.pl": "o2.pl",
+ "o2online.de": "o2online.de",
+ "oath.com": "oath_inc",
+ "observerapp.com": "observer",
+ "ocioso.com.br": "ocioso",
+ "oclasrv.com": "oclasrv.com",
+ "octapi.net": "octapi.net",
+ "service.octavius.rocks": "octavius",
+ "office.com": "office.com",
+ "office.net": "office.net",
+ "office365.com": "office365.com",
+ "oghub.io": "oghub.io",
+ "ohmystats.com": "oh_my_stats",
+ "adohana.com": "ohana_advertising_network",
+ "photorank.me": "olapic",
+ "olark.com": "olark",
+ "olx-st.com": "olx-st.com",
+ "onap.io": "olx-st.com",
+ "omarsys.com": "omarsys.com",
+ "ometria.com": "ometria",
+ "omgpm.com": "omg",
+ "omniconvert.com": "omniconvert.com",
+ "omnidsp.com": "omniscienta",
+ "oms.eu": "oms",
+ "omsnative.de": "oms",
+ "onaudience.com": "onaudience",
+ "btc-echode.api.oneall.com": "oneall",
+ "tracking.onefeed.co.uk": "onefeed",
+ "onesignal.com": "onesignal",
+ "os.tc": "onesignal",
+ "stat.onestat.com": "onestat",
+ "ocdn.eu": "onet.pl",
+ "onet.pl": "onet.pl",
+ "onetag.com": "onetag",
+ "s-onetag.com": "onetag",
+ "onetrust.com": "onetrust",
+ "fogl1onf.com": "onfocus.io",
+ "onfocus.io": "onfocus.io",
+ "onlinewebstat.com": "onlinewebstat",
+ "onlinewebstats.com": "onlinewebstat",
+ "onswipe.com": "onswipe",
+ "onthe.io": "onthe.io",
+ "moon-ray.com": "ontraport_autopilot",
+ "moonraymarketing.com": "ontraport_autopilot",
+ "ooyala.com": "ooyala.com",
+ "openadex.dk": "open_adexchange",
+ "247realmedia.com": "open_adstream",
+ "oaserve.com": "open_adstream",
+ "realmedia.com": "open_adstream",
+ "realmediadigital.com": "open_adstream",
+ "opensharecount.com": "open_share_count",
+ "oloadcdn.net": "openload",
+ "openload.co": "openload",
+ "openstat.net": "openstat",
+ "spylog.com": "openstat",
+ "spylog.ru": "openstat",
+ "opentracker.net": "opentracker",
+ "openwebanalytics.com": "openwebanalytics",
+ "odnxs.net": "openx",
+ "openx.net": "openx",
+ "openx.org": "openx",
+ "openxenterprise.com": "openx",
+ "servedbyopenx.com": "openx",
+ "adsummos.net": "operative_media",
+ "opinary.com": "opinary",
+ "opinionbar.com": "opinionbar",
+ "emagazines.com": "oplytic",
+ "opta.net": "opta.net",
+ "optaim.com": "optaim",
+ "cookielaw.org": "optanaon",
+ "service.optify.net": "optify",
+ "optimatic.com": "optimatic",
+ "optmd.com": "optimax_media_delivery",
+ "optimicdn.com": "optimicdn.com",
+ "optimizely.com": "optimizely",
+ "optimonk.com": "optimonk",
+ "mstrlytcs.com": "optinmonster",
+ "optmnstr.com": "optinmonster",
+ "optmstr.com": "optinmonster",
+ "optnmstr.com": "optinmonster",
+ "optincollect.com": "optinproject.com",
+ "volvelle.tech": "optomaton",
+ "ora.tv": "ora.tv",
+ "instantservice.com": "oracle_live_help",
+ "ts.istrack.com": "oracle_live_help",
+ "rightnowtech.com": "oracle_rightnow",
+ "rnengage.com": "oracle_rightnow",
+ "orange.fr": "orange",
+ "orangeads.fr": "orange",
+ "ads.orange142.com": "orange142",
+ "wanadoo.fr": "orange_france",
+ "otracking.com": "orangesoda",
+ "emxdgt.com": "orc_international",
+ "static.ordergroove.com": "order_groove",
+ "orelsite.ru": "orel_site",
+ "otclick-adv.ru": "otclick",
+ "othersearch.info": "othersearch.info",
+ "otm-r.com": "otm-r.com",
+ "otto.de": "otto.de",
+ "ottogroup.media": "otto.de",
+ "outbrain.com": "outbrain",
+ "outbrainimg.com": "outbrain",
+ "overheat.it": "overheat.it",
+ "oewabox.at": "owa",
+ "owneriq.net": "owneriq",
+ "ownpage.fr": "ownpage",
+ "owox.com": "owox.com",
+ "adconnexa.com": "oxamedia",
+ "adsbwm.com": "oxamedia",
+ "oxomi.com": "oxomi.com",
+ "pageanalytics.space": "pageanalytics.space",
+ "blockmetrics.com": "pagefair",
+ "pagefair.com": "pagefair",
+ "pagefair.net": "pagefair",
+ "ghmedia.com": "pagescience",
+ "777seo.com": "paid-to-promote",
+ "paid-to-promote.net": "paid-to-promote",
+ "ptp22.com": "paid-to-promote",
+ "ptp33.com": "paid-to-promote",
+ "paperg.com": "paperg",
+ "pardot.com": "pardot",
+ "d1z2jf7jlzjs58.cloudfront.net": "parsely",
+ "parsely.com": "parsely",
+ "partner-ads.com": "partner-ads",
+ "passionfruitads.com": "passionfruit",
+ "pathful.com": "pathful",
+ "pay-hit.com": "pay-hit",
+ "payclick.it": "payclick",
+ "app.paykickstart.com": "paykickstart",
+ "paypal.com": "paypal",
+ "paypalobjects.com": "paypal",
+ "pcvark.com": "pcvark.com",
+ "peer39.com": "peer39",
+ "peer39.net": "peer39",
+ "peer5.com": "peer5.com",
+ "peerius.com": "peerius",
+ "pendo.io": "pendo.io",
+ "pepper.com": "pepper.com",
+ "gopjn.com": "pepperjam",
+ "pjatr.com": "pepperjam",
+ "pjtra.com": "pepperjam",
+ "pntra.com": "pepperjam",
+ "pntrac.com": "pepperjam",
+ "pntrs.com": "pepperjam",
+ "player.pepsia.com": "pepsia",
+ "perfdrive.com": "perfdrive.com",
+ "perfectaudience.com": "perfect_audience",
+ "prfct.co": "perfect_audience",
+ "perfectmarket.com": "perfect_market",
+ "performgroup.com": "perform_group",
+ "analytics.performable.com": "performable",
+ "performancing.com": "performancing_metrics",
+ "performax.cz": "performax",
+ "perimeterx.net": "perimeterx.net",
+ "permutive.com": "permutive",
+ "persgroep.net": "persgroep",
+ "persianstat.com": "persianstat",
+ "code.pers.io": "persio",
+ "counter.personyze.com": "personyze",
+ "petametrics.com": "petametrics",
+ "ads.pheedo.com": "pheedo",
+ "app.phonalytics.com": "phonalytics",
+ "d2bgg7rjywcwsy.cloudfront.net": "phunware",
+ "piguiqproxy.com": "piguiqproxy.com",
+ "trgt.eu": "pilot",
+ "pingdom.net": "pingdom",
+ "pinimg.com": "pinterest",
+ "pinterest.com": "pinterest",
+ "app.pipz.io": "pipz",
+ "disabled.invalid": "piwik",
+ "piwik.pro": "piwik_pro_analytics_suite",
+ "adrta.com": "pixalate",
+ "app.pixelpop.co": "pixel_union",
+ "pixfuture.net": "pixfuture",
+ "vast1.pixfuture.com": "pixfuture",
+ "piximedia.com": "piximedia",
+ "pizzaandads.com": "pizzaandads_com",
+ "ads.placester.net": "placester",
+ "d3uemyw1e5n0jw.cloudfront.net": "placester",
+ "pladform.com": "pladform.ru",
+ "tag.bi.serviceplan.com": "plan.net_experience_cloud",
+ "pfrm.co": "platform360",
+ "impact-ad.jp": "platformone",
+ "loveadvert.ru": "play_by_mamba",
+ "playbuzz.com": "playbuzz.com",
+ "pof.com": "plenty_of_fish",
+ "analytics.plex.tv": "plex_metrics",
+ "metrics.plex.tv": "plex_metrics",
+ "plista.com": "plista",
+ "plugrush.com": "plugrush",
+ "pluso.ru": "pluso.ru",
+ "plutusads.com": "plutusads",
+ "pmddby.com": "pmddby.com",
+ "pnamic.com": "pnamic.com",
+ "po.st": "po.st",
+ "widgets.getpocket.com": "pocket",
+ "pocketcents.com": "pocketcents",
+ "pointificsecure.com": "pointific",
+ "pointroll.com": "pointroll",
+ "poirreleast.club": "poirreleast.club",
+ "mediavoice.com": "polar.me",
+ "polar.me": "polar.me",
+ "polarmobile.com": "polar.me",
+ "polldaddy.com": "polldaddy",
+ "polyad.net": "polyad",
+ "polyfill.io": "polyfill.io",
+ "popads.net": "popads",
+ "popadscdn.net": "popads",
+ "popcash.net": "popcash",
+ "desv383oqqc0.cloudfront.net": "popcorn_metrics",
+ "popin.cc": "popin.cc",
+ "cdn.popmyads.com": "popmyads",
+ "poponclick.com": "poponclick",
+ "populis.com": "populis",
+ "populisengage.com": "populis",
+ "phncdn.com": "pornhub",
+ "pornhub.com": "pornhub",
+ "prscripts.com": "pornwave",
+ "prstatics.com": "pornwave",
+ "prwidgets.com": "pornwave",
+ "barra.brasil.gov.br": "porta_brazil",
+ "postaffiliatepro.com": "post_affiliate_pro",
+ "powerlinks.com": "powerlinks",
+ "powerreviews.com": "powerreviews",
+ "powr.io": "powr.io",
+ "api.pozvonim.com": "pozvonim",
+ "prebid.org": "prebid",
+ "precisionclick.com": "precisionclick",
+ "adserver.com.br": "predicta",
+ "predicta.net": "predicta",
+ "prnx.net": "premonix",
+ "ppjol.com": "press",
+ "ppjol.net": "press",
+ "api.pressly.com": "pressly",
+ "pricegrabber.com": "pricegrabber",
+ "cdn.pricespider.com": "pricespider",
+ "pmdrecrute.com": "prismamediadigital.com",
+ "prismamediadigital.com": "prismamediadigital.com",
+ "privy.com": "privy.com",
+ "pswec.com": "proclivity",
+ "prodperfect.com": "prodperfect",
+ "lib.productsup.io": "productsup",
+ "proadsnet.com": "profiliad",
+ "profitshare.ro": "profitshare",
+ "tracking.proformics.com": "proformics",
+ "programattik.com": "programattik",
+ "projectwonderful.com": "project_wonderful",
+ "propelmarketing.com": "propel_marketing",
+ "oclaserver.com": "propeller_ads",
+ "onclasrv.com": "propeller_ads",
+ "onclickads.net": "propeller_ads",
+ "onclkds.com": "propeller_ads",
+ "propellerads.com": "propeller_ads",
+ "propellerpops.com": "propeller_ads",
+ "proper.io": "propermedia",
+ "st-a.props.id": "props",
+ "propvideo.net": "propvideo_net",
+ "tr.prospecteye.com": "prospecteye",
+ "prosperent.com": "prosperent",
+ "prostor-lite.ru": "prostor",
+ "providesupport.com": "provide_support",
+ "proximic.com": "proximic",
+ "proxistore.com": "proxistore.com",
+ "pscp.tv": "pscp.tv",
+ "pstatic.net": "pstatic.net",
+ "psyma.com": "psyma",
+ "ptengine.jp": "pt_engine",
+ "pub-fit.com": "pub-fit",
+ "pub.network": "pub.network",
+ "learnpipe.com": "pubble",
+ "pubble.co": "pubble",
+ "pubdirecte.com": "pubdirecte",
+ "pubgears.com": "pubgears",
+ "publicidees.com": "public_ideas",
+ "publicidad.net": "publicidad.net",
+ "intgr.net": "publir",
+ "pubmatic.com": "pubmatic",
+ "pubnub.com": "pubnub.com",
+ "puboclic.com": "puboclic",
+ "pulpix.com": "pulpix.com",
+ "tentaculos.net": "pulpo_media",
+ "pulse360.com": "pulse360",
+ "pulseinsights.com": "pulse_insights",
+ "contextweb.com": "pulsepoint",
+ "pulsepoint.com": "pulsepoint",
+ "punchtab.com": "punchtab",
+ "purch.com": "purch",
+ "servebom.com": "purch",
+ "purechat.com": "pure_chat",
+ "cdn.pprl.io": "pureprofile",
+ "oopt.fr": "purlive",
+ "puserving.com": "puserving.com",
+ "push.world": "push.world",
+ "pushengage.com": "push_engage",
+ "pushame.com": "pushame.com",
+ "zebra.pushbullet.com": "pushbullet",
+ "pushcrew.com": "pushcrew",
+ "pusher.com": "pusher.com",
+ "pusherapp.com": "pusher.com",
+ "pushnative.com": "pushnative.com",
+ "cdn.pushnews.eu": "pushnews",
+ "pushno.com": "pushno.com",
+ "pushwhy.com": "pushwhy.com",
+ "pushwoosh.com": "pushwoosh.com",
+ "pvclouds.com": "pvclouds.com",
+ "ads.q1media.com": "q1media",
+ "q1mediahydraplatform.com": "q1media",
+ "q-divisioncdn.de": "q_division",
+ "qbaka.net": "qbaka",
+ "track.qcri.org": "qcri_analytics",
+ "collect.qeado.com": "qeado",
+ "s.lianmeng.360.cn": "qihoo_360",
+ "qq.com": "qq.com",
+ "qrius.me": "qrius",
+ "qualaroo.com": "qualaroo",
+ "bluecava.com": "qualia",
+ "qualtrics.com": "qualtrics",
+ "quantcast.com": "quantcast",
+ "quantserve.com": "quantcast",
+ "quantcount.com": "quantcount",
+ "quantummetric.com": "quantum_metric",
+ "quartic.pl": "quartic.pl",
+ "quarticon.com": "quartic.pl",
+ "d3c3cq33003psk.cloudfront.net": "qubit",
+ "qubit.com": "qubit",
+ "easyresearch.se": "questback",
+ "queue-it.net": "queue-it",
+ "quick-counter.net": "quick-counter.net",
+ "adsonar.com": "quigo_adsonar",
+ "qnsr.com": "quinstreet",
+ "quinstreet.com": "quinstreet",
+ "thecounter.com": "quinstreet",
+ "quintelligence.com": "quintelligence",
+ "qservz.com": "quisma",
+ "quisma.com": "quisma",
+ "quora.com": "quora.com",
+ "ads-digitalkeys.com": "r_advertising",
+ "rackcdn.com": "rackcdn.com",
+ "radarurl.com": "radarurl",
+ "dsa.csdata1.com": "radial",
+ "gwallet.com": "radiumone",
+ "r1-cdn.net": "radiumone",
+ "widget.raisenow.com": "raisenow",
+ "mediaforge.com": "rakuten_display",
+ "rmtag.com": "rakuten_display",
+ "rakuten.co.jp": "rakuten_globalmarket",
+ "trafficgate.net": "rakuten_globalmarket",
+ "mtwidget04.affiliate.rakuten.co.jp": "rakuten_widget",
+ "xml.affilliate.rakuten.co.jp": "rakuten_widget",
+ "rambler.ru": "rambler",
+ "top100.ru": "rambler",
+ "rapidspike.com": "rapidspike",
+ "ravelin.com": "ravelin",
+ "rawgit.com": "rawgit",
+ "raygun.io": "raygun",
+ "count.rbc.ru": "rbc_counter",
+ "rcs.it": "rcs.it",
+ "rcsmediagroup.it": "rcs.it",
+ "d335luupugsy2.cloudfront.net": "rd_station",
+ "d12ulf131zb0yj.cloudfront.net": "reachforce",
+ "reachforce.com": "reachforce",
+ "reachjunction.com": "reachjunction",
+ "cdn.rlets.com": "reachlocal",
+ "reachlocal.com": "reachlocal",
+ "reachlocallivechat.com": "reachlocal",
+ "rlcdn.net": "reachlocal",
+ "plugin.reactful.com": "reactful",
+ "reactivpub.fr": "reactivpub",
+ "skinected.com": "reactx",
+ "readrboard.com": "readerboard",
+ "readme.com": "readme",
+ "readme.io": "readme",
+ "readspeaker.com": "readspeaker.com",
+ "realclick.co.kr": "realclick",
+ "realperson.de": "realperson.de",
+ "powermarketing.com": "realtime",
+ "realtime.co": "realtime",
+ "webspectator.com": "realtime",
+ "dcniko1cv0rz.cloudfront.net": "realytics",
+ "realytics.io": "realytics",
+ "static.rbl.ms": "rebel_mouse",
+ "recettes.net": "recettes.net",
+ "static.recopick.com": "recopick",
+ "recreativ.ru": "recreativ",
+ "analytics.recruitics.com": "recruitics",
+ "analytics.cohesionapps.com": "red_ventures",
+ "cdn.cohesionapps.com": "red_ventures",
+ "redblue.de": "redblue_de",
+ "atendesoftware.pl": "redcdn.pl",
+ "redd.it": "reddit",
+ "reddit-image.s3.amazonaws.com": "reddit",
+ "reddit.com": "reddit",
+ "redditmedia.com": "reddit",
+ "redditstatic.com": "reddit",
+ "redhelper.ru": "redhelper",
+ "pixelinteractivemedia.com": "redlotus",
+ "triggit.com": "redlotus",
+ "grt01.com": "redtram",
+ "grt02.com": "redtram",
+ "redtram.com": "redtram",
+ "rdtcdn.com": "redtube.com",
+ "redtube.com": "redtube.com",
+ "reduxmedia.com": "redux_media",
+ "reduxmediagroup.com": "redux_media",
+ "reedbusiness.net": "reed_business_information",
+ "reembed.com": "reembed.com",
+ "reevoo.com": "reevoo.com",
+ "refericon.pl": "refericon",
+ "ads.referlocal.com": "referlocal",
+ "refersion.com": "refersion",
+ "refinedads.com": "refined_labs",
+ "product.reflektion.com": "reflektion",
+ "reformal.ru": "reformal",
+ "reinvigorate.net": "reinvigorate",
+ "convertglobal.com": "rekko",
+ "convertglobal.s3.amazonaws.com": "rekko",
+ "dnhgz729v27ca.cloudfront.net": "rekko",
+ "reklamstore.com": "reklam_store",
+ "ad.reklamport.com": "reklamport",
+ "delivery.reklamz.com": "reklamz",
+ "adimg.rekmob.com": "rekmob",
+ "relap.io": "relap",
+ "svtrd.com": "relay42",
+ "synovite-scripts.com": "relay42",
+ "tdn.r42tag.com": "relay42",
+ "relestar.com": "relestar",
+ "relevant4.com": "relevant4.com",
+ "remintrex.com": "remintrex",
+ "remove.video": "remove.video",
+ "rp-api.com": "repost.us",
+ "republer.com": "republer.com",
+ "resmeter.respublica.al": "res-meter",
+ "researchnow.com": "research_now",
+ "reson8.com": "resonate_networks",
+ "respondhq.com": "respond",
+ "adinsight.com": "responsetap",
+ "adinsight.eu": "responsetap",
+ "responsetap.com": "responsetap",
+ "data.resultlinks.com": "result_links",
+ "sli-system.com": "resultspage.com",
+ "retailrocket.net": "retailrocket.net",
+ "retailrocket.ru": "retailrocket.net",
+ "shopify.retargetapp.com": "retarget_app",
+ "retargeter.com": "retargeter_beacon",
+ "retargeting.cl": "retargeting.cl",
+ "d1stxfv94hrhia.cloudfront.net": "retention_science",
+ "waves.retentionscience.com": "retention_science",
+ "reutersmedia.net": "reuters_media",
+ "revcontent.com": "revcontent",
+ "socialtwist.com": "reve_marketing",
+ "revenue.com": "revenue",
+ "clkads.com": "revenuehits",
+ "clkmon.com": "revenuehits",
+ "clkrev.com": "revenuehits",
+ "clksite.com": "revenuehits",
+ "eclkspbn.com": "revenuehits",
+ "imageshack.host": "revenuehits",
+ "revenuemantra.com": "revenuemantra",
+ "revive-adserver.com": "revive_adserver",
+ "revolvermaps.com": "revolver_maps",
+ "cts.tradepub.com": "revresponse",
+ "revresponse.com": "revresponse",
+ "incontext.pl": "rewords",
+ "pl-engine.intextad.net": "rewords",
+ "addesktop.com": "rhythmone",
+ "1rx.io": "rhythmone_beacon",
+ "ria.ru": "ria.ru",
+ "rmbn.ru": "rich_media_banner_network",
+ "ics0.com": "richrelevance",
+ "richrelevance.com": "richrelevance",
+ "ringier.ch": "ringier.ch",
+ "meteorsolutions.com": "rio_seo",
+ "riskified.com": "riskfield.com",
+ "rncdn3.com": "rncdn3.com",
+ "ro2.biz": "ro2.biz",
+ "rbxcdn.com": "roblox",
+ "getrockerbox.com": "rockerbox",
+ "rocket.la": "rocket.ia",
+ "trk.sodoit.com": "roi_trax",
+ "collector.roistat.com": "roistat",
+ "rollad.ru": "rollad",
+ "d37gvrvc0wt4s1.cloudfront.net": "rollbar",
+ "get.roost.me": "roost",
+ "getrooster.com": "rooster",
+ "rqtrk.eu": "roq.ad",
+ "rotaban.ru": "rotaban",
+ "routenplaner-karten.com": "routenplaner-karten.com",
+ "rovion.com": "rovion",
+ "rsspump.com": "rsspump",
+ "creativecdn.com": "rtb_house",
+ "rvty.net": "rtblab",
+ "rtbsuperhub.com": "rtbsuperhub.com",
+ "rtl.de": "rtl_group",
+ "static-fra.de": "rtl_group",
+ "technical-service.net": "rtl_group",
+ "rtmark.net": "rtmark.net",
+ "dpclk.com": "rubicon",
+ "mobsmith.com": "rubicon",
+ "nearbyad.com": "rubicon",
+ "rubiconproject.com": "rubicon",
+ "tracker.ruhrgebiet-onlineservices.de": "ruhrgebiet",
+ "click.rummycircle.com": "rummycircle",
+ "runadtag.com": "run",
+ "rundsp.com": "run",
+ "un-syndicate.com": "runative",
+ "cdn.secretrune.com": "rune",
+ "runmewivel.com": "runmewivel.com",
+ "rhythmxchange.com": "rythmxchange",
+ "s24.com": "s24_com",
+ "s3xified.com": "s3xified.com",
+ "camp.sabavision.com": "sabavision",
+ "sageanalyst.net": "sagemetrics",
+ "sail-horizon.com": "sailthru_horizon",
+ "sail-personalize.com": "sailthru_horizon",
+ "sailthru.com": "sailthru_horizon",
+ "d16fk4ms6rqz1v.cloudfront.net": "salecycle",
+ "salecycle.com": "salecycle",
+ "api.salesfeed.com": "sales_feed",
+ "salesmanago.com": "sales_manago",
+ "salesmanago.pl": "sales_manago",
+ "force.com": "salesforce.com",
+ "salesforce.com": "salesforce.com",
+ "liveagentforsalesforce.com": "salesforce_live_agent",
+ "salesforceliveagent.com": "salesforce_live_agent",
+ "msgapp.com": "salesfusion",
+ "salespidermedia.com": "salespider_media",
+ "salesviewer.com": "salesviewer",
+ "samba.tv": "samba.tv",
+ "ilsemedia.nl": "sanoma.fi",
+ "sanoma.fi": "sanoma.fi",
+ "d13im3ek7neeqp.cloudfront.net": "sap_crm",
+ "d28ethi6slcjbm.cloudfront.net": "sap_crm",
+ "d2uevgmgh16uk4.cloudfront.net": "sap_crm",
+ "d3m83gvgzupli.cloudfront.net": "sap_crm",
+ "saas.seewhy.com": "sap_crm",
+ "leadforce1.com": "sap_sales_cloud",
+ "vlog.leadformix.com": "sap_sales_cloud",
+ "sap-xm.org": "sap_xm",
+ "sape.ru": "sape.ru",
+ "js.sl.pt": "sapo_ads",
+ "aimatch.com": "sas",
+ "sas.com": "sas",
+ "say.ac": "say.ac",
+ "ads.saymedia.com": "say_media",
+ "srv.sayyac.net": "sayyac",
+ "scarabresearch.com": "scarabresearch",
+ "schibsted.com": "schibsted",
+ "schibsted.io": "schibsted",
+ "schneevonmorgen.com": "schneevonmorgen.com",
+ "svonm.com": "schneevonmorgen.com",
+ "rockabox.co": "scoota",
+ "scorecardresearch.com": "scorecard_research_beacon",
+ "scoreresearch.com": "scorecard_research_beacon",
+ "scrsrch.com": "scorecard_research_beacon",
+ "securestudies.com": "scorecard_research_beacon",
+ "scout.scoutanalytics.net": "scout_analytics",
+ "scribblelive.com": "scribblelive",
+ "scribol.com": "scribol",
+ "analytics.snidigital.com": "scripps_analytics",
+ "scroll.com": "scroll",
+ "scupio.com": "scupio",
+ "search123.uk.com": "search123",
+ "searchforce.net": "searchforce",
+ "searchignite.com": "searchignite",
+ "srtk.net": "searchrev",
+ "tacticalrepublic.com": "second_media",
+ "securedtouch.com": "securedtouch",
+ "securedvisit.com": "securedvisit",
+ "bacontent.de": "seeding_alliance",
+ "nativendo.de": "seeding_alliance",
+ "seedtag.com": "seedtag.com",
+ "svlu.net": "seevolution",
+ "d2dq2ahtl5zl1z.cloudfront.net": "segment",
+ "d47xnnr8b1rki.cloudfront.net": "segment",
+ "segment.com": "segment",
+ "segment.io": "segment",
+ "rutarget.ru": "segmento",
+ "segmint.net": "segmint",
+ "sekindo.com": "sekindo",
+ "sellpoint.net": "sellpoints",
+ "sellpoints.com": "sellpoints",
+ "semantiqo.com": "semantiqo.com",
+ "semasio.net": "semasio",
+ "semilo.com": "semilo",
+ "semknox.com": "semknox.com",
+ "sibautomation.com": "sendinblue",
+ "sendpulse.com": "sendpulse.com",
+ "sendsay.ru": "sendsay",
+ "track.sensedigital.in": "sense_digital",
+ "static.sensorsdata.cn": "sensors_data",
+ "sentifi.com": "sentifi.com",
+ "d3nslu0hdya83q.cloudfront.net": "sentry",
+ "getsentry.com": "sentry",
+ "ravenjs.com": "sentry",
+ "sentry.io": "sentry",
+ "sepyra.com": "sepyra",
+ "d2oh4tlt9mrke9.cloudfront.net": "sessioncam",
+ "sessioncam.com": "sessioncam",
+ "sessionly.io": "sessionly",
+ "71i.de": "sevenone_media",
+ "sexad.net": "sexadnetwork",
+ "ads.sexinyourcity.com": "sexinyourcity",
+ "sextracker.com": "sextracker",
+ "sexypartners.net": "sexypartners.net",
+ "im.cz": "seznam",
+ "imedia.cz": "seznam",
+ "szn.cz": "seznam",
+ "dtym7iokkjlif.cloudfront.net": "shareaholic",
+ "shareaholic.com": "shareaholic",
+ "shareasale.com": "shareasale",
+ "quintrics.nl": "sharecompany",
+ "sharecompany.nl": "sharecompany",
+ "sharepointonline.com": "sharepoint",
+ "sharethis.com": "sharethis",
+ "shareth.ru": "sharethrough",
+ "sharethrough.com": "sharethrough",
+ "marketingautomation.services": "sharpspring",
+ "sharpspring.com": "sharpspring",
+ "sheego.de": "sheego.de",
+ "services.sheerid.com": "sheerid",
+ "shinystat.com": "shinystat",
+ "shinystat.it": "shinystat",
+ "app.shoptarget.com.br": "shop_target",
+ "retargeter.com.br": "shop_target",
+ "shopauskunft.de": "shopauskunft.de",
+ "shopgate.com": "shopgate.com",
+ "shopify.com": "shopify_stats",
+ "shopifycdn.com": "shopifycdn.com",
+ "shopifycloud.com": "shopifycloud.com",
+ "shopperapproved.com": "shopper_approved",
+ "shoppingshadow.com": "shopping_com",
+ "tracking.shopping-flux.com": "shopping_flux",
+ "shoprunner.com": "shoprunner",
+ "shopsocially.com": "shopsocially",
+ "shopzilla.com": "shopzilla",
+ "shortnews.de": "shortnews",
+ "shink.in": "shrink",
+ "shutterstock.com": "shutterstock",
+ "siblesectiveal.club": "siblesectiveal.club",
+ "d3v27wwd40f0xu.cloudfront.net": "sidecar",
+ "getsidecar.com": "sidecar",
+ "dtlilztwypawv.cloudfront.net": "sift_science",
+ "siftscience.com": "sift_science",
+ "btstatic.com": "signal",
+ "signal.co": "signal",
+ "thebrighttag.com": "signal",
+ "cdn-scripts.signifyd.com": "signifyd",
+ "signifyd.com": "signifyd",
+ "gw-services.vtrenz.net": "silverpop",
+ "mkt51.net": "silverpop",
+ "mkt912.com": "silverpop",
+ "mkt922.com": "silverpop",
+ "mkt941.com": "silverpop",
+ "pages01.net": "silverpop",
+ "pages02.net": "silverpop",
+ "pages04.net": "silverpop",
+ "pages05.net": "silverpop",
+ "similardeals.net": "similardeals.net",
+ "d8rk54i4mohrb.cloudfront.net": "simplereach",
+ "simplereach.com": "simplereach",
+ "simpli.fi": "simpli.fi",
+ "sina.com.cn": "sina",
+ "sinaimg.cn": "sina_cdn",
+ "reporting.singlefeed.com": "singlefeed",
+ "sddan.com": "sirdata",
+ "site24x7rum.com": "site24x7",
+ "site24x7rum.eu": "site24x7",
+ "sitebooster-fjfmworld-production.azureedge.net": "site_booster",
+ "a5.ogt.jp": "site_stratos",
+ "siteapps.com": "siteapps",
+ "sitebro.com": "sitebro",
+ "sitebro.com.tw": "sitebro",
+ "sitebro.net": "sitebro",
+ "sitebro.tw": "sitebro",
+ "siteheart.com": "siteheart",
+ "siteimprove.com": "siteimprove",
+ "siteimproveanalytics.com": "siteimprove_analytics",
+ "sitelabweb.com": "sitelabweb.com",
+ "sitemeter.com": "sitemeter",
+ "pixel.ad": "sitescout",
+ "sitescout.com": "sitescout",
+ "ad.sitemaji.com": "sitetag",
+ "sitetag.us": "sitetag",
+ "analytics.sitewit.com": "sitewit",
+ "ads.sixapart.com": "six_apart_advertising",
+ "sixt-neuwagen.de": "sixt-neuwagen.de",
+ "skadtec.com": "skadtec.com",
+ "redirectingat.com": "skimlinks",
+ "skimlinks.com": "skimlinks",
+ "skimresources.com": "skimlinks",
+ "analytics.skroutz.gr": "skroutz",
+ "skyglue.com": "skyglue",
+ "skype.com": "skype",
+ "skypeassets.com": "skype",
+ "skysa.com": "skysa",
+ "skyscnr.com": "skyscnr.com",
+ "slashdot.org": "slashdot_widget",
+ "sleeknotestaticcontent.sleeknote.com": "sleeknote",
+ "resultspage.com": "sli_systems",
+ "builder.extensionfactory.com": "slice_factory",
+ "freeskreen.com": "slimcutmedia",
+ "slingpic.com": "slingpic",
+ "smaato.net": "smaato",
+ "smart4ads.com": "smart4ads",
+ "sascdn.com": "smart_adserver",
+ "smartadserver.com": "smart_adserver",
+ "styria-digital.com": "smart_adserver",
+ "yoc-adserver.com": "smart_adserver",
+ "smartcall.kz": "smart_call",
+ "getsmartcontent.com": "smart_content",
+ "smartdevicemedia.com": "smart_device_media",
+ "x.cnt.my": "smart_leads",
+ "tracking.smartselling.cz": "smart_selling",
+ "bepolite.eu": "smartad",
+ "smartbn.ru": "smartbn",
+ "smartclick.net": "smartclick.net",
+ "smartclip.net": "smartclip",
+ "smartcontext.pl": "smartcontext",
+ "d1n00d49gkbray.cloudfront.net": "smarter_remarketer",
+ "dhxtx5wtu812h.cloudfront.net": "smarter_remarketer",
+ "smartertravel.com": "smarter_travel",
+ "travelsmarter.net": "smarter_travel",
+ "smct.co": "smarterclick",
+ "smartertrack.com": "smartertrack",
+ "smartlink.cool": "smartlink.cool",
+ "getsmartlook.com": "smartlook",
+ "smartlook.com": "smartlook",
+ "smartstream.tv": "smartstream.tv",
+ "smartsuppchat.com": "smartsupp_chat",
+ "smi2.net": "smi2.ru",
+ "smi2.ru": "smi2.ru",
+ "stat.media": "smi2.ru",
+ "cdn.smooch.io": "smooch",
+ "smowtion.com": "smowtion",
+ "smxindia.in": "smx_ventures",
+ "smyte.com": "smyte",
+ "snacktv.de": "snacktv",
+ "snap.com": "snap",
+ "snapengage.com": "snap_engage",
+ "sc-static.net": "snapchat",
+ "snapchat.com": "snapchat",
+ "h-bid.com": "snigelweb",
+ "eu2.snoobi.eu": "snoobi",
+ "snoobi.com": "snoobi_analytics",
+ "d346whrrklhco7.cloudfront.net": "snowplow",
+ "d78fikflryjgj.cloudfront.net": "snowplow",
+ "dc8xl0ndzn2cb.cloudfront.net": "snowplow",
+ "playwire.com": "snowplow",
+ "snplow.net": "snowplow",
+ "go-mpulse.net": "soasta_mpulse",
+ "mpstat.us": "soasta_mpulse",
+ "tiaa-cref.org": "soasta_mpulse",
+ "sociablelabs.com": "sociable_labs",
+ "socialamp.com": "social_amp",
+ "socialannex.com": "social_annex",
+ "soclminer.com.br": "social_miner",
+ "duu8lzqdm8tsz.cloudfront.net": "socialbeat",
+ "ratevoice.com": "socialrms",
+ "sociaplus.com": "sociaplus.com",
+ "sociomantic.com": "sociomantic",
+ "images.sohu.com": "sohu",
+ "sojern.com": "sojern",
+ "sokrati.com": "sokrati",
+ "solads.media": "solads.media",
+ "solidopinion.com": "solidopinion",
+ "pixel.solvemedia.com": "solve_media",
+ "soma2.de": "soma_2",
+ "mobileadtrading.com": "somoaudience",
+ "sonobi.com": "sonobi",
+ "sophus3.com": "sophus3",
+ "deployads.com": "sortable",
+ "sndcdn.com": "soundcloud",
+ "soundcloud.com": "soundcloud",
+ "provenpixel.com": "sourceknowledge_pixel",
+ "decenthat.com": "sourcepoint",
+ "summerhamster.com": "sourcepoint",
+ "d3pkae9owd2lcf.cloudfront.net": "sovrn",
+ "lijit.com": "sovrn",
+ "onscroll.com": "sovrn_viewability_solutions",
+ "rts.sparkstudios.com": "spark_studios",
+ "sparkasse.de": "sparkasse.de",
+ "speakpipe.com": "speakpipe",
+ "adviva.net": "specific_media",
+ "specificclick.net": "specific_media",
+ "specificmedia.com": "specific_media",
+ "spectate.com": "spectate",
+ "speedshiftmedia.com": "speed_shift_media",
+ "speedcurve.com": "speedcurve",
+ "admarket.entireweb.com": "speedyads",
+ "affiliate.entireweb.com": "speedyads",
+ "sa.entireweb.com": "speedyads",
+ "speee-ad.akamaized.net": "speee",
+ "sphere.com": "sphere",
+ "surphace.com": "sphere",
+ "api.spheremall.com": "spheremall",
+ "zdwidget3-bs.sphereup.com": "sphereup",
+ "static.sspicy.ru": "spicy",
+ "spider.ad": "spider.ad",
+ "metrics.spiderads.eu": "spider_ads",
+ "spn.ee": "spinnakr",
+ "embed.spokenlayer.com": "spokenlayer",
+ "spongecell.com": "spongecell",
+ "sponsorads.de": "sponsorads.de",
+ "sportsbetaffiliates.com.au": "sportsbet_affiliates",
+ "spot.im": "spot.im",
+ "spoteffects.net": "spoteffect",
+ "scdn.co": "spotify",
+ "spotify.com": "spotify",
+ "embed.spotify.com": "spotify_embed",
+ "spotscenered.info": "spotscenered.info",
+ "spotx.tv": "spotxchange",
+ "spotxcdn.com": "spotxchange",
+ "spotxchange.com": "spotxchange",
+ "spoutable.com": "spoutable",
+ "cdn.springboardplatform.com": "springboard",
+ "springserve.com": "springserve",
+ "pixel.sprinklr.com": "sprinklr",
+ "stat.sputnik.ru": "sputnik",
+ "email-match.com": "squadata",
+ "squarespace.com": "squarespace.com",
+ "srvtrck.com": "srvtrck.com",
+ "srvvtrk.com": "srvvtrk.com",
+ "sstatic.net": "sstatic.net",
+ "hatena.ne.jp": "st-hatena",
+ "st-hatena.com": "st-hatena",
+ "stackadapt.com": "stackadapt",
+ "stackpathdns.com": "stackpathdns.com",
+ "stailamedia.com": "stailamedia_com",
+ "stalluva.pro": "stalluva.pro",
+ "startappservice.com": "startapp",
+ "hit.stat24.com": "stat24",
+ "adstat.4u.pl": "stat4u",
+ "stat.4u.pl": "stat4u",
+ "statcounter.com": "statcounter",
+ "stathat.com": "stathat",
+ "statisfy.net": "statisfy",
+ "statsy.net": "statsy.net",
+ "statuscake.com": "statuscake",
+ "statuspage.io": "statuspage.io",
+ "stayfriends.de": "stayfriends.de",
+ "steelhousemedia.com": "steelhouse",
+ "steepto.com": "steepto.com",
+ "stepstone.com": "stepstone.com",
+ "4stats.de": "stetic",
+ "stetic.com": "stetic",
+ "stickyadstv.com": "stickyads",
+ "stocktwits.com": "stocktwits",
+ "storify.com": "storify",
+ "storygize.net": "storygize",
+ "bizsolutions.strands.com": "strands_recommender",
+ "strava.com": "strava",
+ "mailfoogae.appspot.com": "streak",
+ "streamrail.com": "streamrail.com",
+ "streamrail.net": "streamrail.com",
+ "stridespark.com": "stride",
+ "stripcdn.com": "stripchat.com",
+ "stripchat.com": "stripchat.com",
+ "stripe.com": "stripe.com",
+ "stripe.network": "stripe.com",
+ "stripst.com": "stripst.com",
+ "interactivemedia.net": "stroer_digital_media",
+ "stroeerdigitalgroup.de": "stroer_digital_media",
+ "stroeerdigitalmedia.de": "stroer_digital_media",
+ "stroeerdp.de": "stroer_digital_media",
+ "stroeermediabrands.de": "stroer_digital_media",
+ "spklw.com": "strossle",
+ "sprinklecontent.com": "strossle",
+ "strossle.it": "strossle",
+ "struq.com": "struq",
+ "stumble-upon.com": "stumbleupon_widgets",
+ "stumbleupon.com": "stumbleupon_widgets",
+ "su.pr": "stumbleupon_widgets",
+ "sub2tech.com": "sub2",
+ "ayads.co": "sublime_skinz",
+ "suggest.io": "suggest.io",
+ "sumologic.com": "sumologic.com",
+ "sumo.com": "sumome",
+ "sumome.com": "sumome",
+ "sundaysky.com": "sundaysky",
+ "supercounters.com": "supercounters",
+ "superfastcdn.com": "superfastcdn.com",
+ "socdm.com": "supership",
+ "supplyframe.com": "supplyframe",
+ "surfingbird.ru": "surf_by_surfingbird",
+ "px.surveywall-api.survata.com": "survata",
+ "cdn.sweettooth.io": "sweettooth",
+ "swiftypecdn.com": "swiftype",
+ "swisscom.ch": "swisscom",
+ "myswitchads.com": "switch_concepts",
+ "switchadhub.com": "switch_concepts",
+ "switchads.com": "switch_concepts",
+ "switchafrica.com": "switch_concepts",
+ "shopximity.com": "swoop",
+ "swoop.com": "swoop",
+ "analytics-cdn.sykescottages.co.uk": "sykes",
+ "norton.com": "symantec",
+ "seal.verisign.com": "symantec",
+ "symantec.com": "symantec",
+ "d.hodes.com": "symphony_talent",
+ "technorati.com": "synacor",
+ "technoratimedia.com": "synacor",
+ "cn.clickable.net": "syncapse",
+ "synergy-e.com": "synergy-e",
+ "sdp-campaign.de": "t-mobile",
+ "t-online.de": "t-mobile",
+ "telekom-dienste.de": "t-mobile",
+ "telekom.com": "t-mobile",
+ "telekom.de": "t-mobile",
+ "toi.de": "t-mobile",
+ "t8cdn.com": "t8cdn.com",
+ "tableteducation.com": "tableteducation.com",
+ "basebanner.com": "taboola",
+ "taboola.com": "taboola",
+ "taboolasyndication.com": "taboola",
+ "tacoda.net": "tacoda",
+ "commander1.com": "tag_commander",
+ "tagcommander.com": "tag_commander",
+ "tags.tagcade.com": "tagcade",
+ "taggify.net": "taggify",
+ "taggyad.jp": "taggy",
+ "levexis.com": "tagman",
+ "tailtarget.com": "tail_target",
+ "tailsweep.com": "tailsweep",
+ "tamedia.ch": "tamedia.ch",
+ "tanx.com": "tanx",
+ "alipcsec.com": "taobao",
+ "tapad.com": "tapad",
+ "theblogfrog.com": "tapinfluence",
+ "tarafdari.com": "tarafdari",
+ "target2sell.com": "target_2_sell",
+ "trackmytarget.com": "target_circle",
+ "cdn.targetfuel.com": "target_fuel",
+ "tawk.to": "tawk",
+ "tbn.ru": "tbn.ru",
+ "tchibo-content.de": "tchibo_de",
+ "tchibo.de": "tchibo_de",
+ "tdsrmbl.net": "tdsrmbl_net",
+ "teads.tv": "teads",
+ "tealeaf.ibmcloud.com": "tealeaf",
+ "tealium.com": "tealium",
+ "tealium.hs.llnwd.net": "tealium",
+ "tealiumiq.com": "tealium",
+ "tiqcdn.com": "tealium",
+ "teaser.cc": "teaser.cc",
+ "emailretargeting.com": "tedemis",
+ "tracking.dsmmadvantage.com": "teletech",
+ "tenderapp.com": "tender",
+ "tensitionschoo.club": "tensitionschoo.club",
+ "watch.teroti.com": "teroti",
+ "webterren.com": "terren",
+ "teufel.de": "teufel.de",
+ "theadex.com": "the_adex",
+ "connect.decknetwork.net": "the_deck",
+ "gu-web.net": "the_guardian",
+ "guardianapps.co.uk": "the_guardian",
+ "guim.co.uk": "the_guardian",
+ "deepthought.online": "the_reach_group",
+ "reachgroup.com": "the_reach_group",
+ "redintelligence.net": "the_reach_group",
+ "thesearchagency.net": "the_search_agency",
+ "thesun.co.uk": "the_sun",
+ "w-x.co": "the_weather_company",
+ "weather.com": "the_weather_company",
+ "wfxtriggers.com": "the_weather_company",
+ "tmdb.org": "themoviedb",
+ "thinglink.com": "thinglink",
+ "online-metrix.net": "threatmetrix",
+ "tidbit.co.in": "tidbit",
+ "code.tidio.co": "tidio",
+ "widget-v4.tidiochat.com": "tidio",
+ "analytics.tiktok.com": "tiktok_analytics",
+ "optimized.by.tiller.co": "tiller",
+ "vip.timezonedb.com": "timezondb",
+ "npttech.com": "tinypass",
+ "tinypass.com": "tinypass",
+ "tisoomi-services.com": "tisoomi",
+ "ad.tlvmedia.com": "tlv_media",
+ "ads.tlvmedia.com": "tlv_media",
+ "tag.tlvmedia.com": "tlv_media",
+ "research-int.se": "tns",
+ "sesamestats.com": "tns",
+ "spring-tns.net": "tns",
+ "statistik-gallup.net": "tns",
+ "tns-cs.net": "tns",
+ "tns-gallup.dk": "tns",
+ "tomnewsupdate.info": "tomnewsupdate.info",
+ "tfag.de": "tomorrow_focus",
+ "srv.clickfuse.com": "tonefuse",
+ "toplist.cz": "toplist.cz",
+ "toponclick.com": "toponclick_com",
+ "topsy.com": "topsy",
+ "insight.torbit.com": "torbit",
+ "toro-tags.com": "toro",
+ "toroadvertising.com": "toro",
+ "toroadvertisingmedia.com": "toro",
+ "tororango.com": "tororango.com",
+ "i.total-media.net": "total_media",
+ "inq.com": "touchcommerce",
+ "tovarro.com": "tovarro.com",
+ "rialpay.com": "tp-cdn.com",
+ "tp-cdn.com": "tp-cdn.com",
+ "kiwe.io": "tracc.it",
+ "tracc.it": "tracc.it",
+ "ipnoid.com": "tracemyip",
+ "tracemyip.org": "tracemyip",
+ "d2gfdmu30u15x7.cloudfront.net": "traceview",
+ "tracelytics.com": "traceview",
+ "cdn.trackduck.com": "track_duck",
+ "d2zah9y47r7bi2.cloudfront.net": "trackjs",
+ "dl1d2m8ri9v3j.cloudfront.net": "trackjs",
+ "trackjs.com": "trackjs",
+ "conversionlab.trackset.com": "trackset_conversionlab",
+ "trackuity.com": "trackuity",
+ "adsrvr.org": "tradedesk",
+ "tradedoubler.com": "tradedoubler",
+ "tradelab.fr": "tradelab",
+ "tradetracker.net": "tradetracker",
+ "cdntrf.com": "traffective",
+ "traffective.com": "traffective",
+ "my.trafficfuel.com": "traffic_fuel",
+ "trafficrevenue.net": "traffic_revenue",
+ "trafficstars.com": "traffic_stars",
+ "tsyndicate.com": "traffic_stars",
+ "trafficbroker.com": "trafficbroker",
+ "trafficfabrik.com": "trafficfabrik.com",
+ "trafficfactory.biz": "trafficfactory",
+ "trafficforce.com": "trafficforce",
+ "traffichaus.com": "traffichaus",
+ "trafficjunky.net": "trafficjunky",
+ "traffiliate.com": "traffiliate",
+ "storage.trafic.ro": "trafic",
+ "trafmag.com": "trafmag.com",
+ "api.transcend.io": "transcend",
+ "cdn.transcend.io": "transcend",
+ "telemetry.transcend.io": "transcend_telemetry",
+ "backoffice.transmatico.com": "transmatic",
+ "travelaudience.com": "travel_audience",
+ "trbo.com": "trbo",
+ "treasuredata.com": "treasuredata",
+ "scanscout.com": "tremor_video",
+ "tremorhub.com": "tremor_video",
+ "tremormedia.com": "tremor_video",
+ "tremorvideo.com": "tremor_video",
+ "videohub.tv": "tremor_video",
+ "s.tcimg.com": "trendcounter",
+ "tcimg.com": "trendcounter",
+ "trendemon.com": "trendemon",
+ "exponential.com": "tribal_fusion",
+ "tribalfusion.com": "tribal_fusion",
+ "tribl.io": "triblio",
+ "api.temails.com": "trigger_mail_marketing",
+ "t.myvisitors.se": "triggerbee",
+ "jscache.com": "tripadvisor",
+ "tacdn.com": "tripadvisor",
+ "tamgrt.com": "tripadvisor",
+ "tripadvisor.co.uk": "tripadvisor",
+ "tripadvisor.com": "tripadvisor",
+ "tripadvisor.de": "tripadvisor",
+ "3lift.com": "triplelift",
+ "d3iwjrnl4m67rd.cloudfront.net": "triplelift",
+ "triplelift.com": "triplelift",
+ "static.triptease.io": "triptease",
+ "andomedia.com": "triton_digital",
+ "tritondigital.com": "triton_digital",
+ "revelations.trovus.co.uk": "trovus_revelations",
+ "trsv3.com": "trsv3.com",
+ "truefitcorp.com": "true_fit",
+ "tru.am": "trueanthem",
+ "adlegend.com": "trueffect",
+ "addoer.com": "truehits.net",
+ "truehits.in.th": "truehits.net",
+ "truehits.net": "truehits.net",
+ "trumba.com": "trumba",
+ "truoptik.com": "truoptik",
+ "trustarc.com": "trustarc",
+ "truste.com": "trustarc",
+ "consent.truste.com": "truste_consent",
+ "choices-or.truste.com": "truste_notice",
+ "choices.truste.com": "truste_notice",
+ "privacy-policy.truste.com": "truste_seal",
+ "trustedshops.com": "trusted_shops",
+ "trustev.com": "trustev",
+ "secure.comodo.net": "trustlogo",
+ "trustlogo.com": "trustlogo",
+ "trustpilot.com": "trustpilot",
+ "trustwave.com": "trustwave.com",
+ "tubecorporate.com": "tubecorporate",
+ "tubecup.org": "tubecup.org",
+ "tubemogul.com": "tubemogul",
+ "sre-perim.com": "tumblr_analytics",
+ "txmblr.com": "tumblr_analytics",
+ "platform.tumblr.com": "tumblr_buttons",
+ "lib.tunein.com": "tune_in",
+ "adagio.turboadv.com": "turbo",
+ "turn.com": "turn_inc.",
+ "ngtv.io": "turner",
+ "turner.com": "turner",
+ "warnermedia.com": "turner",
+ "turnsocial.com": "turnsocial",
+ "turnto.com": "turnto",
+ "tvsquared.com": "tvsquared.com",
+ "tweetboard.com": "tweetboard",
+ "tweetmeme.com": "tweetmeme",
+ "c4tw.net": "twenga",
+ "twiago.com": "twiago",
+ "twinedigital.go2cloud.org": "twine",
+ "ext-twitch.tv": "twitch.tv",
+ "twitch.tv": "twitch.tv",
+ "jtvnw.net": "twitch_cdn",
+ "ttvnw.net": "twitch_cdn",
+ "twitchcdn.net": "twitch_cdn",
+ "twitchsvc.net": "twitch_cdn",
+ "t.co": "twitter",
+ "twimg.com": "twitter",
+ "twitter.com": "twitter",
+ "ads-twitter.com": "twitter_ads",
+ "analytics.twitter.com": "twitter_analytics",
+ "tellapart.com": "twitter_for_business",
+ "syndication.twitter.com": "twitter_syndication",
+ "twittercounter.com": "twittercounter",
+ "twyn.com": "twyn",
+ "txxx.com": "txxx.com",
+ "tynt.com": "tynt",
+ "typeform.com": "typeform",
+ "typepad.com": "typepad_stats",
+ "typography.com": "typography.com",
+ "tyroodirect.com": "tyroo",
+ "tyroodr.com": "tyroo",
+ "tzetze.it": "tzetze",
+ "ubersetzung-app.com": "ubersetzung-app.com",
+ "aralego.net": "ucfunnel",
+ "ucfunnel.com": "ucfunnel",
+ "at.ua": "ucoz",
+ "do.am": "ucoz",
+ "ucoz.net": "ucoz",
+ "ad-api-v01.uliza.jp": "uliza",
+ "api.umbel.com": "umbel",
+ "umebiggestern.club": "umebiggestern.club",
+ "unanimis.co.uk": "unanimis",
+ "d3pkntwtp2ukl5.cloudfront.net": "unbounce",
+ "t.unbounce.com": "unbounce",
+ "d21gpk1vhmjuf5.cloudfront.net": "unbxd",
+ "tracker.unbxdapi.com": "unbxd",
+ "under-box.com": "under-box.com",
+ "undercomputer.com": "undercomputer.com",
+ "udmserve.net": "underdog_media",
+ "undertone.com": "undertone",
+ "roitesting.com": "unica",
+ "unica.com": "unica",
+ "unister-adservices.com": "unister",
+ "unister-gmbh.de": "unister",
+ "uadx.com": "unite",
+ "nonstoppartner.net": "united_digital_group",
+ "tifbs.net": "united_internet_media_gmbh",
+ "ui-portal.de": "united_internet_media_gmbh",
+ "uimserv.net": "united_internet_media_gmbh",
+ "univide.com": "univide",
+ "unpkg.com": "unpkg.com",
+ "unrulymedia.com": "unruly_media",
+ "src.kitcode.net": "untriel_finger_printing",
+ "s.clickability.com": "upland_clickability_beacon",
+ "uppr.de": "uppr.de",
+ "upravel.com": "upravel.com",
+ "upsellit.com": "upsellit",
+ "kontagent.net": "upsight",
+ "app.uptain.de": "uptain",
+ "uptolike.com": "uptolike.com",
+ "uptrends.com": "uptrends",
+ "urban-media.com": "urban-media.com",
+ "urbanairship.com": "urban_airship",
+ "mobile.usabilitytools.com": "usability_tools",
+ "usabilla.com": "usabilla",
+ "usemax.de": "usemax",
+ "usemaxserver.de": "usemax",
+ "usemessages.com": "usemessages.com",
+ "api.usercycle.com": "usercycle",
+ "userdive.com": "userdive",
+ "userecho.com": "userecho",
+ "dq4irj27fs462.cloudfront.net": "userlike.com",
+ "userlike-cdn-widgets.s3-eu-west-1.amazonaws.com": "userlike.com",
+ "userlike.com": "userlike.com",
+ "contactusplus.com": "userpulse",
+ "user-pulse.appspot.com": "userpulse",
+ "userpulse.com": "userpulse",
+ "userreplay.net": "userreplay",
+ "sdsbucket.s3.amazonaws.com": "userreport",
+ "userreport.com": "userreport",
+ "dtkm4pd19nw6z.cloudfront.net": "userrules",
+ "api.usersnap.com": "usersnap",
+ "d3mvnvhjmkxpjz.cloudfront.net": "usersnap",
+ "uservoice.com": "uservoice",
+ "userzoom.com": "userzoom.com",
+ "usocial.pro": "usocial",
+ "utarget.ru": "utarget",
+ "uuidksinc.net": "uuidksinc.net",
+ "v12group.com": "v12_group",
+ "vacaneedasap.com": "vacaneedasap.com",
+ "ads.brand.net": "valassis",
+ "vdrn.redplum.com": "valassis",
+ "api.searchlinks.com": "validclick",
+ "js.searchlinks.com": "validclick",
+ "vinsight.de": "valiton",
+ "valueclick.net": "valueclick_media",
+ "valuecommerce.com": "valuecommerce",
+ "valuedopinions.co.uk": "valued_opinions",
+ "buzzparadise.com": "vanksen",
+ "vmmpxl.com": "varick_media_management",
+ "vcita.com": "vcita",
+ "tracking.vcommission.com": "vcommission",
+ "vdopia.com": "vdopia",
+ "veinteractive.com": "ve_interactive",
+ "vee24.com": "vee24",
+ "velocecdn.com": "velocecdn.com",
+ "mdcn.mobi": "velti_mgage_visualize",
+ "velti.com": "velti_mgage_visualize",
+ "vendemore.com": "vendemore",
+ "venturead.com": "venturead.com",
+ "api.venyoo.ru": "venyoo",
+ "veoxa.com": "veoxa",
+ "vergic.com": "vergic.com",
+ "d3qxef4rp70elm.cloudfront.net": "vero",
+ "getvero.com": "vero",
+ "verticalacuity.com": "vertical_acuity",
+ "roi.vertical-leap.co.uk": "vertical_leap",
+ "cts.vresp.com": "verticalresponse",
+ "verticalscope.com": "verticalscope",
+ "ads.vertoz.com": "vertoz",
+ "banner.vrtzads.com": "vertoz",
+ "veruta.com": "veruta",
+ "vrvm.com": "verve_mobile",
+ "vgwort.de": "vg_wort",
+ "digitaltarget.ru": "vi",
+ "btg.mtvnservices.com": "viacom_tag_container",
+ "viafoura.com": "viafoura",
+ "viafoura.net": "viafoura",
+ "intellitxt.com": "vibrant_ads",
+ "vicomi.com": "vicomi.com",
+ "vidazoo.com": "vidazoo.com",
+ "module-videodesk.com": "video_desk",
+ "vidtok.ru": "video_potok",
+ "videoadex.com": "videoadex.com",
+ "tidaltv.com": "videology",
+ "videonow.ru": "videonow",
+ "videoplayerhub.com": "videoplayerhub.com",
+ "videoplaza.tv": "videoplaza",
+ "kweb.videostep.com": "videostep",
+ "content.vidgyor.com": "vidgyor",
+ "vidible.tv": "vidible",
+ "assets.vidora.com": "vidora",
+ "vietad.vn": "vietad",
+ "viglink.com": "viglink",
+ "vigo.one": "vigo",
+ "vigo.ru": "vigo",
+ "vimeo.com": "vimeo",
+ "vimeocdn.com": "vimeo",
+ "vindicosuite.com": "vindico_group",
+ "vinted.net": "vinted",
+ "viraladnetwork.net": "viral_ad_network",
+ "app.viral-loops.com": "viral_loops",
+ "viralgains.com": "viralgains",
+ "viralmint.com": "viralmint",
+ "virgul.com": "virgul",
+ "ssp.virool.com": "virool_player",
+ "virtusize.com": "virtusize",
+ "viewablemedia.net": "visible_measures",
+ "visiblemeasures.com": "visible_measures",
+ "visioncriticalpanels.com": "vision_critical",
+ "visitstreamer.com": "visit_streamer",
+ "visitortracklog.com": "visitortrack",
+ "visitorville.com": "visitorville",
+ "d2hkbi3gan6yg6.cloudfront.net": "visscore",
+ "myvisualiq.net": "visual_iq",
+ "visualrevenue.com": "visual_revenue",
+ "d5phz18u4wuww.cloudfront.net": "visual_website_optimizer",
+ "visualwebsiteoptimizer.com": "visual_website_optimizer",
+ "wingify.com": "visual_website_optimizer",
+ "vdna-assets.com": "visualdna",
+ "visualdna.com": "visualdna",
+ "visualstudio.com": "visualstudio.com",
+ "id-visitors.com": "visualvisitor",
+ "vi-tag.net": "vivalu",
+ "vivistats.com": "vivistats",
+ "vizury.com": "vizury",
+ "vizzit.se": "vizzit",
+ "cdn-vk.com": "vk.com",
+ "vk-analytics.com": "vk.com",
+ "vkuservideo.net": "vk.com",
+ "userapi.com": "vkontakte",
+ "vk.com": "vkontakte",
+ "vkontakte.ru": "vkontakte",
+ "vntsm.com": "vntsm.com",
+ "vodafone.de": "vodafone.de",
+ "voicefive.com": "voicefive",
+ "volusion.com": "volusion_chat",
+ "cwkuki.com": "voluum",
+ "volumtrk.com": "voluum",
+ "voluumtrk3.com": "voluum",
+ "vooxe.com": "vooxe.com",
+ "vorwerk.de": "vorwerk.de",
+ "vox-cdn.com": "vox",
+ "embed.voxus.tv": "voxus",
+ "voxus-targeting-voxusmidia.netdna-ssl.com": "voxus",
+ "c-dsp.vpadn.com": "vpon",
+ "tools.vpscash.nl": "vpscash",
+ "vtracy.de": "vtracy.de",
+ "vuukle.com": "vuukle",
+ "view.vzaar.com": "vzaar",
+ "w3counter.com": "w3counter",
+ "w3roi.com": "w3roi",
+ "contentwidgets.net": "wahoha",
+ "wahoha.com": "wahoha",
+ "walkme.com": "walkme.com",
+ "wsod.com": "wall_street_on_demand",
+ "walmart.com": "walmart",
+ "wamcash.com": "wamcash",
+ "cdn-saveit.wanelo.com": "wanelo",
+ "static.warp.ly": "warp.ly",
+ "way2traffic.com": "way2traffic",
+ "wayfair.com": "wayfair_com",
+ "wdr.de": "wdr.de",
+ "web-stat.com": "web-stat",
+ "web.de": "web.de",
+ "webde.de": "web.de",
+ "webstat.net": "web.stat",
+ "ssl.webserviceaward.com": "web_service_award",
+ "webtraxs.com": "web_traxs",
+ "wipe.de": "web_wipe_analytics",
+ "webads.nl": "webads",
+ "tr.webantenna.info": "webantenna",
+ "webclicks24.com": "webclicks24_com",
+ "webclose.net": "webclose.net",
+ "webcollage.net": "webcollage",
+ "goutee.top": "webedia",
+ "mediaathay.org.uk": "webedia",
+ "wbdx.fr": "webedia",
+ "webeffective.keynote.com": "webeffective",
+ "widgets.webengage.com": "webengage",
+ "webgains.com": "webgains",
+ "webgozar.com": "webgozar",
+ "webgozar.ir": "webgozar",
+ "webhelpje.be": "webhelpje",
+ "webhelpje.nl": "webhelpje",
+ "webleads-tracker.com": "webleads_tracker",
+ "automation.webmecanik.com": "webmecanik",
+ "adrcdn.com": "weborama",
+ "adrcntr.com": "weborama",
+ "weborama.com": "weborama",
+ "weborama.fr": "weborama",
+ "webprospector.de": "webprospector",
+ "webstat.com": "webstat",
+ "webstat.se": "webstat.se",
+ "stat.webtrack.biz": "webtrack",
+ "webtraffic.no": "webtraffic",
+ "webtraffic.se": "webtraffic",
+ "d1r27qvpjiaqj3.cloudfront.net": "webtrekk",
+ "mateti.net": "webtrekk",
+ "wbtrk.net": "webtrekk",
+ "wcfbc.net": "webtrekk",
+ "webtrekk-asia.net": "webtrekk",
+ "webtrekk.com": "webtrekk",
+ "webtrekk.de": "webtrekk",
+ "webtrekk.net": "webtrekk",
+ "wt-eu02.net": "webtrekk",
+ "wt-safetag.com": "webtrekk",
+ "webtrends.com": "webtrends",
+ "webtrendslive.com": "webtrends",
+ "rd.clickshift.com": "webtrends_ads",
+ "web-visor.com": "webvisor",
+ "weebly.com": "weebly_ads",
+ "widget.weibo.com": "weibo_widget",
+ "westlotto.com": "westlotto_com",
+ "wetter.com": "wetter_com",
+ "wettercomassets.com": "wetter_com",
+ "whatsbroadcast.com": "whatbroadcast",
+ "amung.us": "whos.amung.us",
+ "whoson.com": "whoson",
+ "api.wibbitz.com": "wibbitz",
+ "cdn4.wibbitz.com": "wibbitz",
+ "cdn.wibiya.com": "wibiya_toolbar",
+ "predictad.com": "widdit",
+ "widerplanet.com": "widerplanet",
+ "widespace.com": "widespace",
+ "widgetserver.com": "widgetbox",
+ "3c45d848d99.se": "wiget_media",
+ "wigetmedia.com": "wiget_media",
+ "tracker.wigzopush.com": "wigzo",
+ "wikia-services.com": "wikia-services.com",
+ "wikia-beacon.com": "wikia_beacon",
+ "nocookie.net": "wikia_cdn",
+ "wikimedia.org": "wikimedia.org",
+ "wikipedia.org": "wikimedia.org",
+ "wikiquote.org": "wikimedia.org",
+ "tracking.winaffiliates.com": "winaffiliates",
+ "api.wipmania.com": "wipmania",
+ "col1.wiqhit.com": "wiqhit",
+ "wirecard.com": "wirecard",
+ "wirecard.de": "wirecard",
+ "leadlab.click": "wiredminds",
+ "wiredminds.com": "wiredminds",
+ "wiredminds.de": "wiredminds",
+ "adtotal.pl": "wirtualna_polska",
+ "wisepops.com": "wisepops",
+ "cdn.wishpond.net": "wishpond",
+ "wistia.com": "wistia",
+ "wistia.net": "wistia",
+ "parastorage.com": "wix.com",
+ "wix.com": "wix.com",
+ "public.wixab-cloud.com": "wixab",
+ "wixmp.com": "wixmp",
+ "wnzmauurgol.com": "wnzmauurgol.com",
+ "wonderpush.com": "wonderpush",
+ "woopic.com": "woopic.com",
+ "woopra.com": "woopra",
+ "pubmine.com": "wordpress_ads",
+ "w.org": "wordpress_stats",
+ "wordpress.com": "wordpress_stats",
+ "wp.com": "wordpress_stats",
+ "tracker.wordstream.com": "wordstream",
+ "worldnaturenet.xyz": "worldnaturenet_xyz",
+ "wp.pl": "wp.pl",
+ "wpimg.pl": "wp.pl",
+ "wpengine.com": "wp_engine",
+ "clickanalyzer.jp": "writeup_clickanalyzer",
+ "wurfl.io": "wurfl",
+ "wwwpromoter.com": "wwwpromoter",
+ "imgwykop.pl": "wykop",
+ "wykop.pl": "wykop",
+ "wysistat.com": "wysistat.com",
+ "wysistat.net": "wysistat.com",
+ "wywy.com": "wywy.com",
+ "wywyuserservice.com": "wywy.com",
+ "cdn.x-lift.jp": "x-lift",
+ "xapads.com": "xapads",
+ "xen-media.com": "xen-media.com",
+ "xfreeservice.com": "xfreeservice.com",
+ "xhamster.com": "xhamster",
+ "xhamsterlive.com": "xhamster",
+ "xhamsterpremium.com": "xhamster",
+ "xhcdn.com": "xhamster",
+ "xing-share.com": "xing",
+ "xing.com": "xing",
+ "xmediaclicks.com": "xmediaclicks",
+ "xnxx-cdn.com": "xnxx_cdn",
+ "xplosion.de": "xplosion",
+ "xtendmedia.com": "xtend",
+ "xvideos-cdn.com": "xvideos_com",
+ "xvideos.com": "xvideos_com",
+ "xxxlshop.de": "xxxlshop.de",
+ "xxxlutz.de": "xxxlutz",
+ "adx.com.ru": "yabbi",
+ "yabbi.me": "yabbi",
+ "yabuka.com": "yabuka",
+ "tumblr.com": "yahoo",
+ "yahoo.com": "yahoo",
+ "yahooapis.com": "yahoo",
+ "yimg.com": "yahoo",
+ "ads.yahoo.com": "yahoo_ad_exchange",
+ "yads.yahoo.com": "yahoo_ad_exchange",
+ "yieldmanager.com": "yahoo_ad_exchange",
+ "pr-bh.ybp.yahoo.com": "yahoo_ad_manager",
+ "analytics.yahoo.com": "yahoo_analytics",
+ "np.lexity.com": "yahoo_commerce_central",
+ "storage-yahoo.jp": "yahoo_japan_retargeting",
+ "yahoo.co.jp": "yahoo_japan_retargeting",
+ "yahooapis.jp": "yahoo_japan_retargeting",
+ "yimg.jp": "yahoo_japan_retargeting",
+ "yjtag.jp": "yahoo_japan_retargeting",
+ "ov.yahoo.co.jp": "yahoo_overture",
+ "overture.com": "yahoo_overture",
+ "luminate.com": "yahoo_small_business",
+ "pixazza.com": "yahoo_small_business",
+ "awaps.yandex.ru": "yandex",
+ "d31j93rd8oukbv.cloudfront.net": "yandex",
+ "webvisor.org": "yandex",
+ "yandex.net": "yandex",
+ "yandex.ru": "yandex",
+ "yastatic.net": "yandex",
+ "yandex.st": "yandex.api",
+ "yandexadexchange.net": "yandex_adexchange",
+ "metabar.ru": "yandex_advisor",
+ "an.webvisor.org": "yandex_direct",
+ "an.yandex.ru": "yandex_direct",
+ "bs.yandex.ru": "yandex_direct",
+ "mc.yandex.ru": "yandex_metrika",
+ "passport.yandex.ru": "yandex_passport",
+ "yapfiles.ru": "yapfiles.ru",
+ "yashi.com": "yashi",
+ "ad.adserverplus.com": "ybrant_media",
+ "player.sambaads.com": "ycontent",
+ "cdn.yektanet.com": "yektanet",
+ "fetch.yektanet.com": "yektanet",
+ "yengo.com": "yengo",
+ "yengointernational.com": "yengo",
+ "link.p0.com": "yesmail",
+ "adsrevenue.net": "yesup_advertising",
+ "infinityads.com": "yesup_advertising",
+ "momentsharing.com": "yesup_advertising",
+ "multipops.com": "yesup_advertising",
+ "onlineadultadvertising.com": "yesup_advertising",
+ "paypopup.com": "yesup_advertising",
+ "popupxxx.com": "yesup_advertising",
+ "xtargeting.com": "yesup_advertising",
+ "xxxwebtraffic.com": "yesup_advertising",
+ "app.yesware.com": "yesware",
+ "yldbt.com": "yieldbot",
+ "yieldify.com": "yieldify",
+ "yieldlab.net": "yieldlab",
+ "yieldlove-ad-serving.net": "yieldlove",
+ "yieldlove.com": "yieldlove",
+ "yieldmo.com": "yieldmo",
+ "254a.com": "yieldr",
+ "collect.yldr.io": "yieldr_air",
+ "yieldsquare.com": "yieldsquare",
+ "analytics-sdk.yle.fi": "yle",
+ "yllix.com": "yllixmedia",
+ "ymetrica1.com": "ymetrica1.com",
+ "ymzrrizntbhde.com": "ymzrrizntbhde.com",
+ "yoapp.s3.amazonaws.com": "yo_button",
+ "natpal.com": "yodle",
+ "analytics.yola.net": "yola_analytics",
+ "pixel.yola.net": "yola_analytics",
+ "delivery.yomedia.vn": "yomedia",
+ "yoochoose.net": "yoochoose.net",
+ "yotpo.com": "yotpo",
+ "yottaa.net": "yottaa",
+ "yottlyscript.com": "yottly",
+ "api.youcanbook.me": "youcanbookme",
+ "youcanbook.me": "youcanbookme",
+ "player.youku.com": "youku",
+ "youporn.com": "youporn",
+ "ypncdn.com": "youporn",
+ "googlevideo.com": "youtube",
+ "youtube-nocookie.com": "youtube",
+ "youtube.com": "youtube",
+ "ytimg.com": "youtube",
+ "c.ypcdn.com": "yp",
+ "i1.ypcdn.com": "yp",
+ "yellowpages.com": "yp",
+ "prod-js.aws.y-track.com": "ysance",
+ "y-track.com": "ysance",
+ "yume.com": "yume",
+ "yumenetworks.com": "yume,_inc.",
+ "gravityrd-services.com": "yusp",
+ "api.zadarma.com": "zadarma",
+ "zalan.do": "zalando_de",
+ "zalando.de": "zalando_de",
+ "ztat.net": "zalando_de",
+ "zaloapp.com": "zalo",
+ "zanox-affiliate.de": "zanox",
+ "zanox.com": "zanox",
+ "zanox.ws": "zanox",
+ "zaparena.com": "zaparena",
+ "zapunited.com": "zaparena",
+ "track.zappos.com": "zappos",
+ "zdassets.com": "zdassets.com",
+ "zebestof.com": "zebestof.com",
+ "zedo.com": "zedo",
+ "zemanta.com": "zemanta",
+ "zencdn.net": "zencoder",
+ "zendesk.com": "zendesk",
+ "zergnet.com": "zergnet",
+ "zero.kz": "zero.kz",
+ "app.insightgrit.com": "zeta",
+ "app.ubertags.com": "zeta",
+ "cdn.boomtrain.com": "zeta",
+ "events.api.boomtrain.com": "zeta",
+ "rfihub.com": "zeta",
+ "rfihub.net": "zeta",
+ "ru4.com": "zeta",
+ "xplusone.com": "zeta",
+ "zeusclicks.com": "zeusclicks",
+ "webtest.net": "ziff_davis",
+ "zdbb.net": "ziff_davis",
+ "ziffdavis.com": "ziff_davis",
+ "ziffdavisinternational.com": "ziff_davis",
+ "ziffprod.com": "ziff_davis",
+ "ziffstatic.com": "ziff_davis",
+ "analytics.ziftsolutions.com": "zift_solutions",
+ "zimbio.com": "zimbio.com",
+ "api.zippyshare.com": "zippyshare_widget",
+ "zmags.com": "zmags",
+ "zmctrack.net": "zmctrack.net",
+ "zog.link": "zog.link",
+ "js.zohostatic.eu": "zoho",
+ "zononi.com": "zononi.com",
+ "zopim.com": "zopim",
+ "zukxd6fkxqn.com": "zukxd6fkxqn.com",
+ "zwaar.net": "zwaar",
+ "zwaar.org": "zwaar",
+ "extend.tv": "zypmedia",
+ "slack.com": "slack",
+ "slackb.com": "slack",
+ "slack-edge.com": "slack",
+ "slack-imgs.com": "slack",
+ "adguard.app": "adguard",
+ "adguard.io": "adguard",
+ "adguard.org": "adguard",
+ "adguard-dns.com": "adguard",
+ "adguard-dns.io": "adguard",
+ "adguard-vpn.com": "adguard",
+ "adguardvpn.com": "adguard",
+ "adguard-vpn.online": "adguard",
+ "nflximg.com": "netflix",
+ "element.io": "element",
+ "riot.im": "element",
+ "akadns.net": "akamai_technologies",
+ "akamaiedge.net": "akamai_technologies",
+ "apple.news": "apple",
+ "apple-dns.net": "apple",
+ "aaplimg.com": "apple",
+ "icloud.com": "apple",
+ "icloud-content.com": "apple",
+ "mzstatic.com": "apple",
+ "matrix.org": "matrix",
+ "l-msedge.net": "microsoft",
+ "iadsdk.apple.com": "apple_ads",
+ "showrss.info": "showrss",
+ "solaredge.com": "solaredge",
+ "crashlytics.com": "crashlytics",
+ "flurry.com": "flurry",
+ "hockeyapp.net": "hockeyapp",
+ "app-measurement.com": "firebase",
+ "appmetrica.yandex.com": "yandex_appmetrica",
+ "letsencrypt.org": "lets_encrypt",
+ "lencr.org": "lets_encrypt",
+ "mobileapptracking.com": "branch",
+ "plex.tv": "plex",
+ "plex.direct": "plex",
+ "edgecastcdn.net": "markmonitor",
+ "appcenter.ms": "appcenter",
+ "unityads.unity3d.com": "unity_ads",
+ "azure.com": "azure",
+ "trafficmanager.net": "azure",
+ "hotmail.com": "outlook",
+ "bttn.io": "button",
+ "pki.goog": "google_trust_services",
+ "xtracloud.net": "qualcomm",
+ "qualcomm.com": "qualcomm"
+ }
+}
\ No newline at end of file
diff --git a/go.mod b/go.mod
index cf15d902..2d54d4c4 100644
--- a/go.mod
+++ b/go.mod
@@ -1,10 +1,10 @@
module github.com/AdguardTeam/AdGuardHome
-go 1.18
+go 1.19
require (
- // TODO(a.garipov): Return to a tagged version once DNS64 is in.
- github.com/AdguardTeam/dnsproxy v0.46.6-0.20230125113741-98cb8a899e49
+ // TODO(a.garipov): Use v0.48.0 when it's released.
+ github.com/AdguardTeam/dnsproxy v0.47.1-0.20230207130636-533058b17239
github.com/AdguardTeam/golibs v0.11.4
github.com/AdguardTeam/urlfilter v0.16.1
github.com/NYTimes/gziphandler v1.1.1
@@ -19,27 +19,26 @@ require (
github.com/google/uuid v1.3.0
github.com/insomniacslk/dhcp v0.0.0-20221215072855-de60144f33f8
github.com/kardianos/service v1.2.2
- github.com/lucas-clemente/quic-go v0.31.1
github.com/mdlayher/ethernet v0.0.0-20220221185849-529eae5b6118
github.com/mdlayher/netlink v1.7.1
// TODO(a.garipov): This package is deprecated; find a new one or use
// our own code for that. Perhaps, use gopacket.
github.com/mdlayher/raw v0.1.0
github.com/miekg/dns v1.1.50
+ github.com/quic-go/quic-go v0.32.0
github.com/stretchr/testify v1.8.1
github.com/ti-mo/netfilter v0.5.0
go.etcd.io/bbolt v1.3.7
- golang.org/x/crypto v0.5.0
- golang.org/x/exp v0.0.0-20230131160201-f062dba9d201
- golang.org/x/net v0.5.0
- golang.org/x/sys v0.4.0
- gopkg.in/natefinch/lumberjack.v2 v2.0.0
+ golang.org/x/crypto v0.6.0
+ golang.org/x/exp v0.0.0-20230213192124-5e25df0256eb
+ golang.org/x/net v0.7.0
+ golang.org/x/sys v0.5.0
+ gopkg.in/natefinch/lumberjack.v2 v2.2.1
gopkg.in/yaml.v3 v3.0.1
howett.net/plist v1.0.0
)
require (
- github.com/BurntSushi/toml v1.1.0 // indirect
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect
github.com/aead/poly1305 v0.0.0-20180717145839-3fee0db0b635 // indirect
github.com/ameshkov/dnsstamps v1.0.3 // indirect
@@ -48,20 +47,22 @@ require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 // indirect
github.com/golang/mock v1.6.0 // indirect
- github.com/google/pprof v0.0.0-20230131232505-5a9e8f65f08f // indirect
+ github.com/google/pprof v0.0.0-20230207041349-798e818bf904 // indirect
github.com/josharian/native v1.1.0 // indirect
- github.com/marten-seemann/qpack v0.3.0 // indirect
- github.com/marten-seemann/qtls-go1-18 v0.1.4 // indirect
- github.com/marten-seemann/qtls-go1-19 v0.1.2 // indirect
github.com/mdlayher/packet v1.1.1 // indirect
github.com/mdlayher/socket v0.4.0 // indirect
- github.com/onsi/ginkgo/v2 v2.8.0 // indirect
+ github.com/onsi/ginkgo/v2 v2.8.1 // indirect
github.com/patrickmn/go-cache v2.1.0+incompatible // indirect
+ github.com/pierrec/lz4/v4 v4.1.17 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
- github.com/u-root/uio v0.0.0-20221213070652-c3537552635f // indirect
- golang.org/x/mod v0.7.0 // indirect
+ github.com/quic-go/qpack v0.4.0 // indirect
+ github.com/quic-go/qtls-go1-18 v0.2.0 // indirect
+ github.com/quic-go/qtls-go1-19 v0.2.0 // indirect
+ github.com/quic-go/qtls-go1-20 v0.1.0 // indirect
+ github.com/u-root/uio v0.0.0-20230215032506-9aa6f7e2d72c // indirect
+ golang.org/x/mod v0.8.0 // indirect
golang.org/x/sync v0.1.0 // indirect
- golang.org/x/text v0.6.0 // indirect
- golang.org/x/tools v0.5.0 // indirect
+ golang.org/x/text v0.7.0 // indirect
+ golang.org/x/tools v0.6.0 // indirect
)
diff --git a/go.sum b/go.sum
index a5b49b33..68a4b1ab 100644
--- a/go.sum
+++ b/go.sum
@@ -1,5 +1,5 @@
-github.com/AdguardTeam/dnsproxy v0.46.6-0.20230125113741-98cb8a899e49 h1:TDZsKB8BrKA2na6p5l20BvEu3MmgOWhIfTANz5laFuE=
-github.com/AdguardTeam/dnsproxy v0.46.6-0.20230125113741-98cb8a899e49/go.mod h1:ZEkTmTJ2XInT3aVy0mHtEnSWSclpHHj/9hfNXDuAk5k=
+github.com/AdguardTeam/dnsproxy v0.47.1-0.20230207130636-533058b17239 h1:n1oOiywOvdeqWLto809bK1rK1EPDkpaSfT/r1OiCVaQ=
+github.com/AdguardTeam/dnsproxy v0.47.1-0.20230207130636-533058b17239/go.mod h1:+Sdi5ISrjDFbeCsKNqzcC1Ag7pJ5Hh9y+UBNb3dfqJ4=
github.com/AdguardTeam/golibs v0.4.0/go.mod h1:skKsDKIBB7kkFflLJBpfGX+G8QFTx0WKUzB6TIgtUj4=
github.com/AdguardTeam/golibs v0.10.4/go.mod h1:rSfQRGHIdgfxriDDNgNJ7HmE5zRoURq8R+VdR81Zuzw=
github.com/AdguardTeam/golibs v0.11.4 h1:IltyvxwCTN+xxJF5sh6VadF8Zfbf8elgCm9dgijSVzM=
@@ -7,8 +7,6 @@ github.com/AdguardTeam/golibs v0.11.4/go.mod h1:87bN2x4VsTritptE3XZg9l8T6gznWsIx
github.com/AdguardTeam/gomitmproxy v0.2.0/go.mod h1:Qdv0Mktnzer5zpdpi5rAwixNJzW2FN91LjKJCkVbYGU=
github.com/AdguardTeam/urlfilter v0.16.1 h1:ZPi0rjqo8cQf2FVdzo6cqumNoHZx2KPXj2yZa1A5BBw=
github.com/AdguardTeam/urlfilter v0.16.1/go.mod h1:46YZDOV1+qtdRDuhZKVPSSp7JWWes0KayqHrKAFBdEI=
-github.com/BurntSushi/toml v1.1.0 h1:ksErzDEI1khOiGPgpwuI7x2ebx/uXQNw7xJpn9Eq1+I=
-github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I=
github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c=
github.com/StackExchange/wmi v1.2.1 h1:VIkavFPXSjcnS+O8yTq7NI32k0R5Aj+v39y29VYDOSA=
@@ -57,8 +55,8 @@ github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/gopacket v1.1.19 h1:ves8RnFZPGiFnTS0uPQStjwru6uO6h+nlr9j6fL7kF8=
github.com/google/gopacket v1.1.19/go.mod h1:iJ8V8n6KS+z2U1A8pUwu8bW5SyEMkXJB8Yo/Vo+TKTo=
-github.com/google/pprof v0.0.0-20230131232505-5a9e8f65f08f h1:gl1DCiSk+mrXXBGPm6CEeS2MkJuMVzAOrXg34oVj1QI=
-github.com/google/pprof v0.0.0-20230131232505-5a9e8f65f08f/go.mod h1:dDKJzRmX4S37WGHujM7tX//fmj1uioxKzKxz3lo4HJo=
+github.com/google/pprof v0.0.0-20230207041349-798e818bf904 h1:4/hN5RUoecvl+RmJRE2YxKWtnnQls6rQjjW5oV7qg2U=
+github.com/google/pprof v0.0.0-20230207041349-798e818bf904/go.mod h1:uglQLonpP8qtYCYyzA+8c/9qtqgA3qsXGYqCPKARAFg=
github.com/google/renameio v1.0.1 h1:Lh/jXZmvZxb0BBeSY5VKEfidcbcbenKjZFzM/q0fSeU=
github.com/google/renameio v1.0.1/go.mod h1:t/HQoYBZSsWSNK35C6CO/TpPLDVWvxOHboWUAweKUpk=
github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
@@ -85,14 +83,6 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
-github.com/lucas-clemente/quic-go v0.31.1 h1:O8Od7hfioqq0PMYHDyBkxU2aA7iZ2W9pjbrWuja2YR4=
-github.com/lucas-clemente/quic-go v0.31.1/go.mod h1:0wFbizLgYzqHqtlyxyCaJKlE7bYgE6JQ+54TLd/Dq2g=
-github.com/marten-seemann/qpack v0.3.0 h1:UiWstOgT8+znlkDPOg2+3rIuYXJ2CnGDkGUXN6ki6hE=
-github.com/marten-seemann/qpack v0.3.0/go.mod h1:cGfKPBiP4a9EQdxCwEwI/GEeWAsjSekBvx/X8mh58+g=
-github.com/marten-seemann/qtls-go1-18 v0.1.4 h1:ogomB+lWV3Vmwiu6RTwDVTMGx+9j7SEi98e8QB35Its=
-github.com/marten-seemann/qtls-go1-18 v0.1.4/go.mod h1:mJttiymBAByA49mhlNZZGrH5u1uXYZJ+RW28Py7f4m4=
-github.com/marten-seemann/qtls-go1-19 v0.1.2 h1:ZevAEqKXH0bZmoOBPiqX2h5rhQ7cbZi+X+rlq2JUbCE=
-github.com/marten-seemann/qtls-go1-19 v0.1.2/go.mod h1:5HTDWtVudo/WFsHKRNuOhWlbdjrfs5JHrYb0wIJqGpI=
github.com/mdlayher/ethernet v0.0.0-20190606142754-0394541c37b7/go.mod h1:U6ZQobyTjI/tJyq2HG+i/dfSoFUt8/aZCM+GKtmFk/Y=
github.com/mdlayher/ethernet v0.0.0-20220221185849-529eae5b6118 h1:2oDp6OOhLxQ9JBoUuysVz9UZ9uI6oLUbvAZu0x8o+vE=
github.com/mdlayher/ethernet v0.0.0-20220221185849-529eae5b6118/go.mod h1:ZFUnHIVchZ9lJoWoEGUg8Q3M4U8aNNWA3CVSUTkW4og=
@@ -118,16 +108,29 @@ github.com/miekg/dns v1.1.50 h1:DQUfb9uc6smULcREF09Uc+/Gd46YWqJd5DbpPE9xkcA=
github.com/miekg/dns v1.1.50/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
-github.com/onsi/ginkgo/v2 v2.8.0 h1:pAM+oBNPrpXRs+E/8spkeGx9QgekbRVyr74EUvRVOUI=
-github.com/onsi/ginkgo/v2 v2.8.0/go.mod h1:6JsQiECmxCa3V5st74AL/AmsV482EDdVrGaVW6z3oYU=
-github.com/onsi/gomega v1.25.0 h1:Vw7br2PCDYijJHSfBOWhov+8cAnUf8MfMaIOV323l6Y=
+github.com/onsi/ginkgo/v2 v2.8.1 h1:xFTEVwOFa1D/Ty24Ws1npBWkDYEV9BqZrsDxVrVkrrU=
+github.com/onsi/ginkgo/v2 v2.8.1/go.mod h1:N1/NbDngAFcSLdyZ+/aYTYGSlq9qMCS/cNKGJjy+csc=
+github.com/onsi/gomega v1.26.0 h1:03cDLK28U6hWvCAns6NeydX3zIm4SF3ci69ulidS32Q=
github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
+github.com/pierrec/lz4/v4 v4.1.14/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
+github.com/pierrec/lz4/v4 v4.1.17 h1:kV4Ip+/hUBC+8T6+2EgburRtkE9ef4nbY3f4dFhGjMc=
+github.com/pierrec/lz4/v4 v4.1.17/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/quic-go/qpack v0.4.0 h1:Cr9BXA1sQS2SmDUWjSofMPNKmvF6IiIfDRmgU0w1ZCo=
+github.com/quic-go/qpack v0.4.0/go.mod h1:UZVnYIfi5GRk+zI9UMaCPsmZ2xKJP7XBUvVyT1Knj9A=
+github.com/quic-go/qtls-go1-18 v0.2.0 h1:5ViXqBZ90wpUcZS0ge79rf029yx0dYB0McyPJwqqj7U=
+github.com/quic-go/qtls-go1-18 v0.2.0/go.mod h1:moGulGHK7o6O8lSPSZNoOwcLvJKJ85vVNc7oJFD65bc=
+github.com/quic-go/qtls-go1-19 v0.2.0 h1:Cvn2WdhyViFUHoOqK52i51k4nDX8EwIh5VJiVM4nttk=
+github.com/quic-go/qtls-go1-19 v0.2.0/go.mod h1:ySOI96ew8lnoKPtSqx2BlI5wCpUVPT05RMAlajtnyOI=
+github.com/quic-go/qtls-go1-20 v0.1.0 h1:d1PK3ErFy9t7zxKsG3NXBJXZjp/kMLoIb3y/kV54oAI=
+github.com/quic-go/qtls-go1-20 v0.1.0/go.mod h1:JKtK6mjbAVcUTN/9jZpvLbGxvdWIKS8uT7EiStoU1SM=
+github.com/quic-go/quic-go v0.32.0 h1:lY02md31s1JgPiiyfqJijpu/UX/Iun304FI3yUqX7tA=
+github.com/quic-go/quic-go v0.32.0/go.mod h1:/fCsKANhQIeD5l76c2JFU+07gVE3KaA0FP+0zMWwfwo=
github.com/shirou/gopsutil/v3 v3.21.8 h1:nKct+uP0TV8DjjNiHanKf8SAuub+GNsbrOtM9Nl9biA=
github.com/shirou/gopsutil/v3 v3.21.8/go.mod h1:YWp/H8Qs5fVmf17v7JNZzA0mPJ+mS2e9JdiUF9LlKzQ=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
@@ -151,23 +154,24 @@ github.com/tklauser/go-sysconf v0.3.9 h1:JeUVdAOWhhxVcU6Eqr/ATFHgXk/mmiItdKeJPev
github.com/tklauser/go-sysconf v0.3.9/go.mod h1:11DU/5sG7UexIrp/O6g35hrWzu0JxlwQ3LSFUzyeuhs=
github.com/tklauser/numcpus v0.3.0 h1:ILuRUQBtssgnxw0XXIjKUC56fgnOrFoQQ/4+DeU2biQ=
github.com/tklauser/numcpus v0.3.0/go.mod h1:yFGUr7TUHQRAhyqBcEg0Ge34zDBAsIvJJcyE6boqnA8=
-github.com/u-root/uio v0.0.0-20221213070652-c3537552635f h1:dpx1PHxYqAnXzbryJrWP1NQLzEjwcVgFLhkknuFQ7ww=
github.com/u-root/uio v0.0.0-20221213070652-c3537552635f/go.mod h1:IogEAUBXDEwX7oR/BMmCctShYs80ql4hF0ySdzGxf7E=
+github.com/u-root/uio v0.0.0-20230215032506-9aa6f7e2d72c h1:PHoGTnweZP+KIg/8Zc6+iOesrIF5yHkpb4GBDxHm7yE=
+github.com/u-root/uio v0.0.0-20230215032506-9aa6f7e2d72c/go.mod h1:eLL9Nub3yfAho7qB0MzZizFhTU2QkLeoVsWdHtDW264=
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
go.etcd.io/bbolt v1.3.7 h1:j+zJOnnEjF/kyHlDDgGnVL/AIqIJPq8UoB2GSNfkUfQ=
go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.5.0 h1:U/0M97KRkSFvyD/3FSmdP5W5swImpNgle/EHFhOsQPE=
-golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU=
-golang.org/x/exp v0.0.0-20230131160201-f062dba9d201 h1:BEABXpNXLEz0WxtA+6CQIz2xkg80e+1zrhWyMcq8VzE=
-golang.org/x/exp v0.0.0-20230131160201-f062dba9d201/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
+golang.org/x/crypto v0.6.0 h1:qfktjS5LUO+fFKeJXZ+ikTRijMmljikvG68fpMMruSc=
+golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58=
+golang.org/x/exp v0.0.0-20230213192124-5e25df0256eb h1:PaBZQdo+iSDyHT053FjUCgZQ/9uqVwPOcl7KSWhKn6w=
+golang.org/x/exp v0.0.0-20230213192124-5e25df0256eb/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.7.0 h1:LapD9S96VoQRhi/GrNTqeBJFrUjs5UHCAtTlgwA5oZA=
-golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8=
+golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190419010253-1f3472d942ba/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
@@ -184,8 +188,8 @@ golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLd
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210929193557-e81a3d93ecf6/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.5.0 h1:GyT4nK/YDHSqa1c4753ouYCDajOYKTja9Xb/OHtgvSw=
-golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws=
+golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g=
+golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
@@ -218,24 +222,24 @@ golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220622161953-175b2fd9d664/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18=
-golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU=
+golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
-golang.org/x/text v0.6.0 h1:3XmdazWV+ubf7QgHSTWeykHOci5oeekaGJBLkrkaw4k=
-golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo=
+golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
-golang.org/x/tools v0.5.0 h1:+bSpV5HIeWkuvgaMfI3UmKRThoTA5ODJTUd8T17NO+4=
-golang.org/x/tools v0.5.0/go.mod h1:N+Kgy78s5I24c24dU8OfWNEotWjutIs8SnJvn5IDq+k=
+golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM=
+golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -244,12 +248,11 @@ google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscL
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8=
-gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k=
+gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc=
+gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc=
gopkg.in/yaml.v1 v1.0.0-20140924161607-9f9df34309c0/go.mod h1:WDnlLJ4WF5VGsH/HVa3CI79GS0ol3YnhVnKP89i0kNg=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/internal/dnsforward/clientid.go b/internal/dnsforward/clientid.go
index fb5eefda..e44600ba 100644
--- a/internal/dnsforward/clientid.go
+++ b/internal/dnsforward/clientid.go
@@ -9,7 +9,7 @@ import (
"github.com/AdguardTeam/dnsproxy/proxy"
"github.com/AdguardTeam/golibs/errors"
"github.com/AdguardTeam/golibs/netutil"
- "github.com/lucas-clemente/quic-go"
+ "github.com/quic-go/quic-go"
)
// ValidateClientID returns an error if id is not a valid ClientID.
@@ -151,25 +151,7 @@ func (s *Server) clientIDFromDNSContext(pctx *proxy.DNSContext) (clientID string
func clientServerName(pctx *proxy.DNSContext, proto proxy.Proto) (srvName string, err error) {
switch proto {
case proxy.ProtoHTTPS:
- // github.com/lucas-clemente/quic-go seems to not populate the TLS
- // field. So, if the request comes over HTTP/3, use the Host header
- // value as the server name.
- //
- // See https://github.com/lucas-clemente/quic-go/issues/2879.
- //
- // TODO(a.garipov): Remove this crutch once they fix it.
- r := pctx.HTTPRequest
- if r.ProtoAtLeast(3, 0) {
- var host string
- host, err = netutil.SplitHost(r.Host)
- if err != nil {
- return "", fmt.Errorf("parsing host: %w", err)
- }
-
- srvName = host
- } else if connState := r.TLS; connState != nil {
- srvName = r.TLS.ServerName
- }
+ srvName = pctx.HTTPRequest.TLS.ServerName
case proxy.ProtoQUIC:
qConn := pctx.QUICConnection
conn, ok := qConn.(quicConnection)
diff --git a/internal/dnsforward/clientid_test.go b/internal/dnsforward/clientid_test.go
index b52f2ad0..d0c0c40d 100644
--- a/internal/dnsforward/clientid_test.go
+++ b/internal/dnsforward/clientid_test.go
@@ -9,7 +9,7 @@ import (
"github.com/AdguardTeam/dnsproxy/proxy"
"github.com/AdguardTeam/golibs/testutil"
- "github.com/lucas-clemente/quic-go"
+ "github.com/quic-go/quic-go"
"github.com/stretchr/testify/assert"
)
@@ -55,7 +55,6 @@ func TestServer_clientIDFromDNSContext(t *testing.T) {
wantClientID string
wantErrMsg string
strictSNI bool
- useHTTP3 bool
}{{
name: "udp",
proto: proxy.ProtoUDP,
@@ -64,7 +63,6 @@ func TestServer_clientIDFromDNSContext(t *testing.T) {
wantClientID: "",
wantErrMsg: "",
strictSNI: false,
- useHTTP3: false,
}, {
name: "tls_no_clientid",
proto: proxy.ProtoTLS,
@@ -73,7 +71,6 @@ func TestServer_clientIDFromDNSContext(t *testing.T) {
wantClientID: "",
wantErrMsg: "",
strictSNI: true,
- useHTTP3: false,
}, {
name: "tls_no_client_server_name",
proto: proxy.ProtoTLS,
@@ -83,7 +80,6 @@ func TestServer_clientIDFromDNSContext(t *testing.T) {
wantErrMsg: `clientid check: client server name "" ` +
`doesn't match host server name "example.com"`,
strictSNI: true,
- useHTTP3: false,
}, {
name: "tls_no_client_server_name_no_strict",
proto: proxy.ProtoTLS,
@@ -92,7 +88,6 @@ func TestServer_clientIDFromDNSContext(t *testing.T) {
wantClientID: "",
wantErrMsg: "",
strictSNI: false,
- useHTTP3: false,
}, {
name: "tls_clientid",
proto: proxy.ProtoTLS,
@@ -101,7 +96,6 @@ func TestServer_clientIDFromDNSContext(t *testing.T) {
wantClientID: "cli",
wantErrMsg: "",
strictSNI: true,
- useHTTP3: false,
}, {
name: "tls_clientid_hostname_error",
proto: proxy.ProtoTLS,
@@ -111,7 +105,6 @@ func TestServer_clientIDFromDNSContext(t *testing.T) {
wantErrMsg: `clientid check: client server name "cli.example.net" ` +
`doesn't match host server name "example.com"`,
strictSNI: true,
- useHTTP3: false,
}, {
name: "tls_invalid_clientid",
proto: proxy.ProtoTLS,
@@ -121,7 +114,6 @@ func TestServer_clientIDFromDNSContext(t *testing.T) {
wantErrMsg: `clientid check: invalid clientid "!!!": ` +
`bad domain name label rune '!'`,
strictSNI: true,
- useHTTP3: false,
}, {
name: "tls_clientid_too_long",
proto: proxy.ProtoTLS,
@@ -133,7 +125,6 @@ func TestServer_clientIDFromDNSContext(t *testing.T) {
`pqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789": ` +
`domain name label is too long: got 72, max 63`,
strictSNI: true,
- useHTTP3: false,
}, {
name: "quic_clientid",
proto: proxy.ProtoQUIC,
@@ -142,7 +133,6 @@ func TestServer_clientIDFromDNSContext(t *testing.T) {
wantClientID: "cli",
wantErrMsg: "",
strictSNI: true,
- useHTTP3: false,
}, {
name: "tls_clientid_issue3437",
proto: proxy.ProtoTLS,
@@ -152,7 +142,6 @@ func TestServer_clientIDFromDNSContext(t *testing.T) {
wantErrMsg: `clientid check: client server name "cli.myexample.com" ` +
`doesn't match host server name "example.com"`,
strictSNI: true,
- useHTTP3: false,
}, {
name: "tls_case",
proto: proxy.ProtoTLS,
@@ -161,7 +150,6 @@ func TestServer_clientIDFromDNSContext(t *testing.T) {
wantClientID: "insensitive",
wantErrMsg: ``,
strictSNI: true,
- useHTTP3: false,
}, {
name: "quic_case",
proto: proxy.ProtoQUIC,
@@ -170,7 +158,6 @@ func TestServer_clientIDFromDNSContext(t *testing.T) {
wantClientID: "insensitive",
wantErrMsg: ``,
strictSNI: true,
- useHTTP3: false,
}, {
name: "https_no_clientid",
proto: proxy.ProtoHTTPS,
@@ -179,7 +166,6 @@ func TestServer_clientIDFromDNSContext(t *testing.T) {
wantClientID: "",
wantErrMsg: "",
strictSNI: true,
- useHTTP3: false,
}, {
name: "https_clientid",
proto: proxy.ProtoHTTPS,
@@ -188,16 +174,6 @@ func TestServer_clientIDFromDNSContext(t *testing.T) {
wantClientID: "cli",
wantErrMsg: "",
strictSNI: true,
- useHTTP3: false,
- }, {
- name: "https_clientid_quic",
- proto: proxy.ProtoHTTPS,
- hostSrvName: "example.com",
- cliSrvName: "cli.example.com",
- wantClientID: "cli",
- wantErrMsg: "",
- strictSNI: true,
- useHTTP3: true,
}}
for _, tc := range testCases {
@@ -219,7 +195,7 @@ func TestServer_clientIDFromDNSContext(t *testing.T) {
switch tc.proto {
case proxy.ProtoHTTPS:
- httpReq = newHTTPReq(tc.cliSrvName, tc.useHTTP3)
+ httpReq = newHTTPReq(tc.cliSrvName)
case proxy.ProtoQUIC:
qconn = testQUICConnection{
serverName: tc.cliSrvName,
@@ -246,21 +222,11 @@ func TestServer_clientIDFromDNSContext(t *testing.T) {
}
// newHTTPReq is a helper to create HTTP requests for tests.
-func newHTTPReq(cliSrvName string, useHTTP3 bool) (r *http.Request) {
+func newHTTPReq(cliSrvName string) (r *http.Request) {
u := &url.URL{
Path: "/dns-query",
}
- if useHTTP3 {
- return &http.Request{
- ProtoMajor: 3,
- ProtoMinor: 0,
- URL: u,
- Host: cliSrvName,
- TLS: &tls.ConnectionState{},
- }
- }
-
return &http.Request{
ProtoMajor: 1,
ProtoMinor: 1,
diff --git a/internal/dnsforward/config.go b/internal/dnsforward/config.go
index c30d0d89..b48eb776 100644
--- a/internal/dnsforward/config.go
+++ b/internal/dnsforward/config.go
@@ -5,6 +5,7 @@ import (
"crypto/x509"
"fmt"
"net"
+ "net/netip"
"os"
"sort"
"strings"
@@ -225,7 +226,7 @@ type ServerConfig struct {
LocalPTRResolvers []string
// DNS64Prefixes is a slice of NAT64 prefixes to be used for DNS64.
- DNS64Prefixes []string
+ DNS64Prefixes []netip.Prefix
// ResolveClients signals if the RDNS should resolve clients' addresses.
ResolveClients bool
@@ -271,6 +272,8 @@ func (s *Server) createProxyConfig() (conf proxy.Config, err error) {
RequestHandler: s.handleDNSRequest,
EnableEDNSClientSubnet: srvConf.EnableEDNSClientSubnet,
MaxGoroutines: int(srvConf.MaxGoroutines),
+ UseDNS64: srvConf.UseDNS64,
+ DNS64Prefs: srvConf.DNS64Prefixes,
}
if srvConf.CacheSize != 0 {
diff --git a/internal/dnsforward/dns.go b/internal/dnsforward/dns.go
index 1411a0f4..8d924f3b 100644
--- a/internal/dnsforward/dns.go
+++ b/internal/dnsforward/dns.go
@@ -10,6 +10,8 @@ import (
"github.com/AdguardTeam/AdGuardHome/internal/dhcpd"
"github.com/AdguardTeam/AdGuardHome/internal/filtering"
"github.com/AdguardTeam/dnsproxy/proxy"
+ "github.com/AdguardTeam/dnsproxy/upstream"
+ "github.com/AdguardTeam/golibs/errors"
"github.com/AdguardTeam/golibs/log"
"github.com/AdguardTeam/golibs/netutil"
"github.com/AdguardTeam/golibs/stringutil"
@@ -17,6 +19,9 @@ import (
)
// To transfer information between modules
+//
+// TODO(s.chzhen): Add lowercased, non-FQDN version of the hostname from the
+// question of the request.
type dnsContext struct {
proxyCtx *proxy.DNSContext
@@ -419,7 +424,7 @@ func (s *Server) processDHCPHosts(dctx *dnsContext) (rc resultCode) {
}
resp.Answer = append(resp.Answer, a)
case dns.TypeAAAA:
- if len(s.dns64Prefs) > 0 {
+ if s.dns64Pref != (netip.Prefix{}) {
// Respond with DNS64-mapped address for IPv4 host if DNS64 is
// enabled.
aaaa := &dns.AAAA{
@@ -468,15 +473,6 @@ func (s *Server) processRestrictLocal(dctx *dnsContext) (rc resultCode) {
return resultCodeSuccess
}
- if s.shouldStripDNS64(ip) {
- // Strip the prefix from the address to get the original IPv4.
- ip = ip[nat64PrefixLen:]
-
- // Treat a DNS64-prefixed address as a locally served one since those
- // queries should never be sent to the global DNS.
- dctx.unreversedReqIP = ip
- }
-
// Restrict an access to local addresses for external clients. We also
// assume that all the DHCP leases we give are locally served or at least
// shouldn't be accessible externally.
@@ -655,13 +651,7 @@ func (s *Server) processUpstream(dctx *dnsContext) (rc resultCode) {
s.setCustomUpstream(pctx, dctx.clientID)
- origReqAD := false
- if s.conf.EnableDNSSEC {
- origReqAD = req.AuthenticatedData
- if !req.AuthenticatedData {
- req.AuthenticatedData = true
- }
- }
+ reqWantsDNSSEC := s.setReqAD(req)
// Process the request further since it wasn't filtered.
prx := s.proxy()
@@ -671,23 +661,73 @@ func (s *Server) processUpstream(dctx *dnsContext) (rc resultCode) {
return resultCodeError
}
- if dctx.err = prx.Resolve(pctx); dctx.err != nil {
- return resultCodeError
- }
+ if err := prx.Resolve(pctx); err != nil {
+ if errors.Is(err, upstream.ErrNoUpstreams) {
+ // Do not even put into querylog. Currently this happens either
+ // when the private resolvers enabled and the request is DNS64 PTR,
+ // or when the client isn't considered local by prx.
+ //
+ // TODO(e.burkov): Make proxy detect local client the same way as
+ // AGH does.
+ pctx.Res = s.genNXDomain(req)
+
+ return resultCodeFinish
+ }
+
+ dctx.err = err
- if s.performDNS64(prx, dctx) == resultCodeError {
return resultCodeError
}
dctx.responseFromUpstream = true
dctx.responseAD = pctx.Res.AuthenticatedData
- if s.conf.EnableDNSSEC && !origReqAD {
+ s.setRespAD(pctx, reqWantsDNSSEC)
+
+ return resultCodeSuccess
+}
+
+// setReqAD changes the request based on the server settings. wantsDNSSEC is
+// false if the response should be cleared of the AD bit.
+//
+// TODO(a.garipov, e.burkov): This should probably be done in module dnsproxy.
+func (s *Server) setReqAD(req *dns.Msg) (wantsDNSSEC bool) {
+ if !s.conf.EnableDNSSEC {
+ return false
+ }
+
+ origReqAD := req.AuthenticatedData
+ req.AuthenticatedData = true
+
+ // Per [RFC 6840] says, validating resolvers should only set the AD bit when
+ // the response has the AD bit set and the request contained either a set DO
+ // bit or a set AD bit. So, if neither of these is true, clear the AD bits
+ // in [Server.setRespAD].
+ //
+ // [RFC 6840]: https://datatracker.ietf.org/doc/html/rfc6840#section-5.8
+ return origReqAD || hasDO(req)
+}
+
+// hasDO returns true if msg has EDNS(0) options and the DNSSEC OK flag is set
+// in there.
+//
+// TODO(a.garipov): Move to golibs/dnsmsg when it's there.
+func hasDO(msg *dns.Msg) (do bool) {
+ o := msg.IsEdns0()
+ if o == nil {
+ return false
+ }
+
+ return o.Do()
+}
+
+// setRespAD changes the request and response based on the server settings and
+// the original request data.
+func (s *Server) setRespAD(pctx *proxy.DNSContext, reqWantsDNSSEC bool) {
+ if s.conf.EnableDNSSEC && !reqWantsDNSSEC {
pctx.Req.AuthenticatedData = false
pctx.Res.AuthenticatedData = false
}
-
- return resultCodeSuccess
}
// isDHCPClientHostQ returns true if q is from a request for a DHCP client
diff --git a/internal/dnsforward/dns64.go b/internal/dnsforward/dns64.go
index d6ea9c8f..23b0febb 100644
--- a/internal/dnsforward/dns64.go
+++ b/internal/dnsforward/dns64.go
@@ -1,34 +1,10 @@
package dnsforward
import (
- "fmt"
"net"
"net/netip"
"github.com/AdguardTeam/dnsproxy/proxy"
- "github.com/AdguardTeam/golibs/log"
- "github.com/AdguardTeam/golibs/mathutil"
- "github.com/AdguardTeam/golibs/netutil"
- "github.com/miekg/dns"
-)
-
-const (
- // maxNAT64PrefixBitLen is the maximum length of a NAT64 prefix in bits.
- // See https://datatracker.ietf.org/doc/html/rfc6147#section-5.2.
- maxNAT64PrefixBitLen = 96
-
- // nat64PrefixLen is the length of a NAT64 prefix in bytes.
- nat64PrefixLen = net.IPv6len - net.IPv4len
-
- // maxDNS64SynTTL is the maximum TTL for synthesized DNS64 responses with no
- // SOA records in seconds.
- //
- // If the SOA RR was not delivered with the negative response to the AAAA
- // query, then the DNS64 SHOULD use the TTL of the original A RR or 600
- // seconds, whichever is shorter.
- //
- // See https://datatracker.ietf.org/doc/html/rfc6147#section-5.1.7.
- maxDNS64SynTTL uint32 = 600
)
// setupDNS64 initializes DNS64 settings, the NAT64 prefixes in particular. If
@@ -38,227 +14,22 @@ const (
// is specified explicitly. Each prefix also validated to be a valid IPv6
// CIDR with a maximum length of 96 bits. The first specified prefix is then
// used to synthesize AAAA records.
-func (s *Server) setupDNS64() (err error) {
+func (s *Server) setupDNS64() {
if !s.conf.UseDNS64 {
- return nil
+ return
}
- l := len(s.conf.DNS64Prefixes)
- if l == 0 {
- s.dns64Prefs = []netip.Prefix{dns64WellKnownPref}
+ if len(s.conf.DNS64Prefixes) == 0 {
+ // dns64WellKnownPref is the default prefix to use in an algorithmic
+ // mapping for DNS64.
+ //
+ // See https://datatracker.ietf.org/doc/html/rfc6052#section-2.1.
+ dns64WellKnownPref := netip.MustParsePrefix("64:ff9b::/96")
- return nil
+ s.dns64Pref = dns64WellKnownPref
+ } else {
+ s.dns64Pref = s.conf.DNS64Prefixes[0]
}
-
- prefs := make([]netip.Prefix, 0, l)
- for i, pref := range s.conf.DNS64Prefixes {
- var p netip.Prefix
- p, err = netip.ParsePrefix(pref)
- if err != nil {
- return fmt.Errorf("prefix at index %d: %w", i, err)
- }
-
- addr := p.Addr()
- if !addr.Is6() {
- return fmt.Errorf("prefix at index %d: %q is not an IPv6 prefix", i, pref)
- }
-
- if p.Bits() > maxNAT64PrefixBitLen {
- return fmt.Errorf("prefix at index %d: %q is too long for DNS64", i, pref)
- }
-
- prefs = append(prefs, p.Masked())
- }
-
- s.dns64Prefs = prefs
-
- return nil
-}
-
-// checkDNS64 checks if DNS64 should be performed. It returns a DNS64 request
-// to resolve or nil if DNS64 is not desired. It also filters resp to not
-// contain any NAT64 excluded addresses in the answer section, if needed. Both
-// req and resp must not be nil.
-//
-// See https://datatracker.ietf.org/doc/html/rfc6147.
-func (s *Server) checkDNS64(req, resp *dns.Msg) (dns64Req *dns.Msg) {
- if len(s.dns64Prefs) == 0 {
- return nil
- }
-
- q := req.Question[0]
- if q.Qtype != dns.TypeAAAA || q.Qclass != dns.ClassINET {
- // DNS64 operation for classes other than IN is undefined, and a DNS64
- // MUST behave as though no DNS64 function is configured.
- return nil
- }
-
- rcode := resp.Rcode
- if rcode == dns.RcodeNameError {
- // A result with RCODE=3 (Name Error) is handled according to normal DNS
- // operation (which is normally to return the error to the client).
- return nil
- }
-
- if rcode == dns.RcodeSuccess {
- // If resolver receives an answer with at least one AAAA record
- // containing an address outside any of the excluded range(s), then it
- // by default SHOULD build an answer section for a response including
- // only the AAAA record(s) that do not contain any of the addresses
- // inside the excluded ranges.
- var hasAnswers bool
- if resp.Answer, hasAnswers = s.filterNAT64Answers(resp.Answer); hasAnswers {
- return nil
- }
-
- // Any other RCODE is treated as though the RCODE were 0 and the answer
- // section were empty.
- }
-
- return &dns.Msg{
- MsgHdr: dns.MsgHdr{
- Id: dns.Id(),
- RecursionDesired: req.RecursionDesired,
- AuthenticatedData: req.AuthenticatedData,
- CheckingDisabled: req.CheckingDisabled,
- },
- Question: []dns.Question{{
- Name: req.Question[0].Name,
- Qtype: dns.TypeA,
- Qclass: dns.ClassINET,
- }},
- }
-}
-
-// filterNAT64Answers filters out AAAA records that are within one of NAT64
-// exclusion prefixes. hasAnswers is true if the filtered slice contains at
-// least a single AAAA answer not within the prefixes or a CNAME.
-func (s *Server) filterNAT64Answers(rrs []dns.RR) (filtered []dns.RR, hasAnswers bool) {
- filtered = make([]dns.RR, 0, len(rrs))
- for _, ans := range rrs {
- switch ans := ans.(type) {
- case *dns.AAAA:
- addr, err := netutil.IPToAddrNoMapped(ans.AAAA)
- if err != nil {
- log.Error("dnsforward: bad AAAA record: %s", err)
-
- continue
- }
-
- if s.withinDNS64(addr) {
- // Filter the record.
- continue
- }
-
- filtered, hasAnswers = append(filtered, ans), true
- case *dns.CNAME, *dns.DNAME:
- // If the response contains a CNAME or a DNAME, then the CNAME or
- // DNAME chain is followed until the first terminating A or AAAA
- // record is reached.
- //
- // Just treat CNAME and DNAME responses as passable answers since
- // AdGuard Home doesn't follow any of these chains except the
- // dnsrewrite-defined ones.
- filtered, hasAnswers = append(filtered, ans), true
- default:
- filtered = append(filtered, ans)
- }
- }
-
- return filtered, hasAnswers
-}
-
-// synthDNS64 synthesizes a DNS64 response using the original response as a
-// basis and modifying it with data from resp. It returns true if the response
-// was actually modified.
-func (s *Server) synthDNS64(origReq, origResp, resp *dns.Msg) (ok bool) {
- if len(resp.Answer) == 0 {
- // If there is an empty answer, then the DNS64 responds to the original
- // querying client with the answer the DNS64 received to the original
- // (initiator's) query.
- return false
- }
-
- // The Time to Live (TTL) field is set to the minimum of the TTL of the
- // original A RR and the SOA RR for the queried domain. If the original
- // response contains no SOA records, the minimum of the TTL of the original
- // A RR and [maxDNS64SynTTL] should be used. See [maxDNS64SynTTL].
- soaTTL := maxDNS64SynTTL
- for _, rr := range origResp.Ns {
- if hdr := rr.Header(); hdr.Rrtype == dns.TypeSOA && hdr.Name == origReq.Question[0].Name {
- soaTTL = hdr.Ttl
-
- break
- }
- }
-
- newAns := make([]dns.RR, 0, len(resp.Answer))
- for _, ans := range resp.Answer {
- rr := s.synthRR(ans, soaTTL)
- if rr == nil {
- // The error should have already been logged.
- return false
- }
-
- newAns = append(newAns, rr)
- }
-
- origResp.Answer = newAns
- origResp.Ns = resp.Ns
- origResp.Extra = resp.Extra
-
- return true
-}
-
-// dns64WellKnownPref is the default prefix to use in an algorithmic mapping for
-// DNS64. See https://datatracker.ietf.org/doc/html/rfc6052#section-2.1.
-var dns64WellKnownPref = netip.MustParsePrefix("64:ff9b::/96")
-
-// withinDNS64 checks if ip is within one of the configured DNS64 prefixes.
-//
-// TODO(e.burkov): We actually using bytes of only the first prefix from the
-// set to construct the answer, so consider using some implementation of a
-// prefix set for the rest.
-func (s *Server) withinDNS64(ip netip.Addr) (ok bool) {
- for _, n := range s.dns64Prefs {
- if n.Contains(ip) {
- return true
- }
- }
-
- return false
-}
-
-// shouldStripDNS64 returns true if DNS64 is enabled and ip has either one of
-// custom DNS64 prefixes or the Well-Known one. This is intended to be used
-// with PTR requests.
-//
-// The requirement is to match any Pref64::/n used at the site, and not merely
-// the locally configured Pref64::/n. This is because end clients could ask for
-// a PTR record matching an address received through a different (site-provided)
-// DNS64.
-//
-// See https://datatracker.ietf.org/doc/html/rfc6147#section-5.3.1.
-func (s *Server) shouldStripDNS64(ip net.IP) (ok bool) {
- if len(s.dns64Prefs) == 0 {
- return false
- }
-
- addr, err := netutil.IPToAddr(ip, netutil.AddrFamilyIPv6)
- if err != nil {
- return false
- }
-
- switch {
- case s.withinDNS64(addr):
- log.Debug("dnsforward: %s is within DNS64 custom prefix set", ip)
- case dns64WellKnownPref.Contains(addr):
- log.Debug("dnsforward: %s is within DNS64 well-known prefix", ip)
- default:
- return false
- }
-
- return true
}
// mapDNS64 maps ip to IPv6 address using configured DNS64 prefix. ip must be a
@@ -267,79 +38,12 @@ func (s *Server) shouldStripDNS64(ip net.IP) (ok bool) {
func (s *Server) mapDNS64(ip netip.Addr) (mapped net.IP) {
// Don't mask the address here since it should have already been masked on
// initialization stage.
- pref := s.dns64Prefs[0].Addr().As16()
+ pref := s.dns64Pref.Masked().Addr().As16()
ipData := ip.As4()
mapped = make(net.IP, net.IPv6len)
- copy(mapped[:nat64PrefixLen], pref[:])
- copy(mapped[nat64PrefixLen:], ipData[:])
+ copy(mapped[:proxy.NAT64PrefixLength], pref[:])
+ copy(mapped[proxy.NAT64PrefixLength:], ipData[:])
return mapped
}
-
-// performDNS64 processes the current state of dctx assuming that it has already
-// been tried to resolve, checks if it contains any acceptable response, and if
-// it doesn't, performs DNS64 request and the following synthesis. It returns
-// the [resultCodeError] if there was an error set to dctx.
-func (s *Server) performDNS64(prx *proxy.Proxy, dctx *dnsContext) (rc resultCode) {
- pctx := dctx.proxyCtx
- req := pctx.Req
-
- dns64Req := s.checkDNS64(req, pctx.Res)
- if dns64Req == nil {
- return resultCodeSuccess
- }
-
- log.Debug("dnsforward: received an empty AAAA response, checking DNS64")
-
- origReq := pctx.Req
- origResp := pctx.Res
- origUps := pctx.Upstream
-
- pctx.Req = dns64Req
- defer func() { pctx.Req = origReq }()
-
- if dctx.err = prx.Resolve(pctx); dctx.err != nil {
- return resultCodeError
- }
-
- dns64Resp := pctx.Res
- pctx.Res = origResp
- if dns64Resp != nil && s.synthDNS64(origReq, pctx.Res, dns64Resp) {
- log.Debug("dnsforward: synthesized AAAA response for %q", origReq.Question[0].Name)
- } else {
- pctx.Upstream = origUps
- }
-
- return resultCodeSuccess
-}
-
-// synthRR synthesizes a DNS64 resource record in compliance with RFC 6147. If
-// rr is not an A record, it's returned as is. A records are modified to become
-// a DNS64-synthesized AAAA records, and the TTL is set according to the
-// original TTL of a record and soaTTL. It returns nil on invalid A records.
-func (s *Server) synthRR(rr dns.RR, soaTTL uint32) (result dns.RR) {
- aResp, ok := rr.(*dns.A)
- if !ok {
- return rr
- }
-
- addr, err := netutil.IPToAddr(aResp.A, netutil.AddrFamilyIPv4)
- if err != nil {
- log.Error("dnsforward: bad A record: %s", err)
-
- return nil
- }
-
- aaaa := &dns.AAAA{
- Hdr: dns.RR_Header{
- Name: aResp.Hdr.Name,
- Rrtype: dns.TypeAAAA,
- Class: aResp.Hdr.Class,
- Ttl: mathutil.Min(aResp.Hdr.Ttl, soaTTL),
- },
- AAAA: s.mapDNS64(addr),
- }
-
- return aaaa
-}
diff --git a/internal/dnsforward/dns64_test.go b/internal/dnsforward/dns64_test.go
index 12925504..f3679b51 100644
--- a/internal/dnsforward/dns64_test.go
+++ b/internal/dnsforward/dns64_test.go
@@ -15,6 +15,16 @@ import (
"github.com/stretchr/testify/require"
)
+// maxDNS64SynTTL is the maximum TTL for synthesized DNS64 responses with no SOA
+// records in seconds.
+//
+// If the SOA RR was not delivered with the negative response to the AAAA query,
+// then the DNS64 SHOULD use the TTL of the original A RR or 600 seconds,
+// whichever is shorter.
+//
+// See https://datatracker.ietf.org/doc/html/rfc6147#section-5.1.7.
+const maxDNS64SynTTL uint32 = 600
+
// newRR is a helper that creates a new dns.RR with the given name, qtype, ttl
// and value. It fails the test if the qtype is not supported or the type of
// value doesn't match the qtype.
diff --git a/internal/dnsforward/dnsforward.go b/internal/dnsforward/dnsforward.go
index 4ff9fc02..ffec33f2 100644
--- a/internal/dnsforward/dnsforward.go
+++ b/internal/dnsforward/dnsforward.go
@@ -80,10 +80,17 @@ type Server struct {
privateNets netutil.SubnetSet
localResolvers *proxy.Proxy
sysResolvers aghnet.SystemResolvers
- recDetector *recursionDetector
- // dns64Prefix is the set of NAT64 prefixes used for DNS64 handling.
- dns64Prefs []netip.Prefix
+ // recDetector is a cache for recursive requests. It is used to detect
+ // and prevent recursive requests only for private upstreams.
+ //
+ // See https://github.com/adguardTeam/adGuardHome/issues/3185#issuecomment-851048135.
+ recDetector *recursionDetector
+
+ // dns64Pref is the NAT64 prefix used for DNS64 response mapping. The major
+ // part of DNS64 happens inside the [proxy] package, but there still are
+ // some places where response mapping is needed (e.g. DHCP).
+ dns64Pref netip.Prefix
// anonymizer masks the client's IP addresses if needed.
anonymizer *aghnet.IPMut
@@ -246,8 +253,8 @@ func (s *Server) Resolve(host string) ([]net.IPAddr, error) {
// RDNSExchanger is a resolver for clients' addresses.
type RDNSExchanger interface {
- // Exchange tries to resolve the ip in a suitable way, e.g. either as
- // local or as external.
+ // Exchange tries to resolve the ip in a suitable way, i.e. either as local
+ // or as external.
Exchange(ip net.IP) (host string, err error)
// ResolvesPrivatePTR returns true if the RDNSExchanger is able to
@@ -256,13 +263,13 @@ type RDNSExchanger interface {
}
const (
- // rDNSEmptyAnswerErr is returned by Exchange method when the answer
- // section of respond is empty.
- rDNSEmptyAnswerErr errors.Error = "the answer section is empty"
+ // ErrRDNSNoData is returned by [RDNSExchanger.Exchange] when the answer
+ // section of response is either NODATA or has no PTR records.
+ ErrRDNSNoData errors.Error = "no ptr data in response"
- // rDNSNotPTRErr is returned by Exchange method when the response is not
- // of PTR type.
- rDNSNotPTRErr errors.Error = "the response is not a ptr"
+ // ErrRDNSFailed is returned by [RDNSExchanger.Exchange] if the received
+ // response is not a NOERROR or NXDOMAIN.
+ ErrRDNSFailed errors.Error = "failed to resolve ptr"
)
// type check
@@ -317,17 +324,24 @@ func (s *Server) Exchange(ip net.IP) (host string, err error) {
return "", err
}
+ // Distinguish between NODATA response and a failed request.
resp := ctx.Res
- if len(resp.Answer) == 0 {
- return "", fmt.Errorf("lookup for %q: %w", arpa, rDNSEmptyAnswerErr)
+ if resp.Rcode != dns.RcodeSuccess && resp.Rcode != dns.RcodeNameError {
+ return "", fmt.Errorf(
+ "received %s response: %w",
+ dns.RcodeToString[resp.Rcode],
+ ErrRDNSFailed,
+ )
}
- ptr, ok := resp.Answer[0].(*dns.PTR)
- if !ok {
- return "", fmt.Errorf("type checking: %w", rDNSNotPTRErr)
+ for _, ans := range resp.Answer {
+ ptr, ok := ans.(*dns.PTR)
+ if ok {
+ return strings.TrimSuffix(ptr.Ptr, "."), nil
+ }
}
- return strings.TrimSuffix(ptr.Ptr, "."), nil
+ return "", ErrRDNSNoData
}
// ResolvesPrivatePTR implements the RDNSExchanger interface for *Server.
@@ -477,6 +491,8 @@ func (s *Server) Prepare(conf *ServerConfig) (err error) {
return fmt.Errorf("preparing proxy: %w", err)
}
+ s.setupDNS64()
+
err = s.prepareInternalProxy()
if err != nil {
return fmt.Errorf("preparing internal proxy: %w", err)
@@ -493,18 +509,18 @@ func (s *Server) Prepare(conf *ServerConfig) (err error) {
s.registerHandlers()
- err = s.setupDNS64()
- if err != nil {
- return fmt.Errorf("preparing DNS64: %w", err)
- }
-
- s.dnsProxy = &proxy.Proxy{Config: proxyConfig}
-
+ // TODO(e.burkov): Remove once the local resolvers logic moved to dnsproxy.
err = s.setupResolvers(s.conf.LocalPTRResolvers)
if err != nil {
return fmt.Errorf("setting up resolvers: %w", err)
}
+ if s.conf.UsePrivateRDNS {
+ proxyConfig.PrivateRDNSUpstreamConfig = s.localResolvers.UpstreamConfig
+ }
+
+ s.dnsProxy = &proxy.Proxy{Config: proxyConfig}
+
s.recDetector.clear()
return nil
diff --git a/internal/dnsforward/dnsforward_test.go b/internal/dnsforward/dnsforward_test.go
index 56c21516..a95b03df 100644
--- a/internal/dnsforward/dnsforward_test.go
+++ b/internal/dnsforward/dnsforward_test.go
@@ -89,9 +89,14 @@ func createTestServer(
s.serverLock.Lock()
defer s.serverLock.Unlock()
+ // TODO(e.burkov): Try to move it higher.
if localUps != nil {
- s.localResolvers.UpstreamConfig.Upstreams = []upstream.Upstream{localUps}
+ ups := []upstream.Upstream{localUps}
+ s.localResolvers.UpstreamConfig.Upstreams = ups
s.conf.UsePrivateRDNS = true
+ s.dnsProxy.PrivateRDNSUpstreamConfig = &proxy.UpstreamConfig{
+ Upstreams: ups,
+ }
}
return s
@@ -1216,6 +1221,9 @@ func TestServer_Exchange(t *testing.T) {
errUpstream := aghtest.NewErrorUpstream()
nonPtrUpstream := aghtest.NewBlockUpstream("some-host", true)
+ refusingUpstream := aghtest.NewUpstreamMock(func(req *dns.Msg) (resp *dns.Msg, err error) {
+ return new(dns.Msg).SetRcode(req, dns.RcodeRefused), nil
+ })
srv := &Server{
recDetector: newRecursionDetector(0, 1),
@@ -1260,15 +1268,21 @@ func TestServer_Exchange(t *testing.T) {
}, {
name: "empty_answer_error",
want: "",
- wantErr: rDNSEmptyAnswerErr,
+ wantErr: ErrRDNSNoData,
locUpstream: locUpstream,
req: net.IP{192, 168, 1, 2},
}, {
- name: "not_ptr_error",
+ name: "invalid_answer",
want: "",
- wantErr: rDNSNotPTRErr,
+ wantErr: ErrRDNSNoData,
locUpstream: nonPtrUpstream,
req: localIP,
+ }, {
+ name: "refused",
+ want: "",
+ wantErr: ErrRDNSFailed,
+ locUpstream: refusingUpstream,
+ req: localIP,
}}
for _, tc := range testCases {
diff --git a/internal/dnsforward/stats.go b/internal/dnsforward/stats.go
index 4d63220d..3fb6e245 100644
--- a/internal/dnsforward/stats.go
+++ b/internal/dnsforward/stats.go
@@ -22,9 +22,11 @@ func (s *Server) processQueryLogsAndStats(dctx *dnsContext) (rc resultCode) {
shouldLog := true
msg := pctx.Req
+ q := msg.Question[0]
+ host := strings.ToLower(strings.TrimSuffix(q.Name, "."))
// don't log ANY request if refuseAny is enabled
- if len(msg.Question) >= 1 && msg.Question[0].Qtype == dns.TypeANY && s.conf.RefuseAny {
+ if q.Qtype == dns.TypeANY && s.conf.RefuseAny {
shouldLog = false
}
@@ -41,11 +43,20 @@ func (s *Server) processQueryLogsAndStats(dctx *dnsContext) (rc resultCode) {
// Synchronize access to s.queryLog and s.stats so they won't be suddenly
// uninitialized while in use. This can happen after proxy server has been
// stopped, but its workers haven't yet exited.
- if shouldLog && s.queryLog != nil {
+ if shouldLog &&
+ s.queryLog != nil &&
+ s.queryLog.ShouldLog(host, q.Qtype, q.Qclass) {
s.logQuery(dctx, pctx, elapsed, ip)
+ } else {
+ log.Debug(
+ "dnsforward: request %s %s from %s ignored; not logging",
+ dns.Type(q.Qtype),
+ host,
+ ip,
+ )
}
- if s.stats != nil {
+ if s.stats != nil && s.stats.ShouldCount(host, q.Qtype, q.Qclass) {
s.updateStats(dctx, elapsed, *dctx.result, ip)
}
diff --git a/internal/dnsforward/stats_test.go b/internal/dnsforward/stats_test.go
index d991be12..6fa82a0e 100644
--- a/internal/dnsforward/stats_test.go
+++ b/internal/dnsforward/stats_test.go
@@ -16,34 +16,44 @@ import (
"github.com/stretchr/testify/require"
)
-// testQueryLog is a simple querylog.QueryLog implementation for tests.
+// testQueryLog is a simple [querylog.QueryLog] implementation for tests.
type testQueryLog struct {
// QueryLog is embedded here simply to make testQueryLog
- // a querylog.QueryLog without actually implementing all methods.
+ // a [querylog.QueryLog] without actually implementing all methods.
querylog.QueryLog
lastParams *querylog.AddParams
}
-// Add implements the querylog.QueryLog interface for *testQueryLog.
+// Add implements the [querylog.QueryLog] interface for *testQueryLog.
func (l *testQueryLog) Add(p *querylog.AddParams) {
l.lastParams = p
}
-// testStats is a simple stats.Stats implementation for tests.
+// ShouldLog implements the [querylog.QueryLog] interface for *testQueryLog.
+func (l *testQueryLog) ShouldLog(string, uint16, uint16) bool {
+ return true
+}
+
+// testStats is a simple [stats.Interface] implementation for tests.
type testStats struct {
- // Stats is embedded here simply to make testStats a stats.Stats without
- // actually implementing all methods.
+ // Stats is embedded here simply to make testStats a [stats.Interface]
+ // without actually implementing all methods.
stats.Interface
lastEntry stats.Entry
}
-// Update implements the stats.Stats interface for *testStats.
+// Update implements the [stats.Interface] interface for *testStats.
func (l *testStats) Update(e stats.Entry) {
l.lastEntry = e
}
+// ShouldCount implements the [stats.Interface] interface for *testStats.
+func (l *testStats) ShouldCount(string, uint16, uint16) bool {
+ return true
+}
+
func TestProcessQueryLogsAndStats(t *testing.T) {
testCases := []struct {
name string
diff --git a/internal/filtering/servicelist.go b/internal/filtering/servicelist.go
index e5b36d97..93fe79cd 100644
--- a/internal/filtering/servicelist.go
+++ b/internal/filtering/servicelist.go
@@ -1283,7 +1283,7 @@ var blockedServices = []blockedService{{
}, {
ID: "leagueoflegends",
Name: "League of Legends",
- IconSVG: []byte(""),
+ IconSVG: []byte(""),
Rules: []string{
"||leagueoflegends.co.kr^",
"||leagueoflegends.com^",
@@ -1307,9 +1307,7 @@ var blockedServices = []blockedService{{
Rules: []string{
"||aus.social^",
"||awscommunity.social^",
- "||cupoftea.social^",
"||cyberplace.social^",
- "||defcon.social^",
"||det.social^",
"||fosstodon.org^",
"||glasgow.social^",
@@ -1335,7 +1333,6 @@ var blockedServices = []blockedService{{
"||mastodon.au^",
"||mastodon.bida.im^",
"||mastodon.com.tr^",
- "||mastodon.eus^",
"||mastodon.green^",
"||mastodon.ie^",
"||mastodon.iriseden.eu^",
@@ -1343,13 +1340,15 @@ var blockedServices = []blockedService{{
"||mastodon.nu^",
"||mastodon.nz^",
"||mastodon.online^",
+ "||mastodon.online^",
"||mastodon.scot^",
"||mastodon.sdf.org^",
"||mastodon.social^",
+ "||mastodon.social^",
"||mastodon.top^",
"||mastodon.uno^",
"||mastodon.world^",
- "||mastodon.zaclys.com^",
+ "||mastodon.xyz^",
"||mastodonapp.uk^",
"||mastodonners.nl^",
"||mastodont.cat^",
@@ -1361,9 +1360,10 @@ var blockedServices = []blockedService{{
"||mindly.social^",
"||mstdn.ca^",
"||mstdn.jp^",
+ "||mstdn.party^",
"||mstdn.social^",
"||muenchen.social^",
- "||muenster.im^",
+ "||nerdculture.de^",
"||newsie.social^",
"||noc.social^",
"||norden.social^",
diff --git a/internal/home/clients.go b/internal/home/clients.go
index f46c616e..5d0a9ef2 100644
--- a/internal/home/clients.go
+++ b/internal/home/clients.go
@@ -67,15 +67,18 @@ func (c *Client) closeUpstreams() (err error) {
type clientSource uint
-// Client sources. The order determines the priority.
+// Clients information sources. The order determines the priority.
const (
- ClientSourceWHOIS clientSource = iota
+ ClientSourceNone clientSource = iota
+ ClientSourceWHOIS
ClientSourceARP
ClientSourceRDNS
ClientSourceDHCP
ClientSourceHostsFile
+ ClientSourcePersistent
)
+// type check
var _ fmt.Stringer = clientSource(0)
// String returns a human-readable name of cs.
@@ -96,6 +99,7 @@ func (cs clientSource) String() (s string) {
}
}
+// type check
var _ encoding.TextMarshaler = clientSource(0)
// MarshalText implements encoding.TextMarshaler for the clientSource.
@@ -332,23 +336,24 @@ func (clients *clientsContainer) onDHCPLeaseChanged(flags int) {
}
}
-// exists checks if client with this IP address already exists.
-func (clients *clientsContainer) exists(ip netip.Addr, source clientSource) (ok bool) {
+// clientSource checks if client with this IP address already exists and returns
+// the source which updated it last. It returns [ClientSourceNone] if the
+// client doesn't exist.
+func (clients *clientsContainer) clientSource(ip netip.Addr) (src clientSource) {
clients.lock.Lock()
defer clients.lock.Unlock()
- _, ok = clients.findLocked(ip.String())
+ _, ok := clients.findLocked(ip.String())
if ok {
- return true
+ return ClientSourcePersistent
}
rc, ok := clients.ipToRC[ip]
if !ok {
- return false
+ return ClientSourceNone
}
- // Return false if the new source has higher priority.
- return source <= rc.Source
+ return rc.Source
}
func toQueryLogWHOIS(wi *RuntimeClientWHOISInfo) (cw *querylog.ClientWHOIS) {
diff --git a/internal/home/clients_test.go b/internal/home/clients_test.go
index ca98352a..612fe7db 100644
--- a/internal/home/clients_test.go
+++ b/internal/home/clients_test.go
@@ -67,9 +67,9 @@ func TestClients(t *testing.T) {
assert.Equal(t, "client2", c.Name)
- assert.False(t, clients.exists(cliNoneIP, ClientSourceHostsFile))
- assert.True(t, clients.exists(cli1IP, ClientSourceHostsFile))
- assert.True(t, clients.exists(cli2IP, ClientSourceHostsFile))
+ assert.Equal(t, clients.clientSource(cliNoneIP), ClientSourceNone)
+ assert.Equal(t, clients.clientSource(cli1IP), ClientSourcePersistent)
+ assert.Equal(t, clients.clientSource(cli2IP), ClientSourcePersistent)
})
t.Run("add_fail_name", func(t *testing.T) {
@@ -127,8 +127,8 @@ func TestClients(t *testing.T) {
})
require.NoError(t, err)
- assert.False(t, clients.exists(cliOldIP, ClientSourceHostsFile))
- assert.True(t, clients.exists(cliNewIP, ClientSourceHostsFile))
+ assert.Equal(t, clients.clientSource(cliOldIP), ClientSourceNone)
+ assert.Equal(t, clients.clientSource(cliNewIP), ClientSourcePersistent)
err = clients.Update("client1", &Client{
IDs: []string{cliNew},
@@ -157,7 +157,7 @@ func TestClients(t *testing.T) {
ok := clients.Del("client1-renamed")
require.True(t, ok)
- assert.False(t, clients.exists(netip.MustParseAddr("1.1.1.2"), ClientSourceHostsFile))
+ assert.Equal(t, clients.clientSource(netip.MustParseAddr("1.1.1.2")), ClientSourceNone)
})
t.Run("del_fail", func(t *testing.T) {
@@ -176,18 +176,18 @@ func TestClients(t *testing.T) {
ok = clients.AddHost(ip, "host3", ClientSourceHostsFile)
assert.True(t, ok)
- assert.True(t, clients.exists(ip, ClientSourceHostsFile))
+ assert.Equal(t, clients.clientSource(ip), ClientSourceHostsFile)
})
t.Run("dhcp_replaces_arp", func(t *testing.T) {
ip := netip.MustParseAddr("1.2.3.4")
ok := clients.AddHost(ip, "from_arp", ClientSourceARP)
assert.True(t, ok)
- assert.True(t, clients.exists(ip, ClientSourceARP))
+ assert.Equal(t, clients.clientSource(ip), ClientSourceARP)
ok = clients.AddHost(ip, "from_dhcp", ClientSourceDHCP)
assert.True(t, ok)
- assert.True(t, clients.exists(ip, ClientSourceDHCP))
+ assert.Equal(t, clients.clientSource(ip), ClientSourceDHCP)
})
t.Run("addhost_fail", func(t *testing.T) {
diff --git a/internal/home/config.go b/internal/home/config.go
index f2fc98f5..69baa18c 100644
--- a/internal/home/config.go
+++ b/internal/home/config.go
@@ -6,6 +6,7 @@ import (
"net/netip"
"os"
"path/filepath"
+ "sort"
"sync"
"github.com/AdguardTeam/AdGuardHome/internal/aghalg"
@@ -112,8 +113,10 @@ type configuration struct {
// An active session is automatically refreshed once a day.
WebSessionTTLHours uint32 `yaml:"web_session_ttl"`
- DNS dnsConfig `yaml:"dns"`
- TLS tlsConfigSettings `yaml:"tls"`
+ DNS dnsConfig `yaml:"dns"`
+ TLS tlsConfigSettings `yaml:"tls"`
+ QueryLog queryLogConfig `yaml:"querylog"`
+ Stats statsConfig `yaml:"statistics"`
// Filters reflects the filters from [filtering.Config]. It's cloned to the
// config used in the filtering module at the startup. Afterwards it's
@@ -147,20 +150,6 @@ type dnsConfig struct {
BindHosts []netip.Addr `yaml:"bind_hosts"`
Port int `yaml:"port"`
- // StatsInterval is the time interval for flushing statistics to the disk in
- // days.
- StatsInterval uint32 `yaml:"statistics_interval"`
-
- // QueryLogEnabled defines if the query log is enabled.
- QueryLogEnabled bool `yaml:"querylog_enabled"`
- // QueryLogFileEnabled defines, if the query log is written to the file.
- QueryLogFileEnabled bool `yaml:"querylog_file_enabled"`
- // QueryLogInterval is the interval for query log's files rotation.
- QueryLogInterval timeutil.Duration `yaml:"querylog_interval"`
- // QueryLogMemSize is the number of entries kept in memory before they are
- // flushed to disk.
- QueryLogMemSize uint32 `yaml:"querylog_size_memory"`
-
// AnonymizeClientIP defines if clients' IP addresses should be anonymized
// in query log and statistics.
AnonymizeClientIP bool `yaml:"anonymize_client_ip"`
@@ -188,7 +177,7 @@ type dnsConfig struct {
UseDNS64 bool `yaml:"use_dns64"`
// DNS64Prefixes is the list of NAT64 prefixes to be used for DNS64.
- DNS64Prefixes []string `yaml:"dns64_prefixes"`
+ DNS64Prefixes []netip.Prefix `yaml:"dns64_prefixes"`
// ServeHTTP3 defines if HTTP/3 is be allowed for incoming requests.
//
@@ -228,6 +217,37 @@ type tlsConfigSettings struct {
dnsforward.TLSConfig `yaml:",inline" json:",inline"`
}
+type queryLogConfig struct {
+ // Enabled defines if the query log is enabled.
+ Enabled bool `yaml:"enabled"`
+
+ // FileEnabled defines, if the query log is written to the file.
+ FileEnabled bool `yaml:"file_enabled"`
+
+ // Interval is the interval for query log's files rotation.
+ Interval timeutil.Duration `yaml:"interval"`
+
+ // MemSize is the number of entries kept in memory before they are
+ // flushed to disk.
+ MemSize uint32 `yaml:"size_memory"`
+
+ // Ignored is the list of host names, which should not be written to
+ // log.
+ Ignored []string `yaml:"ignored"`
+}
+
+type statsConfig struct {
+ // Enabled defines if the statistics are enabled.
+ Enabled bool `yaml:"enabled"`
+
+ // Interval is the time interval for flushing statistics to the disk in
+ // days.
+ Interval uint32 `yaml:"interval"`
+
+ // Ignored is the list of host names, which should not be counted.
+ Ignored []string `yaml:"ignored"`
+}
+
// config is the global configuration structure.
//
// TODO(a.garipov, e.burkov): This global is awful and must be removed.
@@ -238,13 +258,8 @@ var config = &configuration{
AuthBlockMin: 15,
WebSessionTTLHours: 30 * 24,
DNS: dnsConfig{
- BindHosts: []netip.Addr{netip.IPv4Unspecified()},
- Port: defaultPortDNS,
- StatsInterval: 1,
- QueryLogEnabled: true,
- QueryLogFileEnabled: true,
- QueryLogInterval: timeutil.Duration{Duration: 90 * timeutil.Day},
- QueryLogMemSize: 1000,
+ BindHosts: []netip.Addr{netip.IPv4Unspecified()},
+ Port: defaultPortDNS,
FilteringConfig: dnsforward.FilteringConfig{
ProtectionEnabled: true, // whether or not use any of filtering features
BlockingMode: dnsforward.BlockingModeDefault,
@@ -282,6 +297,18 @@ var config = &configuration{
PortDNSOverTLS: defaultPortTLS, // needs to be passed through to dnsproxy
PortDNSOverQUIC: defaultPortQUIC,
},
+ QueryLog: queryLogConfig{
+ Enabled: true,
+ FileEnabled: true,
+ Interval: timeutil.Duration{Duration: 90 * timeutil.Day},
+ MemSize: 1000,
+ Ignored: []string{},
+ },
+ Stats: statsConfig{
+ Enabled: true,
+ Interval: 1,
+ Ignored: []string{},
+ },
// NOTE: Keep these parameters in sync with the one put into
// client/src/helpers/filters/filters.js by scripts/vetted-filters.
//
@@ -458,19 +485,24 @@ func (c *configuration) write() (err error) {
}
if Context.stats != nil {
- sdc := stats.DiskConfig{}
- Context.stats.WriteDiskConfig(&sdc)
- config.DNS.StatsInterval = sdc.Interval
+ statsConf := stats.Config{}
+ Context.stats.WriteDiskConfig(&statsConf)
+ config.Stats.Interval = statsConf.LimitDays
+ config.Stats.Enabled = statsConf.Enabled
+ config.Stats.Ignored = statsConf.Ignored.Values()
+ sort.Strings(config.Stats.Ignored)
}
if Context.queryLog != nil {
dc := querylog.Config{}
Context.queryLog.WriteDiskConfig(&dc)
- config.DNS.QueryLogEnabled = dc.Enabled
- config.DNS.QueryLogFileEnabled = dc.FileEnabled
- config.DNS.QueryLogInterval = timeutil.Duration{Duration: dc.RotationIvl}
- config.DNS.QueryLogMemSize = dc.MemSize
config.DNS.AnonymizeClientIP = dc.AnonymizeClientIP
+ config.QueryLog.Enabled = dc.Enabled
+ config.QueryLog.FileEnabled = dc.FileEnabled
+ config.QueryLog.Interval = timeutil.Duration{Duration: dc.RotationIvl}
+ config.QueryLog.MemSize = dc.MemSize
+ config.QueryLog.Ignored = dc.Ignored.Values()
+ sort.Strings(config.QueryLog.Ignored)
}
if Context.filters != nil {
diff --git a/internal/home/controlinstall.go b/internal/home/controlinstall.go
index 7b053f14..b58193ee 100644
--- a/internal/home/controlinstall.go
+++ b/internal/home/controlinstall.go
@@ -20,7 +20,7 @@ import (
"github.com/AdguardTeam/AdGuardHome/internal/version"
"github.com/AdguardTeam/golibs/errors"
"github.com/AdguardTeam/golibs/log"
- "github.com/lucas-clemente/quic-go/http3"
+ "github.com/quic-go/quic-go/http3"
)
// getAddrsResponse is the response for /install/get_addresses endpoint.
diff --git a/internal/home/dns.go b/internal/home/dns.go
index 4db9b1b2..855a4029 100644
--- a/internal/home/dns.go
+++ b/internal/home/dns.go
@@ -7,6 +7,7 @@ import (
"net/url"
"os"
"path/filepath"
+ "strings"
"github.com/AdguardTeam/AdGuardHome/internal/aghalg"
"github.com/AdguardTeam/AdGuardHome/internal/aghhttp"
@@ -20,6 +21,7 @@ import (
"github.com/AdguardTeam/golibs/errors"
"github.com/AdguardTeam/golibs/log"
"github.com/AdguardTeam/golibs/netutil"
+ "github.com/AdguardTeam/golibs/stringutil"
"github.com/ameshkov/dnscrypt/v2"
yaml "gopkg.in/yaml.v3"
)
@@ -51,10 +53,18 @@ func initDNS() (err error) {
statsConf := stats.Config{
Filename: filepath.Join(baseDir, "stats.db"),
- LimitDays: config.DNS.StatsInterval,
+ LimitDays: config.Stats.Interval,
ConfigModified: onConfigModified,
HTTPRegister: httpRegister,
+ Enabled: config.Stats.Enabled,
}
+
+ set, err := nonDupEmptyHostNames(config.Stats.Ignored)
+ if err != nil {
+ return fmt.Errorf("statistics: ignored list: %w", err)
+ }
+
+ statsConf.Ignored = set
Context.stats, err = stats.New(statsConf)
if err != nil {
return fmt.Errorf("init stats: %w", err)
@@ -66,12 +76,19 @@ func initDNS() (err error) {
HTTPRegister: httpRegister,
FindClient: Context.clients.findMultiple,
BaseDir: baseDir,
- RotationIvl: config.DNS.QueryLogInterval.Duration,
- MemSize: config.DNS.QueryLogMemSize,
- Enabled: config.DNS.QueryLogEnabled,
- FileEnabled: config.DNS.QueryLogFileEnabled,
AnonymizeClientIP: config.DNS.AnonymizeClientIP,
+ RotationIvl: config.QueryLog.Interval.Duration,
+ MemSize: config.QueryLog.MemSize,
+ Enabled: config.QueryLog.Enabled,
+ FileEnabled: config.QueryLog.FileEnabled,
}
+
+ set, err = nonDupEmptyHostNames(config.QueryLog.Ignored)
+ if err != nil {
+ return fmt.Errorf("querylog: ignored list: %w", err)
+ }
+
+ conf.Ignored = set
Context.queryLog = querylog.New(conf)
Context.filters, err = filtering.New(config.DNS.DnsfilterConf, nil)
@@ -515,3 +532,27 @@ func closeDNSServer() {
log.Debug("all dns modules are closed")
}
+
+// nonDupEmptyHostNames returns nil and error, if list has duplicate or empty
+// host name. Otherwise returns a set, which contains lowercase host names
+// without dot at the end, and nil error.
+func nonDupEmptyHostNames(list []string) (set *stringutil.Set, err error) {
+ set = stringutil.NewSet()
+
+ for _, v := range list {
+ host := strings.ToLower(strings.TrimSuffix(v, "."))
+ // TODO(a.garipov): Think about ignoring empty (".") names in
+ // the future.
+ if host == "" {
+ return nil, errors.Error("host name is empty")
+ }
+
+ if set.Has(host) {
+ return nil, fmt.Errorf("duplicate host name %q", host)
+ }
+
+ set.Add(host)
+ }
+
+ return set, nil
+}
diff --git a/internal/home/rdns.go b/internal/home/rdns.go
index c6ce0f59..cae7a9c3 100644
--- a/internal/home/rdns.go
+++ b/internal/home/rdns.go
@@ -8,6 +8,7 @@ import (
"github.com/AdguardTeam/AdGuardHome/internal/dnsforward"
"github.com/AdguardTeam/golibs/cache"
+ "github.com/AdguardTeam/golibs/errors"
"github.com/AdguardTeam/golibs/log"
)
@@ -16,10 +17,6 @@ type RDNS struct {
exchanger dnsforward.RDNSExchanger
clients *clientsContainer
- // usePrivate is used to store the state of current private RDNS resolving
- // settings and to react to it's changes.
- usePrivate uint32
-
// ipCh used to pass client's IP to rDNS workerLoop.
ipCh chan netip.Addr
@@ -28,13 +25,21 @@ type RDNS struct {
// address will be resolved once again. If the address couldn't be
// resolved, cache prevents further attempts to resolve it for some time.
ipCache cache.Cache
+
+ // usePrivate stores the state of current private reverse-DNS resolving
+ // settings.
+ usePrivate atomic.Bool
}
-// Default rDNS values.
+// Default AdGuard Home reverse DNS values.
const (
- defaultRDNSCacheSize = 10000
- defaultRDNSCacheTTL = 1 * 60 * 60
- defaultRDNSIPChSize = 256
+ revDNSCacheSize = 10000
+
+ // TODO(e.burkov): Make these values configurable.
+ revDNSCacheTTL = 24 * 60 * 60
+ revDNSFailureCacheTTL = 1 * 60 * 60
+
+ revDNSQueueSize = 256
)
// NewRDNS creates and returns initialized RDNS.
@@ -48,14 +53,13 @@ func NewRDNS(
clients: clients,
ipCache: cache.New(cache.Config{
EnableLRU: true,
- MaxCount: defaultRDNSCacheSize,
+ MaxCount: revDNSCacheSize,
}),
- ipCh: make(chan netip.Addr, defaultRDNSIPChSize),
- }
- if usePrivate {
- rDNS.usePrivate = 1
+ ipCh: make(chan netip.Addr, revDNSQueueSize),
}
+ rDNS.usePrivate.Store(usePrivate)
+
go rDNS.workerLoop()
return rDNS
@@ -68,12 +72,8 @@ func NewRDNS(
// approach since only unresolved locally-served addresses should be removed.
// Implement when improving the cache.
func (r *RDNS) ensurePrivateCache() {
- var usePrivate uint32
- if r.exchanger.ResolvesPrivatePTR() {
- usePrivate = 1
- }
-
- if atomic.CompareAndSwapUint32(&r.usePrivate, 1-usePrivate, usePrivate) {
+ usePrivate := r.exchanger.ResolvesPrivatePTR()
+ if r.usePrivate.CompareAndSwap(!usePrivate, usePrivate) {
r.ipCache.Clear()
}
}
@@ -84,25 +84,28 @@ func (r *RDNS) isCached(ip netip.Addr) (ok bool) {
ipBytes := ip.AsSlice()
now := uint64(time.Now().Unix())
if expire := r.ipCache.Get(ipBytes); len(expire) != 0 {
- if binary.BigEndian.Uint64(expire) > now {
- return true
- }
+ return binary.BigEndian.Uint64(expire) > now
}
- // The cache entry either expired or doesn't exist.
- ttl := make([]byte, 8)
- binary.BigEndian.PutUint64(ttl, now+defaultRDNSCacheTTL)
- r.ipCache.Set(ipBytes, ttl)
-
return false
}
+// cache caches the ip address for ttl seconds.
+func (r *RDNS) cache(ip netip.Addr, ttl uint64) {
+ ipData := ip.AsSlice()
+
+ ttlData := [8]byte{}
+ binary.BigEndian.PutUint64(ttlData[:], uint64(time.Now().Unix())+ttl)
+
+ r.ipCache.Set(ipData, ttlData[:])
+}
+
// Begin adds the ip to the resolving queue if it is not cached or already
// resolved.
func (r *RDNS) Begin(ip netip.Addr) {
r.ensurePrivateCache()
- if r.isCached(ip) || r.clients.exists(ip, ClientSourceRDNS) {
+ if r.isCached(ip) || r.clients.clientSource(ip) > ClientSourceRDNS {
return
}
@@ -120,15 +123,21 @@ func (r *RDNS) workerLoop() {
defer log.OnPanic("rdns")
for ip := range r.ipCh {
+ ttl := uint64(revDNSCacheTTL)
+
host, err := r.exchanger.Exchange(ip.AsSlice())
if err != nil {
log.Debug("rdns: resolving %q: %s", ip, err)
-
- continue
- } else if host == "" {
- continue
+ if errors.Is(err, dnsforward.ErrRDNSFailed) {
+ // Cache failure for a less time.
+ ttl = revDNSFailureCacheTTL
+ }
}
- _ = r.clients.AddHost(ip, host, ClientSourceRDNS)
+ r.cache(ip, ttl)
+
+ if host != "" {
+ _ = r.clients.AddHost(ip, host, ClientSourceRDNS)
+ }
}
}
diff --git a/internal/home/rdns_test.go b/internal/home/rdns_test.go
index 8dc675b5..4e424273 100644
--- a/internal/home/rdns_test.go
+++ b/internal/home/rdns_test.go
@@ -76,7 +76,7 @@ func TestRDNS_Begin(t *testing.T) {
ipCache := cache.New(cache.Config{
EnableLRU: true,
- MaxCount: defaultRDNSCacheSize,
+ MaxCount: revDNSCacheSize,
})
ttl := make([]byte, binary.Size(uint64(0)))
binary.BigEndian.PutUint64(ttl, uint64(time.Now().Add(100*time.Hour).Unix()))
@@ -153,7 +153,7 @@ func TestRDNS_ensurePrivateCache(t *testing.T) {
ipCache := cache.New(cache.Config{
EnableLRU: true,
- MaxCount: defaultRDNSCacheSize,
+ MaxCount: revDNSCacheSize,
})
ex := &rDNSExchanger{
@@ -200,25 +200,29 @@ func TestRDNS_WorkerLoop(t *testing.T) {
errUpstream := aghtest.NewErrorUpstream()
testCases := []struct {
- ups upstream.Upstream
- cliIP netip.Addr
- wantLog string
- name string
+ ups upstream.Upstream
+ cliIP netip.Addr
+ wantLog string
+ name string
+ wantClientSource clientSource
}{{
- ups: locUpstream,
- cliIP: localIP,
- wantLog: "",
- name: "all_good",
+ ups: locUpstream,
+ cliIP: localIP,
+ wantLog: "",
+ name: "all_good",
+ wantClientSource: ClientSourceRDNS,
}, {
- ups: errUpstream,
- cliIP: netip.MustParseAddr("192.168.1.2"),
- wantLog: `rdns: resolving "192.168.1.2": test upstream error`,
- name: "resolve_error",
+ ups: errUpstream,
+ cliIP: netip.MustParseAddr("192.168.1.2"),
+ wantLog: `rdns: resolving "192.168.1.2": test upstream error`,
+ name: "resolve_error",
+ wantClientSource: ClientSourceNone,
}, {
- ups: locUpstream,
- cliIP: netip.MustParseAddr("2a00:1450:400c:c06::93"),
- wantLog: "",
- name: "ipv6_good",
+ ups: locUpstream,
+ cliIP: netip.MustParseAddr("2a00:1450:400c:c06::93"),
+ wantLog: "",
+ name: "ipv6_good",
+ wantClientSource: ClientSourceRDNS,
}}
for _, tc := range testCases {
@@ -237,6 +241,10 @@ func TestRDNS_WorkerLoop(t *testing.T) {
},
clients: cc,
ipCh: ch,
+ ipCache: cache.New(cache.Config{
+ EnableLRU: true,
+ MaxCount: revDNSCacheSize,
+ }),
}
t.Run(tc.name, func(t *testing.T) {
@@ -253,11 +261,9 @@ func TestRDNS_WorkerLoop(t *testing.T) {
if tc.wantLog != "" {
assert.Contains(t, w.String(), tc.wantLog)
-
- return
}
- assert.True(t, cc.exists(tc.cliIP, ClientSourceRDNS))
+ assert.Equal(t, tc.wantClientSource, cc.clientSource(tc.cliIP))
})
}
}
diff --git a/internal/home/upgrade.go b/internal/home/upgrade.go
index 132a82af..0f53bcdc 100644
--- a/internal/home/upgrade.go
+++ b/internal/home/upgrade.go
@@ -22,7 +22,7 @@ import (
)
// currentSchemaVersion is the current schema version.
-const currentSchemaVersion = 14
+const currentSchemaVersion = 16
// These aliases are provided for convenience.
type (
@@ -87,6 +87,8 @@ func upgradeConfigSchema(oldVersion int, diskConf yobj) (err error) {
upgradeSchema11to12,
upgradeSchema12to13,
upgradeSchema13to14,
+ upgradeSchema14to15,
+ upgradeSchema15to16,
}
n := 0
@@ -802,6 +804,107 @@ func upgradeSchema13to14(diskConf yobj) (err error) {
return nil
}
+// upgradeSchema14to15 performs the following changes:
+//
+// # BEFORE:
+// 'dns':
+// 'querylog_enabled': true
+// 'querylog_file_enabled': true
+// 'querylog_interval': '2160h'
+// 'querylog_size_memory': 1000
+//
+// # AFTER:
+// 'querylog':
+// 'enabled': true
+// 'file_enabled': true
+// 'interval': '2160h'
+// 'size_memory': 1000
+// 'ignored': []
+func upgradeSchema14to15(diskConf yobj) (err error) {
+ log.Printf("Upgrade yaml: 14 to 15")
+ diskConf["schema_version"] = 15
+
+ dnsVal, ok := diskConf["dns"]
+ if !ok {
+ return nil
+ }
+
+ dns, ok := dnsVal.(yobj)
+ if !ok {
+ return fmt.Errorf("unexpected type of dns: %T", dnsVal)
+ }
+
+ type temp struct {
+ from string
+ to string
+ val any
+ }
+ replaces := []temp{
+ {from: "querylog_enabled", to: "enabled", val: true},
+ {from: "querylog_file_enabled", to: "file_enabled", val: true},
+ {from: "querylog_interval", to: "interval", val: "2160h"},
+ {from: "querylog_size_memory", to: "size_memory", val: 1000},
+ }
+ qlog := map[string]any{
+ "ignored": []any{},
+ }
+ for _, r := range replaces {
+ v, has := dns[r.from]
+ if !has {
+ v = r.val
+ }
+ delete(dns, r.from)
+ qlog[r.to] = v
+ }
+ diskConf["querylog"] = qlog
+
+ return nil
+}
+
+// upgradeSchema15to16 performs the following changes:
+//
+// # BEFORE:
+// 'dns':
+// 'statistics_interval': 1
+//
+// # AFTER:
+// 'statistics':
+// 'enabled': true
+// 'interval': 1
+// 'ignored': []
+func upgradeSchema15to16(diskConf yobj) (err error) {
+ log.Printf("Upgrade yaml: 15 to 16")
+ diskConf["schema_version"] = 16
+
+ dnsVal, ok := diskConf["dns"]
+ if !ok {
+ return nil
+ }
+
+ dns, ok := dnsVal.(yobj)
+ if !ok {
+ return fmt.Errorf("unexpected type of dns: %T", dnsVal)
+ }
+
+ stats := map[string]any{
+ "enabled": true,
+ "interval": 1,
+ "ignored": []any{},
+ }
+
+ k := "statistics_interval"
+ v, has := dns[k]
+ if has {
+ stats["enabled"] = v != 0
+ stats["interval"] = v
+ }
+ delete(dns, k)
+
+ diskConf["statistics"] = stats
+
+ return nil
+}
+
// TODO(a.garipov): Replace with log.Output when we port it to our logging
// package.
func funcName() string {
diff --git a/internal/home/upgrade_test.go b/internal/home/upgrade_test.go
index 949dac5f..14a43f70 100644
--- a/internal/home/upgrade_test.go
+++ b/internal/home/upgrade_test.go
@@ -640,3 +640,110 @@ func TestUpgradeSchema13to14(t *testing.T) {
})
}
}
+
+func TestUpgradeSchema14to15(t *testing.T) {
+ const newSchemaVer = 15
+
+ defaultWantObj := yobj{
+ "querylog": map[string]any{
+ "enabled": true,
+ "file_enabled": true,
+ "interval": "2160h",
+ "size_memory": 1000,
+ "ignored": []any{},
+ },
+ "dns": map[string]any{},
+ "schema_version": newSchemaVer,
+ }
+
+ testCases := []struct {
+ in yobj
+ want yobj
+ name string
+ }{{
+ in: yobj{
+ "dns": map[string]any{
+ "querylog_enabled": true,
+ "querylog_file_enabled": true,
+ "querylog_interval": "2160h",
+ "querylog_size_memory": 1000,
+ },
+ },
+ want: defaultWantObj,
+ name: "basic",
+ }, {
+ in: yobj{
+ "dns": map[string]any{},
+ },
+ want: defaultWantObj,
+ name: "default_values",
+ }}
+
+ for _, tc := range testCases {
+ t.Run(tc.name, func(t *testing.T) {
+ err := upgradeSchema14to15(tc.in)
+ require.NoError(t, err)
+
+ assert.Equal(t, tc.want, tc.in)
+ })
+ }
+}
+
+func TestUpgradeSchema15to16(t *testing.T) {
+ const newSchemaVer = 16
+
+ defaultWantObj := yobj{
+ "statistics": map[string]any{
+ "enabled": true,
+ "interval": 1,
+ "ignored": []any{},
+ },
+ "dns": map[string]any{},
+ "schema_version": newSchemaVer,
+ }
+
+ testCases := []struct {
+ in yobj
+ want yobj
+ name string
+ }{{
+ in: yobj{
+ "dns": map[string]any{
+ "statistics_interval": 1,
+ },
+ },
+ want: defaultWantObj,
+ name: "basic",
+ }, {
+ in: yobj{
+ "dns": map[string]any{},
+ },
+ want: defaultWantObj,
+ name: "default_values",
+ }, {
+ in: yobj{
+ "dns": map[string]any{
+ "statistics_interval": 0,
+ },
+ },
+ want: yobj{
+ "statistics": map[string]any{
+ "enabled": false,
+ "interval": 0,
+ "ignored": []any{},
+ },
+ "dns": map[string]any{},
+ "schema_version": newSchemaVer,
+ },
+ name: "stats_disabled",
+ }}
+
+ for _, tc := range testCases {
+ t.Run(tc.name, func(t *testing.T) {
+ err := upgradeSchema15to16(tc.in)
+ require.NoError(t, err)
+
+ assert.Equal(t, tc.want, tc.in)
+ })
+ }
+}
diff --git a/internal/home/web.go b/internal/home/web.go
index 96c0a6a9..8f9b23f1 100644
--- a/internal/home/web.go
+++ b/internal/home/web.go
@@ -15,8 +15,8 @@ import (
"github.com/AdguardTeam/golibs/log"
"github.com/AdguardTeam/golibs/netutil"
"github.com/NYTimes/gziphandler"
- "github.com/lucas-clemente/quic-go"
- "github.com/lucas-clemente/quic-go/http3"
+ "github.com/quic-go/quic-go"
+ "github.com/quic-go/quic-go/http3"
"golang.org/x/net/http2"
"golang.org/x/net/http2/h2c"
)
diff --git a/internal/querylog/http.go b/internal/querylog/http.go
index f5c2960f..e8fbbc30 100644
--- a/internal/querylog/http.go
+++ b/internal/querylog/http.go
@@ -44,6 +44,9 @@ func (l *queryLog) initWeb() {
}
func (l *queryLog) handleQueryLog(w http.ResponseWriter, r *http.Request) {
+ l.lock.Lock()
+ defer l.lock.Unlock()
+
params, err := l.parseSearchParams(r)
if err != nil {
aghhttp.Error(r, w, http.StatusBadRequest, "failed to parse params: %s", err)
diff --git a/internal/querylog/qlog.go b/internal/querylog/qlog.go
index 24eec40e..32ac1a73 100644
--- a/internal/querylog/qlog.go
+++ b/internal/querylog/qlog.go
@@ -247,3 +247,13 @@ func (l *queryLog) Add(params *AddParams) {
}()
}
}
+
+// ShouldLog returns true if request for the host should be logged.
+func (l *queryLog) ShouldLog(host string, _, _ uint16) bool {
+ return !l.isIgnored(host)
+}
+
+// isIgnored returns true if the host is in the Ignored list.
+func (l *queryLog) isIgnored(host string) bool {
+ return l.conf.Ignored.Has(host)
+}
diff --git a/internal/querylog/qlog_test.go b/internal/querylog/qlog_test.go
index cc470438..75f02536 100644
--- a/internal/querylog/qlog_test.go
+++ b/internal/querylog/qlog_test.go
@@ -10,6 +10,7 @@ import (
"github.com/AdguardTeam/AdGuardHome/internal/filtering"
"github.com/AdguardTeam/dnsproxy/proxyutil"
+ "github.com/AdguardTeam/golibs/stringutil"
"github.com/AdguardTeam/golibs/testutil"
"github.com/AdguardTeam/golibs/timeutil"
"github.com/miekg/dns"
@@ -249,6 +250,48 @@ func TestQueryLogFileDisabled(t *testing.T) {
assert.Equal(t, "example2.org", ll[1].QHost)
}
+func TestQueryLogShouldLog(t *testing.T) {
+ const (
+ ignored1 = "ignor.ed"
+ ignored2 = "ignored.to"
+ )
+ set := stringutil.NewSet(ignored1, ignored2)
+
+ l := newQueryLog(Config{
+ Enabled: true,
+ RotationIvl: timeutil.Day,
+ MemSize: 100,
+ BaseDir: t.TempDir(),
+ Ignored: set,
+ })
+
+ testCases := []struct {
+ name string
+ host string
+ wantLog bool
+ }{{
+ name: "log",
+ host: "example.com",
+ wantLog: true,
+ }, {
+ name: "no_log_ignored_1",
+ host: ignored1,
+ wantLog: false,
+ }, {
+ name: "no_log_ignored_2",
+ host: ignored2,
+ wantLog: false,
+ }}
+
+ for _, tc := range testCases {
+ t.Run(tc.name, func(t *testing.T) {
+ res := l.ShouldLog(tc.host, dns.TypeA, dns.ClassINET)
+
+ assert.Equal(t, tc.wantLog, res)
+ })
+ }
+}
+
func addEntry(l *queryLog, host string, answerStr, client net.IP) {
q := dns.Msg{
Question: []dns.Question{{
diff --git a/internal/querylog/querylog.go b/internal/querylog/querylog.go
index 2d8e397f..28775774 100644
--- a/internal/querylog/querylog.go
+++ b/internal/querylog/querylog.go
@@ -10,6 +10,7 @@ import (
"github.com/AdguardTeam/AdGuardHome/internal/filtering"
"github.com/AdguardTeam/golibs/errors"
"github.com/AdguardTeam/golibs/log"
+ "github.com/AdguardTeam/golibs/stringutil"
"github.com/AdguardTeam/golibs/timeutil"
"github.com/miekg/dns"
)
@@ -26,6 +27,9 @@ type QueryLog interface {
// WriteDiskConfig - write configuration
WriteDiskConfig(c *Config)
+
+ // ShouldLog returns true if request for the host should be logged.
+ ShouldLog(host string, qType, qClass uint16) bool
}
// Config is the query log configuration structure.
@@ -71,6 +75,10 @@ type Config struct {
// AnonymizeClientIP tells if the query log should anonymize clients' IP
// addresses.
AnonymizeClientIP bool
+
+ // Ignored is the list of host names, which should not be written to
+ // log.
+ Ignored *stringutil.Set
}
// AddParams is the parameters for adding an entry.
diff --git a/internal/querylog/querylogfile.go b/internal/querylog/querylogfile.go
index f46e15cd..23e750fa 100644
--- a/internal/querylog/querylogfile.go
+++ b/internal/querylog/querylogfile.go
@@ -155,6 +155,9 @@ func (l *queryLog) periodicRotate() {
// checkAndRotate rotates log files if those are older than the specified
// rotation interval.
func (l *queryLog) checkAndRotate() {
+ l.lock.Lock()
+ defer l.lock.Unlock()
+
oldest, err := l.readFileFirstTimeValue()
if err != nil && !errors.Is(err, os.ErrNotExist) {
log.Error("querylog: reading oldest record for rotation: %s", err)
diff --git a/internal/querylog/search.go b/internal/querylog/search.go
index 8fb32e60..c1df5d5f 100644
--- a/internal/querylog/search.go
+++ b/internal/querylog/search.go
@@ -263,6 +263,10 @@ func (l *queryLog) readNextEntry(
e = &logEntry{}
decodeLogEntry(e, line)
+ if l.isIgnored(e.QHost) {
+ return nil, ts, nil
+ }
+
e.client, err = l.client(e.ClientID, e.IP.String(), cache)
if err != nil {
log.Error(
diff --git a/internal/stats/http.go b/internal/stats/http.go
index b06a7cdc..4b041455 100644
--- a/internal/stats/http.go
+++ b/internal/stats/http.go
@@ -5,7 +5,6 @@ package stats
import (
"encoding/json"
"net/http"
- "sync/atomic"
"time"
"github.com/AdguardTeam/AdGuardHome/internal/aghhttp"
@@ -41,10 +40,11 @@ type StatsResp struct {
// handleStats handles requests to the GET /control/stats endpoint.
func (s *StatsCtx) handleStats(w http.ResponseWriter, r *http.Request) {
- limit := atomic.LoadUint32(&s.limitHours)
+ s.lock.Lock()
+ defer s.lock.Unlock()
start := time.Now()
- resp, ok := s.getData(limit)
+ resp, ok := s.getData(s.limitHours)
log.Debug("stats: prepared data in %v", time.Since(start))
if !ok {
@@ -65,7 +65,13 @@ type configResp struct {
// handleStatsInfo handles requests to the GET /control/stats_info endpoint.
func (s *StatsCtx) handleStatsInfo(w http.ResponseWriter, r *http.Request) {
- resp := configResp{IntervalDays: atomic.LoadUint32(&s.limitHours) / 24}
+ s.lock.Lock()
+ defer s.lock.Unlock()
+
+ resp := configResp{IntervalDays: s.limitHours / 24}
+ if !s.enabled {
+ resp.IntervalDays = 0
+ }
_ = aghhttp.WriteJSONResponse(w, r, resp)
}
diff --git a/internal/stats/stats.go b/internal/stats/stats.go
index b1df74c1..9b53874d 100644
--- a/internal/stats/stats.go
+++ b/internal/stats/stats.go
@@ -15,16 +15,10 @@ import (
"github.com/AdguardTeam/AdGuardHome/internal/aghhttp"
"github.com/AdguardTeam/golibs/errors"
"github.com/AdguardTeam/golibs/log"
+ "github.com/AdguardTeam/golibs/stringutil"
"go.etcd.io/bbolt"
)
-// DiskConfig is the configuration structure that is stored in file.
-type DiskConfig struct {
- // Interval is the number of days for which the statistics are collected
- // before flushing to the database.
- Interval uint32 `yaml:"statistics_interval"`
-}
-
// checkInterval returns true if days is valid to be used as statistics
// retention interval. The valid values are 0, 1, 7, 30 and 90.
func checkInterval(days uint32) (ok bool) {
@@ -51,6 +45,12 @@ type Config struct {
// LimitDays is the maximum number of days to collect statistics into the
// current unit.
LimitDays uint32
+
+ // Enabled tells if the statistics are enabled.
+ Enabled bool
+
+ // Ignored is the list of host names, which should not be counted.
+ Ignored *stringutil.Set
}
// Interface is the statistics interface to be used by other packages.
@@ -68,30 +68,22 @@ type Interface interface {
TopClientsIP(limit uint) []netip.Addr
// WriteDiskConfig puts the Interface's configuration to the dc.
- WriteDiskConfig(dc *DiskConfig)
+ WriteDiskConfig(dc *Config)
+
+ // ShouldCount returns true if request for the host should be counted.
+ ShouldCount(host string, qType, qClass uint16) bool
}
// StatsCtx collects the statistics and flushes it to the database. Its default
// flushing interval is one hour.
-//
-// TODO(e.burkov): Use atomic.Pointer for accessing db in go1.19.
type StatsCtx struct {
- // limitHours is the maximum number of hours to collect statistics into the
- // current unit.
- //
- // It is of type uint32 to be accessed by atomic. It's arranged at the
- // beginning of the structure to keep 64-bit alignment.
- limitHours uint32
-
// currMu protects curr.
currMu *sync.RWMutex
// curr is the actual statistics collection result.
curr *unit
- // dbMu protects db.
- dbMu *sync.Mutex
// db is the opened statistics database, if any.
- db *bbolt.DB
+ db atomic.Pointer[bbolt.DB]
// unitIDGen is the function that generates an identifier for the current
// unit. It's here for only testing purposes.
@@ -106,6 +98,21 @@ type StatsCtx struct {
// filename is the name of database file.
filename string
+
+ // lock protects all the fields below.
+ lock sync.Mutex
+
+ // enabled tells if the statistics are enabled.
+ enabled bool
+
+ // limitHours is the maximum number of hours to collect statistics into the
+ // current unit.
+ //
+ // TODO(s.chzhen): Rewrite to use time.Duration.
+ limitHours uint32
+
+ // ignored is the list of host names, which should not be counted.
+ ignored *stringutil.Set
}
// New creates s from conf and properly initializes it. Don't use s before
@@ -114,11 +121,12 @@ func New(conf Config) (s *StatsCtx, err error) {
defer withRecovered(&err)
s = &StatsCtx{
+ enabled: conf.Enabled,
currMu: &sync.RWMutex{},
- dbMu: &sync.Mutex{},
filename: conf.Filename,
configModified: conf.ConfigModified,
httpRegister: conf.HTTPRegister,
+ ignored: conf.Ignored,
}
if s.limitHours = conf.LimitDays * 24; !checkInterval(conf.LimitDays) {
s.limitHours = 24
@@ -137,7 +145,7 @@ func New(conf Config) (s *StatsCtx, err error) {
var udb *unitDB
id := s.unitIDGen()
- tx, err := s.db.Begin(true)
+ tx, err := s.db.Load().Begin(true)
if err != nil {
return nil, fmt.Errorf("stats: opening a transaction: %w", err)
}
@@ -191,7 +199,7 @@ func (s *StatsCtx) Start() {
func (s *StatsCtx) Close() (err error) {
defer func() { err = errors.Annotate(err, "stats: closing: %w") }()
- db := s.swapDatabase(nil)
+ db := s.db.Swap(nil)
if db == nil {
return nil
}
@@ -220,7 +228,10 @@ func (s *StatsCtx) Close() (err error) {
// Update implements the Interface interface for *StatsCtx.
func (s *StatsCtx) Update(e Entry) {
- if atomic.LoadUint32(&s.limitHours) == 0 {
+ s.lock.Lock()
+ defer s.lock.Unlock()
+
+ if !s.enabled || s.limitHours == 0 {
return
}
@@ -248,14 +259,22 @@ func (s *StatsCtx) Update(e Entry) {
}
// WriteDiskConfig implements the Interface interface for *StatsCtx.
-func (s *StatsCtx) WriteDiskConfig(dc *DiskConfig) {
- dc.Interval = atomic.LoadUint32(&s.limitHours) / 24
+func (s *StatsCtx) WriteDiskConfig(dc *Config) {
+ s.lock.Lock()
+ defer s.lock.Unlock()
+
+ dc.LimitDays = s.limitHours / 24
+ dc.Enabled = s.enabled
+ dc.Ignored = s.ignored
}
// TopClientsIP implements the [Interface] interface for *StatsCtx.
func (s *StatsCtx) TopClientsIP(maxCount uint) (ips []netip.Addr) {
- limit := atomic.LoadUint32(&s.limitHours)
- if limit == 0 {
+ s.lock.Lock()
+ defer s.lock.Unlock()
+
+ limit := s.limitHours
+ if !s.enabled || limit == 0 {
return nil
}
@@ -284,25 +303,6 @@ func (s *StatsCtx) TopClientsIP(maxCount uint) (ips []netip.Addr) {
return ips
}
-// database returns the database if it's opened. It's safe for concurrent use.
-func (s *StatsCtx) database() (db *bbolt.DB) {
- s.dbMu.Lock()
- defer s.dbMu.Unlock()
-
- return s.db
-}
-
-// swapDatabase swaps the database with another one and returns it. It's safe
-// for concurrent use.
-func (s *StatsCtx) swapDatabase(with *bbolt.DB) (old *bbolt.DB) {
- s.dbMu.Lock()
- defer s.dbMu.Unlock()
-
- old, s.db = s.db, with
-
- return old
-}
-
// deleteOldUnits walks the buckets available to tx and deletes old units. It
// returns the number of deletions performed.
func deleteOldUnits(tx *bbolt.Tx, firstID uint32) (deleted int) {
@@ -358,10 +358,7 @@ func (s *StatsCtx) openDB() (err error) {
// Use defer to unlock the mutex as soon as possible.
defer log.Debug("stats: database opened")
- s.dbMu.Lock()
- defer s.dbMu.Unlock()
-
- s.db = db
+ s.db.Store(db)
return nil
}
@@ -369,6 +366,9 @@ func (s *StatsCtx) openDB() (err error) {
func (s *StatsCtx) flush() (cont bool, sleepFor time.Duration) {
id := s.unitIDGen()
+ s.lock.Lock()
+ defer s.lock.Unlock()
+
s.currMu.Lock()
defer s.currMu.Unlock()
@@ -377,12 +377,12 @@ func (s *StatsCtx) flush() (cont bool, sleepFor time.Duration) {
return false, 0
}
- limit := atomic.LoadUint32(&s.limitHours)
+ limit := s.limitHours
if limit == 0 || ptr.id == id {
return true, time.Second
}
- db := s.database()
+ db := s.db.Load()
if db == nil {
return true, 0
}
@@ -437,21 +437,30 @@ func (s *StatsCtx) periodicFlush() {
}
func (s *StatsCtx) setLimit(limitDays int) {
- atomic.StoreUint32(&s.limitHours, uint32(24*limitDays))
- if limitDays == 0 {
- if err := s.clear(); err != nil {
- log.Error("stats: %s", err)
- }
+ s.lock.Lock()
+ defer s.lock.Unlock()
+
+ if limitDays != 0 {
+ s.enabled = true
+ s.limitHours = uint32(24 * limitDays)
+ log.Debug("stats: set limit: %d days", limitDays)
+
+ return
}
- log.Debug("stats: set limit: %d days", limitDays)
+ s.enabled = false
+ log.Debug("stats: disabled")
+
+ if err := s.clear(); err != nil {
+ log.Error("stats: %s", err)
+ }
}
// Reset counters and clear database
func (s *StatsCtx) clear() (err error) {
defer func() { err = errors.Annotate(err, "clearing: %w") }()
- db := s.swapDatabase(nil)
+ db := s.db.Swap(nil)
if db != nil {
var tx *bbolt.Tx
tx, err = db.Begin(true)
@@ -495,7 +504,7 @@ func (s *StatsCtx) clear() (err error) {
}
func (s *StatsCtx) loadUnits(limit uint32) (units []*unitDB, firstID uint32) {
- db := s.database()
+ db := s.db.Load()
if db == nil {
return nil, 0
}
@@ -547,3 +556,13 @@ func (s *StatsCtx) loadUnits(limit uint32) (units []*unitDB, firstID uint32) {
return units, firstID
}
+
+// ShouldCount returns true if request for the host should be counted.
+func (s *StatsCtx) ShouldCount(host string, _, _ uint16) bool {
+ return !s.isIgnored(host)
+}
+
+// isIgnored returns true if the host is in the Ignored list.
+func (s *StatsCtx) isIgnored(host string) bool {
+ return s.ignored.Has(host)
+}
diff --git a/internal/stats/stats_internal_test.go b/internal/stats/stats_internal_test.go
index 7d5d9fef..a6ad5ee2 100644
--- a/internal/stats/stats_internal_test.go
+++ b/internal/stats/stats_internal_test.go
@@ -47,8 +47,6 @@ func TestStats_races(t *testing.T) {
startTime := time.Now()
testutil.CleanupAndRequireSuccess(t, s.Close)
- type signal = struct{}
-
writeFunc := func(start, fin *sync.WaitGroup, waitCh <-chan unit, i int) {
e := Entry{
Domain: fmt.Sprintf("example-%d.org", i),
diff --git a/internal/stats/stats_test.go b/internal/stats/stats_test.go
index cd88cbaf..f795c2da 100644
--- a/internal/stats/stats_test.go
+++ b/internal/stats/stats_test.go
@@ -53,6 +53,7 @@ func TestStats(t *testing.T) {
conf := stats.Config{
Filename: filepath.Join(t.TempDir(), "stats.db"),
LimitDays: 1,
+ Enabled: true,
UnitID: constUnitID,
HTTPRegister: func(_, url string, handler http.HandlerFunc) {
handlers[url] = handler
@@ -158,6 +159,7 @@ func TestLargeNumbers(t *testing.T) {
conf := stats.Config{
Filename: filepath.Join(t.TempDir(), "stats.db"),
LimitDays: 1,
+ Enabled: true,
UnitID: func() (id uint32) { return atomic.LoadUint32(&curHour) },
HTTPRegister: func(_, url string, handler http.HandlerFunc) { handlers[url] = handler },
}
diff --git a/internal/stats/unit.go b/internal/stats/unit.go
index 0e39cfea..99e04429 100644
--- a/internal/stats/unit.go
+++ b/internal/stats/unit.go
@@ -10,6 +10,7 @@ import (
"github.com/AdguardTeam/golibs/errors"
"github.com/AdguardTeam/golibs/log"
+ "github.com/AdguardTeam/golibs/stringutil"
"go.etcd.io/bbolt"
)
@@ -341,11 +342,13 @@ type pairsGetter func(u *unitDB) (pairs []countPair)
// topsCollector collects statistics about highest values from the given *unitDB
// slice using pg to retrieve data.
-func topsCollector(units []*unitDB, max int, pg pairsGetter) []map[string]uint64 {
+func topsCollector(units []*unitDB, max int, ignored *stringutil.Set, pg pairsGetter) []map[string]uint64 {
m := map[string]uint64{}
for _, u := range units {
for _, cp := range pg(u) {
- m[cp.Name] += cp.Count
+ if !ignored.Has(cp.Name) {
+ m[cp.Name] += cp.Count
+ }
}
}
a2 := convertMapToSlice(m, max)
@@ -408,9 +411,9 @@ func (s *StatsCtx) getData(limit uint32) (StatsResp, bool) {
BlockedFiltering: statsCollector(units, firstID, timeUnit, func(u *unitDB) (num uint64) { return u.NResult[RFiltered] }),
ReplacedSafebrowsing: statsCollector(units, firstID, timeUnit, func(u *unitDB) (num uint64) { return u.NResult[RSafeBrowsing] }),
ReplacedParental: statsCollector(units, firstID, timeUnit, func(u *unitDB) (num uint64) { return u.NResult[RParental] }),
- TopQueried: topsCollector(units, maxDomains, func(u *unitDB) (pairs []countPair) { return u.Domains }),
- TopBlocked: topsCollector(units, maxDomains, func(u *unitDB) (pairs []countPair) { return u.BlockedDomains }),
- TopClients: topsCollector(units, maxClients, func(u *unitDB) (pairs []countPair) { return u.Clients }),
+ TopQueried: topsCollector(units, maxDomains, s.ignored, func(u *unitDB) (pairs []countPair) { return u.Domains }),
+ TopBlocked: topsCollector(units, maxDomains, s.ignored, func(u *unitDB) (pairs []countPair) { return u.BlockedDomains }),
+ TopClients: topsCollector(units, maxClients, nil, func(u *unitDB) (pairs []countPair) { return u.Clients }),
}
// Total counters:
diff --git a/internal/tools/go.mod b/internal/tools/go.mod
index bf45d275..0b4e6629 100644
--- a/internal/tools/go.mod
+++ b/internal/tools/go.mod
@@ -1,6 +1,6 @@
module github.com/AdguardTeam/AdGuardHome/internal/tools
-go 1.18
+go 1.19
require (
github.com/fzipp/gocyclo v0.6.0
@@ -8,10 +8,10 @@ require (
github.com/gordonklaus/ineffassign v0.0.0-20230107090616-13ace0543b28
github.com/kisielk/errcheck v1.6.3
github.com/kyoh86/looppointer v0.2.1
- github.com/securego/gosec/v2 v2.14.0
- golang.org/x/tools v0.5.1-0.20230117180257-8aba49bb5ea2
- golang.org/x/vuln v0.0.0-20230130175424-dd534eeddf33
- honnef.co/go/tools v0.3.3
+ github.com/securego/gosec/v2 v2.15.0
+ golang.org/x/tools v0.6.0
+ golang.org/x/vuln v0.0.0-20230213165600-1a019b0c7f30
+ honnef.co/go/tools v0.4.1
mvdan.cc/gofumpt v0.4.0
mvdan.cc/unparam v0.0.0-20230125043941-70a0ce6e7b95
)
@@ -24,10 +24,10 @@ require (
github.com/kyoh86/nolint v0.0.1 // indirect
github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354 // indirect
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
- golang.org/x/exp v0.0.0-20230131160201-f062dba9d201 // indirect
- golang.org/x/exp/typeparams v0.0.0-20230131160201-f062dba9d201 // indirect
- golang.org/x/mod v0.7.0 // indirect
+ golang.org/x/exp v0.0.0-20230213192124-5e25df0256eb // indirect
+ golang.org/x/exp/typeparams v0.0.0-20230213192124-5e25df0256eb // indirect
+ golang.org/x/mod v0.8.0 // indirect
golang.org/x/sync v0.1.0 // indirect
- golang.org/x/sys v0.4.0 // indirect
- gopkg.in/yaml.v2 v2.4.0 // indirect
+ golang.org/x/sys v0.5.0 // indirect
+ gopkg.in/yaml.v3 v3.0.1 // indirect
)
diff --git a/internal/tools/go.sum b/internal/tools/go.sum
index 4006de44..bc821c41 100644
--- a/internal/tools/go.sum
+++ b/internal/tools/go.sum
@@ -7,6 +7,7 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE=
github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo=
github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA=
+github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0=
github.com/golangci/misspell v0.4.0 h1:KtVB/hTK4bbL/S6bs64rYyk8adjmh1BygbBiaAiX+a0=
github.com/golangci/misspell v0.4.0/go.mod h1:W6O/bwV6lGDxUCChm2ykw9NQdd5bYd1Xkjo88UcWyJc=
github.com/google/go-cmdtest v0.4.1-0.20220921163831-55ab3332a786 h1:rcv+Ippz6RAtvaGgKxc+8FQIpxHgsF+HBzPyYL2cyVU=
@@ -29,14 +30,14 @@ github.com/kyoh86/nolint v0.0.1 h1:GjNxDEkVn2wAxKHtP7iNTrRxytRZ1wXxLV5j4XzGfRU=
github.com/kyoh86/nolint v0.0.1/go.mod h1:1ZiZZ7qqrZ9dZegU96phwVcdQOMKIqRzFJL3ewq9gtI=
github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354 h1:4kuARK6Y6FxaNu/BnU2OAaLF86eTVhP2hjTB6iMvItA=
github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354/go.mod h1:KSVJerMDfblTH7p5MZaTt+8zaT2iEk3AkVb9PQdZuE8=
-github.com/onsi/ginkgo/v2 v2.3.1 h1:8SbseP7qM32WcvE6VaN6vfXxv698izmsJ1UQX9ve7T8=
-github.com/onsi/gomega v1.22.1 h1:pY8O4lBfsHKZHM/6nrxkhVPUznOlIu3quZcKP/M20KI=
+github.com/onsi/ginkgo/v2 v2.8.0 h1:pAM+oBNPrpXRs+E/8spkeGx9QgekbRVyr74EUvRVOUI=
+github.com/onsi/gomega v1.26.0 h1:03cDLK28U6hWvCAns6NeydX3zIm4SF3ci69ulidS32Q=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
-github.com/securego/gosec/v2 v2.14.0 h1:U1hfs0oBackChXA72plCYVA4cOlQ4gO+209dHiSNZbI=
-github.com/securego/gosec/v2 v2.14.0/go.mod h1:Ff03zEi5NwSOfXj9nFpBfhbWTtROCkg9N+9goggrYn4=
+github.com/securego/gosec/v2 v2.15.0 h1:v4Ym7FF58/jlykYmmhZ7mTm7FQvN/setNm++0fgIAtw=
+github.com/securego/gosec/v2 v2.15.0/go.mod h1:VOjTrZOkUtSDt2QLSJmQBMWnvwiQPEjg0l+5juIqGk8=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/testify v1.1.4/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
@@ -53,22 +54,22 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
-golang.org/x/exp v0.0.0-20230131160201-f062dba9d201 h1:BEABXpNXLEz0WxtA+6CQIz2xkg80e+1zrhWyMcq8VzE=
-golang.org/x/exp v0.0.0-20230131160201-f062dba9d201/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
-golang.org/x/exp/typeparams v0.0.0-20230131160201-f062dba9d201 h1:O1QcdQUR9htWjzzsXVFPX+RJ3n1P/u/5bsQR8dbs5BY=
-golang.org/x/exp/typeparams v0.0.0-20230131160201-f062dba9d201/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
+golang.org/x/exp v0.0.0-20230213192124-5e25df0256eb h1:PaBZQdo+iSDyHT053FjUCgZQ/9uqVwPOcl7KSWhKn6w=
+golang.org/x/exp v0.0.0-20230213192124-5e25df0256eb/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
+golang.org/x/exp/typeparams v0.0.0-20230213192124-5e25df0256eb h1:WGs/bGIWYyAY5PVgGGMXqGGCxSJz4fpoUExb/vgqNCU=
+golang.org/x/exp/typeparams v0.0.0-20230213192124-5e25df0256eb/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY=
-golang.org/x/mod v0.7.0 h1:LapD9S96VoQRhi/GrNTqeBJFrUjs5UHCAtTlgwA5oZA=
-golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8=
+golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.5.0 h1:GyT4nK/YDHSqa1c4753ouYCDajOYKTja9Xb/OHtgvSw=
+golang.org/x/net v0.6.0 h1:L4ZwwTvKW9gr0ZMS1yrHD9GZhIuVjOBBnaKH+SPQK0Q=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -83,35 +84,33 @@ golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18=
-golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU=
+golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
-golang.org/x/text v0.3.8 h1:nAL+RVCQ9uMn3vJZbV+MRnydTJFPf8qqY42YiA6MrqY=
+golang.org/x/text v0.6.0 h1:3XmdazWV+ubf7QgHSTWeykHOci5oeekaGJBLkrkaw4k=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20201007032633-0806396f153e/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU=
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E=
-golang.org/x/tools v0.5.1-0.20230117180257-8aba49bb5ea2 h1:v0FhRDmSCNH/0EurAT6T8KRY4aNuUhz6/WwBMxG+gvQ=
-golang.org/x/tools v0.5.1-0.20230117180257-8aba49bb5ea2/go.mod h1:N+Kgy78s5I24c24dU8OfWNEotWjutIs8SnJvn5IDq+k=
-golang.org/x/vuln v0.0.0-20230130175424-dd534eeddf33 h1:je2aB5nnlseeGvJy5clg6EyC3jjbbCNsRDroC3qQJsA=
-golang.org/x/vuln v0.0.0-20230130175424-dd534eeddf33/go.mod h1:cBP4HMKv0X+x96j8IJWCKk0eqpakBmmHjKGSSC0NaYE=
+golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM=
+golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
+golang.org/x/vuln v0.0.0-20230213165600-1a019b0c7f30 h1:Q4B8LhSjZGto/+P5REBb4N51ec2H4efRqjBIeJ6nv/Y=
+golang.org/x/vuln v0.0.0-20230213165600-1a019b0c7f30/go.mod h1:cBP4HMKv0X+x96j8IJWCKk0eqpakBmmHjKGSSC0NaYE=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
-gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-honnef.co/go/tools v0.3.3 h1:oDx7VAwstgpYpb3wv0oxiZlxY+foCpRAwY7Vk6XpAgA=
-honnef.co/go/tools v0.3.3/go.mod h1:jzwdWgg7Jdq75wlfblQxO4neNaFFSvgc1tD5Wv8U0Yw=
+honnef.co/go/tools v0.4.1 h1:HPeloSr0mLOEMOkhT9Au5aeki44kvP6ka3v1xIsM6Zo=
+honnef.co/go/tools v0.4.1/go.mod h1:36ZgoUOrqOk1GxwHhyryEkq8FQWkUO2xGuSMhUCcdvA=
mvdan.cc/gofumpt v0.4.0 h1:JVf4NN1mIpHogBj7ABpgOyZc65/UUOkKQFkoURsz4MM=
mvdan.cc/gofumpt v0.4.0/go.mod h1:PljLOHDeZqgS8opHRKLzp2It2VBuSdteAgqUfzMTxlQ=
mvdan.cc/unparam v0.0.0-20230125043941-70a0ce6e7b95 h1:n/xhncJPSt0YzfOhnyn41XxUdrWQNgmLBG72FE27Fqw=
diff --git a/scripts/README.md b/scripts/README.md
index 460f5067..5b7475bb 100644
--- a/scripts/README.md
+++ b/scripts/README.md
@@ -205,7 +205,7 @@ code from [the repo][companiesrepo].
### Usage
```sh
-( cd scripts/companiesdb && sh ./download.sh )
+sh ./scripts/companiesdb/download.sh
```
[companiesrepo]: https://github.com/AdguardTeam/companiesdb
diff --git a/scripts/companiesdb/download.sh b/scripts/companiesdb/download.sh
index e56166e0..8aa8c8cb 100755
--- a/scripts/companiesdb/download.sh
+++ b/scripts/companiesdb/download.sh
@@ -4,11 +4,9 @@ set -e -f -u -x
# This script syncs companies DB that we bundle with AdGuard Home. The source
# for this database is https://github.com/AdguardTeam/companiesdb.
+#
+trackers_url='https://raw.githubusercontent.com/AdguardTeam/companiesdb/main/dist/trackers.json'
+output='./client/src/helpers/trackers/trackers.json'
+readonly trackers_url output
-whotracksme='https://raw.githubusercontent.com/AdguardTeam/companiesdb/main/dist/whotracksme.json'
-adguard='https://raw.githubusercontent.com/AdguardTeam/companiesdb/main/dist/adguard.json'
-base_path='../../client/src/helpers/trackers'
-readonly whotracksme adguard base_path
-
-curl -o "${base_path}/whotracksme.json" -v "$whotracksme"
-curl -o "${base_path}/adguard.json" -v "$adguard"
+curl -o "$output" -v "$trackers_url"
diff --git a/scripts/install.sh b/scripts/install.sh
index 5931fd3c..58fd37fe 100644
--- a/scripts/install.sh
+++ b/scripts/install.sh
@@ -338,6 +338,18 @@ download_wget() {
wget --no-verbose -O "$wget_output" "$1"
}
+# download_fetch uses fetch(1) to download a file. The first argument is the
+# URL. The second argument is optional and is the output file.
+download_fetch() {
+ fetch_output="${2:-}"
+ if [ "$fetch_output" = '' ]
+ then
+ fetch -o '-' "$1"
+ else
+ fetch -o "$fetch_output" "$1"
+ fi
+}
+
# Function set_download_func sets the appropriate function for downloading
# files.
set_download_func() {
@@ -348,6 +360,9 @@ set_download_func() {
elif is_command 'wget'
then
download_func='download_wget'
+ elif is_command 'fetch'
+ then
+ download_func='download_fetch'
else
error_exit "either curl or wget is required to install AdGuard Home via this script"
fi
diff --git a/scripts/make/go-lint.sh b/scripts/make/go-lint.sh
index ff8e803f..689a0a1a 100644
--- a/scripts/make/go-lint.sh
+++ b/scripts/make/go-lint.sh
@@ -227,8 +227,9 @@ gocyclo --over 13 ./internal/dhcpd ./internal/filtering/ ./internal/home/
# Apply stricter standards to new or somewhat refactored code.
gocyclo --over 10 ./internal/aghio/ ./internal/aghnet/ ./internal/aghos/\
./internal/aghtest/ ./internal/dnsforward/ ./internal/filtering/rewrite/\
- ./internal/stats/ ./internal/tools/ ./internal/updater/ ./internal/version/\
- ./scripts/vetted-filters/ ./main.go
+ ./internal/stats/ ./internal/tools/ ./internal/updater/\
+ ./internal/version/ ./scripts/blocked-services/ ./scripts/vetted-filters/\
+ ./main.go
ineffassign ./...
diff --git a/scripts/make/go-test.sh b/scripts/make/go-test.sh
index effefca8..e37c7f18 100644
--- a/scripts/make/go-test.sh
+++ b/scripts/make/go-test.sh
@@ -40,7 +40,7 @@ readonly go
count_flags='--count=1'
cover_flags='--coverprofile=./coverage.txt'
shuffle_flags='--shuffle=on'
-timeout_flags="${TIMEOUT_FLAGS:---timeout=30s}"
+timeout_flags="${TIMEOUT_FLAGS:---timeout=90s}"
readonly count_flags cover_flags shuffle_flags timeout_flags
"$go" test "$count_flags" "$cover_flags" "$race_flags" "$shuffle_flags" "$timeout_flags"\