todo/Zapret2/find-domain-owner.md
loop-uh 0990f02ff9
Some checks failed
Published content check / validate (push) Failing after 5s
Обновить ссылки на переименованный репозиторий zapret → zapretgui
Forgejo-репозиторий переименован; shields.io не ходит по 301-редиректу
API, из-за чего сломался бейдж загрузок. Обновлены ссылки в 12 заметках,
кириллическая метка бейджа URL-закодирована.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-20 17:32:44 +03:00

221 lines
33 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
date: 2026-07-17
tags:
- zapret
- zapret2
- gui
- howto
- troubleshooting
- cdn
aliases:
- Как узнать какому CDN принадлежит домен
- Кому принадлежит домен
- Кому принадлежит IP сайта
- Какой профиль отвечает за сайт
- Определить CDN сайта
- Профиль Akamai
- ipvfoobarbaz
link: https://github.com/ziad8727/ipvfoobarbaz
---
# 🌐 Как узнать, какому CDN принадлежит домен (и какой профиль пресета за него отвечает)
> [!note] Зачем это читать
> Пока главная проблема большинства пользователей — всё ещё «не работает ютуб», стоит научиться вещи посерьёзнее. В первой половине 2026 блокировки целых подсетей ужесточаются (хотя местами их, по сообщениям пользователей, и откатывали), и полагаться на [[Zapret2|Zapret]] как на «магическую кнопку» становится всё рискованнее. Эта заметка учит **понимать**, что именно блокируется и как это находит Zapret, — а с этим пониманием вы сможете самостоятельно разблокировать почти любую игру и сайт, не дожидаясь готовых пресетов и чужой помощи.
>
> Хорошая новость: полных блокировок по IP — когда трафик просто выбрасывается на уровне маршрутизации и [[desync|дурению]] нечего обходить — пока мало. По наблюдениям сообщества (июль 2026), почти все заблокированные ресурсы поднимаются Запретом; из заметных исключений — WhatsApp и Telegram (звонки), которые душат на другом уровне.
> [!info] О чём заметка
> Пошаговый способ определить, на чьей сети (**CDN** — Content Delivery Network, сеть доставки контента: Akamai, Cloudflare, Fastly и т.п.) живёт проблемный сайт, чтобы найти в [[preset|пресете]] [[Zapret2|Zapret 2]] **правильный [[profile|профиль]]** и перебирать стратегии именно для него, а не наугад. Инструменты: браузерное расширение, показывающее IP-адреса всех доменов страницы, плюс сервис информации об IP (ipinfo.io). Аналогичный метод для игр (там вместо расширения — TCPView) — в [[find-game-strategy]].
> [!tip] TL;DR
> 1. Поставь расширение **ipvfoobarbaz** ([GitHub](https://github.com/ziad8727/ipvfoobarbaz) · [Chrome](https://chromewebstore.google.com/detail/ipvfoobarbaz/jiaodmfhmjdhefmljkipedcbpkplpfcn) · [Firefox](https://addons.mozilla.org/firefox/addon/ipvfoobarbaz)).
> 2. Открой проблемный сайт — расширение покажет **все домены страницы и их IP-адреса**.
> 3. Нажми на букву справа от нужного IP — откроется карточка адреса, где в поле **ASN/Company** написан владелец (например, `AS16625 — Akamai Technologies`).
> 4. В настройке [[preset|пресета]] найди поиском [[profile|профиль]] этого CDN (например, «Akamai TCP») — и перебирай стратегии **для него**, проверяя каждую по правилам из [[verify-strategy]].
> 5. Наполняя свой профиль, клади в него **IP-диапазон из поля Range в [[Zapret/ipset|ipset]]**, а не домены: блокируют давно по подсетям, и один диапазон накрывает и сайт, и его поддомены, и трафик без имени (игры, UDP).
> 6. Собранные адреса и домены можно [отправить разработчикам](https://git.zapret.moe/zapretdiscordyoutube/zapretgui/issues/new?template=hostlist_ipset_request.yml) — они попадут в категории по умолчанию.
## Исходная ситуация: один сайт не открывается
Начнём с типичной картины. [[Zapret2|Zapret 2]] запущен, большинство сайтов работает — но какой-то один упорно не открывается: отдаёт ошибку, грузится вечно или обрывается на половине. Пример: страница `https://www.rockstargames.com/ru/lanoire/socialclub` вместо контента показывает ошибку:
![[domain-owner-rockstar-error-2026-07.png]]
Первый порыв — пойти в [[preset|пресет]] и «покрутить стратегии». Но в пресете **десятки [[profile|профилей]]**, и какой из них отвечает за трафик именно этого сайта — с ходу не видно. Если крутить наугад, легко попасть в классическую ловушку: стратегия объявляется «нерабочей», хотя на самом деле [[desync|дурение]] просто применялось не к тому трафику. Этот ложный вывод подробно разобран в [[symptom-not-cause|«Почему „не работает“ — это симптом»]] и в [[find-game-strategy#Почему «тыкать стратегии наугад» не работает|заметке про подбор стратегии для игры]].
Правильный порядок другой: **сначала** выяснить, к какому профилю относится сайт, и **только потом** перебирать стратегии внутри этого профиля. Вся заметка — про первый пункт.
## Немного теории: домен, IP-адрес и CDN
Чтобы дальнейшие шаги не выглядели магией, нужно три понятия. Разберём их по одному.
**Домен** — это имя сайта, которое вы видите в адресной строке: `www.rockstargames.com`. Само по себе имя никуда не ведёт: когда браузер открывает сайт, он первым делом переводит домен в IP-адрес (этим занимается система DNS).
**IP-адрес** — реальный «почтовый адрес» сервера в сети, например `23.54.1.110`. Именно на него уходят ваши пакеты. И провайдер, когда блокирует, тоже имеет дело с адресами и соединениями, а не с красивым именем в адресной строке.
**CDN** (Content Delivery Network — сеть доставки контента) — третий и главный для нас факт: крупные сайты почти никогда не держат собственные серверы «у себя». Они арендуют место в больших сетях доставки — Akamai, Cloudflare, Fastly и подобных. Один такой CDN обслуживает сразу **сотни разных сайтов** на общих диапазонах адресов.
Проще говоря: домен — это вывеска, IP — адрес здания, а CDN — владелец целого квартала таких зданий, в котором арендуют помещения сотни сайтов.
Теперь понятно, почему в пресетах [[Zapret2|Zapret 2]] многие профили названы не по сайтам, а по CDN («Akamai TCP», «Cloudflare» и т.д.): [[Zapret/about#Обход DPI (система ТСПУ)|ТСПУ]] часто «душит» целые диапазоны адресов CDN одинаково, и один профиль с [[Zapret/ipset|ipset]]-списком адресов Akamai покрывает разом все сайты, живущие на Akamai.
Из этого складывается весь метод, шаг за шагом: **узнаём, на какие IP ходит сайт → узнаём, чья это сеть → находим в пресете профиль этой сети → перебираем стратегии в нём.** Ниже — эти же шаги подробно.
## Шаг 1. Ставим расширение
Расширение **ipvfoobarbaz** показывает прямо в браузере, на какие домены ходит открытая страница и в какие IP-адреса эти домены разрешились:
- Исходники: https://github.com/ziad8727/ipvfoobarbaz
- Chrome/Edge: https://chromewebstore.google.com/detail/ipvfoobarbaz/jiaodmfhmjdhefmljkipedcbpkplpfcn
- Firefox: https://addons.mozilla.org/firefox/addon/ipvfoobarbaz
После установки закрепи иконку расширения на панели браузера — по клику на неё открывается таблица доменов текущей вкладки.
## Шаг 2. Открываем сайт и смотрим, куда он ходит
Открой проблемную страницу и кликни по иконке расширения. Появится таблица: слева — домены, с которых страница тянет ресурсы, справа — IP-адреса и подпись, кому адрес принадлежит (обратное DNS-имя и номер автономной системы):
![[domain-owner-ipvfoo-list-2026-07.png]]
Таблица на первый взгляд пёстрая, но читать её просто — вот три вещи, которые в ней стоит увидеть:
- **Одна страница — много доменов и много сетей.** На скриншоте `www.rockstargames.com`, `graph.rockstargames.com` и `s.rsg.sc` сидят на Akamai (`AS16625 AKAMAI-AS`), `media-rockstargames-com.akamaized.net` разрешился в адрес на сети МТС (`AS8359 MTS, RU` — кэширующий узел CDN внутри сети провайдера), а `signin.rockstargames.com` — вообще на другой сети (`AS46555`). Ломаться может **любой** из этих кусков: сайт открывается, но не пускает в логин — значит, смотреть надо на домен авторизации, а не на главный.
- **Обратное DNS-имя часто само выдаёт владельца.** `a23-54-1-110.deploy.static.akamaitechnologies.com` — слово `akamaitechnologies` говорит всё без дальнейших проверок.
- **Строки с `127.0.0.1`** (на скриншоте `cdn.cookielaw.org`, `geolocation.onetrust.com`) — это домены, зарезанные локально (блокировщиком рекламы, файлом hosts или DNS-фильтром). К блокировке провайдером и к подбору профиля они отношения не имеют.
## Шаг 3. Смотрим карточку IP-адреса
Справа от каждого адреса в таблице расширения есть ряд букв-кнопок — **W A R I B**. Каждая буква открывает выбранный адрес на своём справочном сервисе:
| Кнопка | Сервис | Что показывает |
|---|---|---|
| **W** | [who.is](https://who.is/whois/obsidian.md) | классический whois-справочник: регистрационные данные домена или IP |
| **A** | [ARIN RDAP](https://search.arin.net/rdap/?query=2a06%3A98c1%3A3123%3A8000%3A%3A6) | база американского регистратора адресов ARIN (формат RDAP — «сырые» записи о владельце) |
| **R** | [RIPE Database](https://apps.db.ripe.net/db-web-ui/query?searchtext=2a06%3A98c1%3A3123%3A8000%3A%3A6) | база европейского регистратора RIPE — те же записи о владельце для адресов европейского региона |
| **I** | [ipinfo.io](https://ipinfo.io/2a06:98c1:3123:8000::6) | удобная человекочитаемая карточка: ASN, компания, диапазон, геолокация |
| **B** | [bgp.tools](https://bgp.tools/prefix/2a06:98c1:3123::/48) | BGP-маршруты: каким префиксом (диапазоном) адрес анонсируется в интернет |
Принципиальной разницы для нашей задачи нет: все пять отвечают на один и тот же вопрос — **кому принадлежит адрес**, просто с разной подачей. Проще всего начинать с **I** (ipinfo.io) — там ответ виден сразу в аккуратной карточке; **B** (bgp.tools) пригодится, когда нужен точный префикс диапазона для [[Zapret/ipset|ipset]], а W/A/R — это первоисточники-реестры на случай, когда хочется перепроверить данные. Пример карточки ipinfo.io для `23.54.1.110`:
![[domain-owner-ipinfo-akamai-2026-07.png]]
Ключевые поля карточки:
- **ASN** — номер и имя автономной системы: `AS16625 — Akamai Technologies, Inc.` Это и есть ответ: домен обслуживает **Akamai**.
- **Company / Hostname** — дублируют вывод: `Akamai International, BV`, `…akamaitechnologies.com`.
- **Range** — диапазон адресов (`23.54.0.0/20`), в котором живёт этот IP. Это самое ценное поле карточки: именно диапазон, а не одиночный адрес, стоит класть в свой [[Zapret/ipset|ipset]]-список (почему — в разделе про подсети ниже).
- **Location** не должна пугать: «Stockholm, SE» не значит, что сайт шведский — это ближайший к тебе узел CDN, геопривязка у таких адресов условна.
## Шаг 4. Ищем профиль в пресете и перебираем стратегии
Теперь, зная владельца сети, открываем настройку [[preset|пресета]] в GUI [[Zapret2|Zapret 2]] и ищем [[profile|профиль]] по имени CDN — в примере достаточно набрать `akam` в поиске:
![[domain-owner-preset-akamai-2026-07.png]]
Нашлись два профиля — **Akamai TCP** (порты TCP 80, 44365535) и **Akamai UDP** (UDP 44365535 — это QUIC, транспорт HTTP/3 поверх UDP). Дальше стандартная процедура:
- Перебирай готовые стратегии **именно для этого профиля** — теперь ты уверен, что дурение применяется к нужному трафику, и провал стратегии — честный провал, а не промах фильтра.
- Каждую попытку проверяй **новым соединением** (окно инкогнито, `Ctrl+F5`, полный перезапуск приложения) — почему обычный F5 врёт, разобрано в [[verify-strategy]].
- Обычно сначала пробивается TCP-профиль, потом отдельно UDP — пока TCP-соединение не устанавливается, до QUIC/UDP дело часто вообще не доходит (подробнее об этом порядке — в [[find-game-strategy]]).
> [!note] Профиля под этот CDN в пресете нет?
> Тогда создай свой: пошаговое создание профиля в GUI — [[add-profile]], сбор доменов и IP-адресов ресурса в списки — [[Zapret/Создание своей категории|Создание своей категории]]. В [[filter|фильтр]] профиля кладутся домены ([[Zapret/hostlist|hostlist]]) и/или диапазоны IP ([[Zapret/ipset|ipset]]) — диапазон как раз виден в поле Range карточки IP. Что предпочесть — см. следующий раздел.
## Подсети вместо доменов: почему ipset практичнее hostlist
По многолетним наблюдениям сообщества обхода блокировок, [[Zapret/about#Обход DPI (система ТСПУ)|ТСПУ]] давно блокирует многие ресурсы не по имени домена, а **по IP-подсетям целиком**: рвётся любое соединение с адресами диапазона, независимо от того, какой домен на них живёт. Из этого следует практический вывод для наполнения [[profile|профиля]]: под каждую игру и сайт проще один раз внести **диапазон адресов в [[Zapret/ipset|ipset]]**, чем вести и пополнять список доменов в [[Zapret/hostlist|hostlist]].
Почему домены проигрывают:
- **Имя видно не во всём трафике.** [[Zapret/hostlist|Hostlist]] срабатывает только там, где Zapret может прочитать имя сервера в пакете (SNI в TLS, Host в HTTP). У игрового UDP-трафика, произвольных TCP-протоколов и соединений «по голому IP» имени нет вообще — доменный фильтр их не покрывает в принципе. Именно поэтому [[find-game-strategy|метод подбора стратегии для игры]] строится на ipset, а не на доменах.
- **Доменов много, и они плодятся.** Как видно на скриншоте из [[find-domain-owner#Шаг 2. Открываем сайт и смотрим, куда он ходит|Шага 2]], одна страница ходит на полдюжины доменов, у игр их ещё больше, и список меняется с обновлениями. Диапазон CDN (`23.54.0.0/20` из поля Range) накрывает их все разом, включая поддомены, которых ты ещё не встречал.
- **Блокировка всё равно бьёт по адресу.** Если провайдер режет подсеть, то дурить надо каждое соединение в эту подсеть — даже то, чей домен формально «не заблокирован». Доменный список здесь заведомо отстаёт от реальности.
Проще говоря: hostlist отвечает на вопрос «куда ты сказал, что идёшь», а ipset — «куда ты реально идёшь». Блокируют по второму, поэтому и фильтровать надёжнее по второму.
> [!warning] Обратная сторона широких ipset
> Диапазон дурит **весь** трафик в эти адреса — в том числе незаблокированные сайты того же CDN. Неудачная стратегия может сломать то, что без неё работало, поэтому держи широкие ipset-профили **ниже** узких в пресете ([[profile#Порядок профилей важен|порядок профилей]]) и помни принцип [[profile-independence|«один сайт — один профиль»]]. Для точечного обхода одного сайта на «живом» CDN hostlist по-прежнему уместен — он не задевает соседей.
## Второй пример от начала до конца: Riot Games и ipset Amazon
Закрепим метод на втором примере — от адресной строки до строчки в ipset-файле. Проблемная страница — поддержка Valorant: `https://support.riotgames.com/ru-ru/valorant/`.
![[domain-owner-riot-url-2026-07.png]]
**Смотрим таблицу расширения.** Три домена — и сразу три разные сети:
![[domain-owner-riot-ipvfoo-2026-07.png]]
- `support.riotgames.com``2a05:d014:58f:6200::1f5`, сеть `AS16509 AMAZON-02` — сайт поддержки живёт на **Amazon (AWS)**.
- `bacon.secure.dyn.riotcdn.net``AS13335 CLOUDFLARENET` — CDN-домен Riot обслуживает **Cloudflare**.
- `cdn.playersupport.riotgames.com``3.164.206.37`, обратное имя `…cloudfront.net`, тоже `AS16509`**CloudFront**, это CDN самого Amazon.
Обратите внимание: первые два адреса здесь — **IPv6** (начинаются с `2a05:`, `2a06:`). Метод от этого не меняется: у IPv6-адресов точно так же есть владелец, диапазон и карточка, а [[Zapret/ipset|ipset]]-файлы Zapret принимают IPv6-диапазоны наравне с IPv4.
**Открываем карточку адреса** `2a05:d014:58f:6200::1f5`:
![[domain-owner-riot-ipinfo-amazon-2026-07.png]]
ASN — `AS16509 — Amazon.com, Inc.`, диапазон (Range) — `2a05:d014:400::/38`. Location «Frankfurt, DE» и Company «Amazon Data Services Ireland» пусть не смущают — это география инфраструктуры AWS, а не «национальность» сайта (та же условность, что и со Стокгольмом в первом примере).
**Добавляем диапазон в ipset.** В стандартных пресетах у Amazon уже есть свой профиль со списком `lists/ipset-amazon.txt` (лежит в папке Zapret, например `C:\Zapret\Dev\lists\ipset-amazon.txt`). Открываем файл любым текстовым редактором и дописываем диапазон из карточки новой строкой:
![[domain-owner-riot-ipset-amazon-2026-07.png]]
Формат файла — один IP или CIDR-диапазон на строку, IPv4 и IPv6 вперемешку допустимы (подробно о формате — в [[Zapret/ipset|заметке про ipset]]). После правки списка перезапусти Zapret 2, чтобы ядро перечитало файл, — и трафик на этот диапазон начнёт попадать в профиль Amazon. Дальше как обычно: перебираем стратегии этого профиля и проверяем новым соединением по [[verify-strategy]].
> [!note] А Cloudflare-домен?
> Если сломанной окажется часть сайта на `riotcdn.net` (Cloudflare), для неё всё то же самое, но со своим профилем: ищем в пресете «Cloudflare» и работаем с его списком. Один сайт вполне может требовать двух профилей — по одному на каждую сеть, см. [[profile-independence|«один сайт — один профиль»]].
## Собрали адреса? Отправьте их нам — попадут в категории по умолчанию
Если вы прошли путь до конца и собрали рабочий набор IP-диапазонов и доменов для какой-то игры или сайта — не держите его у себя. Разработчики [[Zapret2|Zapret 2]] принимают такие списки через готовую форму на GitHub и добавляют их в стандартные категории, чтобы следующим пользователям не пришлось повторять сбор заново:
👉 **[Форма отправки hostlist/ipset](https://git.zapret.moe/zapretdiscordyoutube/zapretgui/issues/new?template=hostlist_ipset_request.yml)**
Это не теоретическая процедура — именно так обрабатываются реальные запросы пользователей. В Telegram-группе помощи Zapret есть топик «Запрос ресурсов», куда постоянно приходят просьбы добавить обход для конкретных сайтов и игр: за январь–февраль 2026 там просили, среди прочего, `autodesk.com`, `ubisoft.com`, `support-valorant.riotgames.com`, `bandlab.com`, `anitype.app`, наборы CDN-доменов твич-смайлов (`7tv.app`, `betterttv.net`, `frankerfacez.com`) и десятки других. Каждый такой запрос проверяется описанным в этой заметке методом: домены страницы → IP-адреса → владелец сети → диапазоны в [[Zapret/ipset|ipset]] нужной категории.
Как оформить, чтобы список приняли (полные правила — в [[Zapret/Создание своей категории|Создании своей категории]]):
- Всё одним сообщением: IP-адреса и домены в виде `txt`-файлов в том формате, который принимает Zapret (один адрес/CIDR-диапазон или домен на строку; поддомены тоже указывайте, если они есть).
- Для игр обязательно приложите UDP-порты и адреса для них, а для TCP — сайт, все домены и отдельно IP-адреса.
- Форма не для сайтов с GEO-ограничениями (когда сервис сам не пускает из региона) — она только для ресурсов, блокируемых провайдером.
> [!danger] Главное — не перепутать блокировку провайдера с GEO-ограничением
> Если сервис **сам** закрылся от пользователей из России/СНГ (ChatGPT, Notion, часть игровых магазинов и т.п.) — это не блокировка Роскомнадзора, и добавлять его в пресеты Zapret **бесполезно**: стратегиям тут нечего обходить, сайт и так доступен, он просто отказывает вам по региону. Такие сервисы разблокируются иначе — через файл hosts или подменный DNS, пошагово это разобрано в [[Zapret/hosts|заметке про GEO-ограничения и hosts]]. Как отличить: GEO-блокировка обычно отдаёт внятную страницу отказа («not available in your region», ошибка доступа с текстом от самого сервиса), а блокировка провайдера — бесконечную загрузку, сброс соединения или таймаут.
## Тот же поиск без расширения
Расширение — просто удобство. Владельца домена можно узнать и вручную:
1. Узнай IP домена: в терминале `nslookup signin.rockstargames.com` (Windows/Linux/macOS).
2. Вбей полученный адрес на любом сервисе информации об IP: `ipinfo.io/<адрес>`, `bgp.he.net`, `whois.ru` и аналоги.
3. Смотри поле ASN/Organization — это владелец сети.
Минус ручного способа: ты проверяешь домены по одному и легко пропустишь, что страница тянет ресурсы ещё с пяти доменов на других сетях. Расширение показывает всю картину страницы сразу.
## Ловушки и оговорки
- **Ломаться может не главный домен.** Сайт открылся, но логин/картинки/видео не работают — смотри в таблице расширения домены, которые страница дёргает при этом действии, у них может быть другой владелец (как `signin.rockstargames.com` на скриншоте выше).
- **IP и CDN со временем меняются.** Сайты переезжают между CDN, а сами CDN отдают разные адреса в разных сетях и в разное время (на скриншоте `akamaized.net` разрешился в адрес внутри сети МТС). Если профиль перестал попадать в трафик — пересними адреса заново.
- **Один владелец ≠ одна блокировка.** ТСПУ может душить разные диапазоны одного CDN по-разному, поэтому стратегия, пробившая один сайт на Akamai, не обязана пробивать другой — это нормально, см. [[profile-independence|один сайт — один профиль]].
## 📚 См. также
- [[find-game-strategy|Как найти стратегию для игры]] — тот же принцип «сначала адреса, потом стратегии», но для игр через TCPView
- [[preset|Что такое пресет]] · [[profile|Что такое профиль]] — куда именно вписывается найденный CDN
- [[add-profile|Как добавить свой профиль]] — если профиля под найденный CDN в пресете нет
- [[Zapret/Создание своей категории|Создание своей категории]] — как собрать домены/IP ресурса в списки для профиля
- [[Zapret/ipset|ipset]] · [[Zapret/hostlist|hostlist]] — справочники по фильтрам профиля: IP-диапазоны и домены
- [[verify-strategy|Как проверить, заработала ли стратегия]] — честная проверка каждой попытки
- [[symptom-not-cause|Почему «не работает» — это симптом]] — ложные выводы при переборе вслепую
- [[Zapret/hosts|GEO-ограничения и файл hosts]] — когда сайт закрылся от региона сам и пресеты Zapret не помогут
- 🔗 [Форма отправки hostlist/ipset](https://git.zapret.moe/zapretdiscordyoutube/zapretgui/issues/new?template=hostlist_ipset_request.yml) — поделиться собранными адресами, чтобы они попали в категории по умолчанию
- 🔗 [ipvfoobarbaz на GitHub](https://github.com/ziad8727/ipvfoobarbaz) — исходники расширения
- 🔗 [ipinfo.io](https://ipinfo.io) — карточки IP-адресов: ASN, владелец, диапазон
---
> [!quote] 🤖 Эти статьи открыты — можно обучать на них ИИ
> При желании вы можете натренировать ИИ на наших статьях. Исходное форматирование и скачивание всего репозитория одним zip-архивом доступны в Forgejo: [исходник этой заметки](https://git.zapret.moe/zapretdiscordyoutube/todo/src/branch/main/Zapret2/find-domain-owner.md) · [весь репозиторий](https://git.zapret.moe/zapretdiscordyoutube/todo/src/branch/main).