Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

LowderPlay/cheburcheck

Open more actions menu

Repository files navigation

Cheburcheck Logo 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 — библиотека иконок, применяемая для визуального оформления интерфейса.

Как это работает

  1. Пользователь вводит домен или IP-адрес в форму на сайте.
  2. Сервер выполняет DNS-запрос через Quad9 DoH для получения актуальной информации.
  3. Полученный домен/IP проверяется на наличие в блокировочных списках через префиксные деревья.
  4. Результат возвращается через API и отображается SSR-фронтендом SvelteKit.

Списки

Для проверки используются списки 123jjck/cdn-ip-ranges, antifilter.download и antifilter.network.

Мы собираем собственные белые списки с помощью Cheburcheck Reporter.


Структура проекта

  • querying — модуль проверки сайтов по базам данных
  • reporterCheburcheck Reporter
  • reports — общий протокол для отправки отчетов
  • website — Rocket API и серверная логика
  • probeCheburcheck Probe
  • frontend — SvelteKit SSR-интерфейс

Запуск через Docker Compose

docker compose up --build

По умолчанию nginx слушает http://localhost:8080. Порт можно изменить через HTTP_PORT, например:

HTTP_PORT=80 docker compose up --build

Маршрутизация:

  • /api/v1/*, /agency/*, /whitelist/* идут в Rocket
  • остальные запросы идут в SvelteKit SSR

Вклад

Если хотите помочь с разработкой — открывайте issue или присылайте pull requests. Если хотите помочь финансово:

  • TON: UQAACsiwpGryjP-kqp4TJPAWpXytuB6M_puuO0Cg5zNvaSJW

Контакты

Для вопросов и обсуждений можно написать на support@cheburcheck.ru.

Morty Proxy This is a proxified and sanitized view of the page, visit original site.