====== 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 | — |