docs: quickstart, api reference, faq

This commit is contained in:
ImSavsis 2026-07-19 23:23:04 +05:00
parent 2c1e4617cf
commit 8f78c8aaac
4 changed files with 132 additions and 0 deletions

25
docs/faq.md Normal file
View file

@ -0,0 +1,25 @@
# faq
## зачем это вообще
обычный DNS — незашифрованный UDP-пакет к резолверу провайдера, кто угодно на пути видит какой домен ты спрашиваешь. в РФ это самый дешёвый способ блокировки — провайдер просто не отвечает на запрос про заблокированный домен. DoH заворачивает тот же запрос в HTTPS, провайдер видит только "коннект к 1.1.1.1", а не имя домена.
## cloudflare тоже забанен, что делать
сам cloudflare (его IP-диапазоны) массово не блокируют — через него живёт куча обычных сайтов, задеть его целиком означает положить половину интернета. а вот конкретно `cloudflare-dns.com` как известный анти-цензурный эндпоинт — уже могут таргетить точечно по SNI.
если это произошло — `pydoh` сам едет на `dns.google`, потом на `dns.quad9.net` (см. `DEFAULT_PROVIDERS`), без твоего участия.
если и туда достанут — тогда нужен свой DoH-эндпоинт на домене, которого нет в блок-листах, см. [quickstart.md](quickstart.md#свой-doh-провайдер).
## а это законно
`pydoh` просто шлёт DNS-запросы другим транспортом (HTTPS вместо UDP). это тот же протокол, который сейчас включён по умолчанию в Firefox/Chrome для миллионов пользователей.
## почему не requests/httpx
zero deps — библиотека не тянет вообще ничего кроме stdlib. весь HTTPS через `http.client`+`ssl`, которые уже есть в питоне из коробки.
## поддерживает DNSSEC?
нет. и не планируется — это резолвер для обхода блокировок и приватности, а не для валидации подписей.