Cheburcheck
Сайт для проверки блокировок в России
[Cheburcheck.ru](https://cheburcheck.ru) — open-source сервис для проверки доменов и IP-адресов на наличие в списках блокировок Роскомнадзора и популярных заблокированных CDN-провайдеров. The project is written primarily in Rust, distributed under the BSD 3-Clause "New" or "Revised" License license, first published in 2025. Key topics include: censorship-resistance, russia, vpn.
Cheburcheck.ru
Cheburcheck.ru — open-source сервис для проверки доменов и IP-адресов на наличие в списках блокировок Роскомнадзора и популярных заблокированных CDN-провайдеров.
О проекте
Этот сервис реализован на языке Rust с использованием веб-фреймворка Rocket.rs. Основная задача — проверять, заблокирован ли домен или IP-адрес, основываясь на актуальных данных из реестров Роскомнадзора и других источниках.
Технологии
- Rust — язык программирования, на котором написан весь бекенд.
- Rocket.rs — веб-фреймворк для построения HTTP API и серверной логики.
- DoH резолвер Quad9 — для разрешения DNS-запросов используется DNS-over-HTTPS, что позволяет обойти локальные ограничения и получать актуальные данные.
- SvelteKit — SSR-фронтенд, который запускается отдельным Node.js сервисом.
- nginx — публичная точка входа, проксирует API в Rocket, а страницы в SvelteKit.
- lucide — библиотека иконок, применяемая для визуального оформления интерфейса.
Как это работает
- Пользователь вводит домен или IP-адрес в форму на сайте.
- Сервер выполняет DNS-запрос через Quad9 DoH для получения актуальной информации.
- Полученный домен/IP проверяется на наличие в блокировочных списках через префиксные деревья.
- Результат возвращается через API и отображается SSR-фронтендом SvelteKit.
Списки
Для проверки используются списки 123jjck/cdn-ip-ranges, antifilter.download и antifilter.network.
Мы собираем собственные белые списки с помощью Cheburcheck Reporter.
Структура проекта
querying— модуль проверки сайтов по базам данныхreporter— Cheburcheck Reporterreports— общий протокол для отправки отчетовwebsite— Rocket API и серверная логикаprobe— Cheburcheck Probefrontend— SvelteKit SSR-интерфейс
Запуск через Docker Compose
shdocker compose up --build
По умолчанию nginx слушает http://localhost:8080. Порт можно изменить через
HTTP_PORT, например:
shHTTP_PORT=80 docker compose up --build
Маршрутизация:
/api/v1/*,/agency/*,/whitelist/*идут в Rocket- остальные запросы идут в SvelteKit SSR
Базы проверок кешируются в database-cache/. Путь можно изменить через
DATABASE_CACHE_DIR, основной интервал обновления — через
DATABASE_INTERVAL_SECONDS, а интервал повтора после ошибки скачивания — через
DATABASE_RETRY_INTERVAL_SECONDS (по умолчанию 300 секунд).
Вклад
Если хотите помочь с разработкой — открывайте issue или присылайте pull requests.
Если хотите помочь финансово:
- TON:
UQAACsiwpGryjP-kqp4TJPAWpXytuB6M_puuO0Cg5zNvaSJW
Контакты
Для вопросов и обсуждений можно написать на support@cheburcheck.ru.
Contributors
Showing top 7 contributors by commit count.
