diff --git a/docs/ADS.md b/docs/ADS.md index 3e1fed0..c9bec14 100644 --- a/docs/ADS.md +++ b/docs/ADS.md @@ -248,9 +248,10 @@ Migrated 2026-05-03 (videojs4 → PlayerJS+ad-bundle). URL pattern `/v-arch/`. `a5.g--o.info/.js` server tolerates **будь-який filename matching pattern per type** — content однаковий. Use unique per site щоб diluteти footprint (adblock fingerprints). -**Patterns** (verified 2026-05-05): -- **POPUNDER**: 7 chars total, `^[A-Za-z0-9]{6}[0-9]$` (last char digit) -- **VAST**: 7 chars total, `^[A-Za-z0-9]{6}[a-hA-H]$` (last char `a-h` case-ins; letters i+ → 404) +**Patterns** (verified 2026-05-05, refined post-bug): +- **POPUNDER**: 7 chars total, `^[A-Za-z0-9]{6}[13579]$` — last char must be **ODD DIGIT** only. Even digits return DIFFERENT SDK content (different ad type, will break renderSpot). +- **VAST**: 7 chars total, `^[A-Za-z0-9]{6}[abcdABCD]$` — last char must be **a-d** (8 chars). e-h returns different VAST sub-type (incompatible). +- **Verify content size** post-generation: popunder=250844b, vast=323450b. Different size → wrong SDK fetched. - **BANNER `tb_config.banner_source`**: локальний файл у `views/static/js/.js` per site, не ASG endpoint — окремий footprint layer (rename файла + update reference) **Workflow:** generate per-site filenames → verify via `curl -sI` → apply mass-replace у `ad-config.js` (popunder.sdk, vast.sdk) → rebuild bundle → update `?v=` cache-bust у layout.