====== 0. All-in-one DSL notation ======
Консолидированная DSL-запись **всех** наборов со страниц провайдеров ([[projects:qoe_analytics:unknown_discovering:services:start|services:*]]). Единая машиночитаемая сводка правил классификации.
**Правило поддержки.** При добавлении или изменении любого набора/правила на страницах провайдеров (''services:*'') эту страницу нужно обновить синхронно. Источник истины — страницы провайдеров; эта страница — их сводка.
Нотация описана на странице [[projects:qoe_analytics:unknown_discovering:start|unknown_discovering:start]] в разделе «DSL декларация». Кратко: ''*'' = fnmatch (подстрока с точками); доля — по числу записей; знаменатель — записи с непустым host, прошедшие фильтр.
===== Шаг 1. Выборка кандидатов (шаблон) =====
CANDIDATES =
SELECT host_ip, total_volume
FROM top_ip_host_agg
WHERE application_protocol = "quic_unknown 49293" // или иной no-SNI протокол
AND host_as IN () // см. filter каждого SET
ORDER BY total_volume DESC
LIMIT 30
===== Шаг 3. Правило (общий шаблон) =====
Каждый SET ниже применяется правилом одной формы:
RULE
Исключение по приоритету — см. Google.
===== Наборы (SET) =====
==== Google (host_as IN (15169)) ====
Приоритет: частные наборы (''youtube'', ''google_play'', ''google_maps'', ''google_cloud'', ''google_cdn'') старше общего ''google''. Метку ''google'' присваивать только если ни один частный набор не взял порог.
SET youtube {
masks:
*.googlevideo.com
*.gvt1.com
*.2mdn.net
upload.youtube.com
*.upload.youtube.com
youtube.com
*.youtube.com
filter: host_as IN (15169)
threshold: 80%
}
SET google_maps {
masks:
mobilemaps.googleapis.com
*.mobilemaps.googleapis.com
filter: host_as IN (15169)
threshold: 50%
}
SET google_play {
masks:
play.googleapis.com
filter: host_as IN (15169)
threshold: 50%
}
SET google_cloud {
masks:
*upload.googleapis.com
*download.googleapis.com
*storage.googleapis.com
filter: host_as IN (15169)
threshold: 50%
}
SET google_cdn {
masks:
*.blogspot.com
*.cdn.ampproject.org
cdn.ampproject.org
*.usercontent.google.com
*.googleusercontent.com
googleusercontent.com
*.ggpht.com
i.ytimg.com
filter: host_as IN (15169)
threshold: 70%
}
SET google { // catch-all, низший приоритет
masks:
*.googleapis.com
*.fitbit.com
*.clients6.google.com
www.google.com
*.google.com
gstatic.com
*.gstatic.com
google.by
*.google.by
filter: host_as IN (15169)
threshold: 50%
}
==== Apple ====
SET apple_icloud {
masks:
*.icloud-content.com
filter: host_as IN (714)
threshold: 80%
ttl: 90d
}
==== TikTok ====
SET tiktok_cl {
masks:
*.tiktokcdn.com
*.tiktokv.com
filter: host_as IN (20940, 208407, 60280, 396986, 54994)
threshold: 80%
ttl: 60d
}
==== Microsoft ====
SET ms_sharepoint {
masks:
sharepoint.com
*.sharepoint.com
*.sharepointonline.com.akadns.net
*.svc.ms
*.spo-msedge.net
spoppe.com
*.spoppe.com
telekom-my.sharepoint.de
*.telekom-my.sharepoint.de
telekom.sharepoint.de
*.telekom.sharepoint.de
sharepoint-df.com
*.sharepoint-df.com
sharepointonline.com
*.sharepointonline.com
filter: host_as IN (8075)
threshold: 50%
ttl: 60d
}
==== Snap / Snapchat ====
SET snapchat {
masks:
*.sc-cdn.net
*.snap-dev.net
sc-static.net
snapchat.com
filter: host_as IN (16509, 396982)
threshold: 50%
ttl: 60d
}
==== OSN+ / Anghami ====
SET osnplus {
masks:
*.osnplus.com
*.anghcdn.co
*.anghami.com
filter: host_as IN (54113)
threshold: 80%
ttl: 30d
}
==== Реклама ====
SET mobile-advertiser {
masks:
*.applovin.com
filter: host_as IN (396982)
threshold: 80%
ttl: 30d
}
==== Facebook / Meta ====
SET instagram {
masks:
instagram.*.fbcdn.net
filter: host_as IN (28917) // Fiord (кеш-узел)
threshold: 90%
}
===== Сводка =====
^ Метка ^ Провайдер ^ Порог ^ host_as ^ TTL ^
| youtube | Google | > 80% | 15169 | — |
| google_maps | Google | > 50% | 15169 | — |
| google_play | Google | > 50% | 15169 | — |
| google_cloud | Google | > 50% | 15169 | — |
| google_cdn | Google | > 70% | 15169 | — |
| google | Google | > 50% | 15169 | — |
| apple_icloud | Apple | > 80% | 714 | 90d |
| tiktok_cl | TikTok | > 80% | 20940, 208407, 60280, 396986, 54994 | 60d |
| ms_sharepoint | Microsoft | > 50% | 8075 | 60d |
| snapchat | Snap | > 50% | 16509, 396982 | 60d |
| osnplus | OSN+/Anghami | > 80% | 54113 | 30d |
| mobile-advertiser | Реклама | > 80% | 396982 | 30d |
| instagram | Meta | > 90% | 28917 | — |