No description
Find a file
2026-08-18 02:30:50 +05:00
.github/workflows init: udp dns to doh forwarder 2026-07-19 20:21:41 +05:00
src init: udp dns to doh forwarder 2026-07-19 20:21:41 +05:00
.gitignore init: udp dns to doh forwarder 2026-07-19 20:21:41 +05:00
CMakeLists.txt init: udp dns to doh forwarder 2026-07-19 20:21:41 +05:00
LICENSE docs: add license + ci/license badges 2026-07-19 20:47:23 +05:00
llms.txt docs: add llms.txt 2026-07-19 20:48:33 +05:00
README.md chore: badges + point profile links at devsavsis 2026-08-18 02:30:50 +05:00

doh-stub

CI license

локальный DNS-резолвер на C++, который сам ходит наружу по DNS-over-HTTPS. провайдер/DPI видит только HTTPS к cloudflare, а не голые DNS-запросы.

sequenceDiagram
    OS->>doh-stub: обычный DNS-запрос (UDP)
    doh-stub->>Cloudflare: тот же запрос, но внутри HTTPS POST
    Cloudflare->>doh-stub: ответ внутри HTTPS
    doh-stub->>OS: обычный DNS-ответ (UDP)

сборка

cmake -B build
cmake --build build --config Release

юзать

build\Release\dohstub.exe --port 5300

по умолчанию слушает 127.0.0.1:5300 и форвардит на cloudflare-dns.com. чтобы реально подменить системный DNS — нужен порт 53 и админ, плюс прописать 127.0.0.1 в настройках сети.

что не умеет

не кэширует ответы, каждый запрос — новый HTTPS-коннект. для личного использования хватает, для нагрузки — нет.