Skip to content

LowderPlay/cheburcheck

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 и серверная логика
  • 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/* и устаревший /feedback/* идут в Rocket
  • остальные запросы идут в SvelteKit SSR

Вклад

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

  • TON: UQAACsiwpGryjP-kqp4TJPAWpXytuB6M_puuO0Cg5zNvaSJW

Контакты

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

About

Сайт для проверки блокировок в России

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors