cheburcheck/reporter
dependabot[bot] ce868deb7c
chore(deps): bump libc from 0.2.177 to 0.2.183 (#40)
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.177 to 0.2.183.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.183/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.177...0.2.183)

---
updated-dependencies:
- dependency-name: libc
  dependency-version: 0.2.183
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-09 12:32:36 +05:00
..
debian feat: automatic reporting 2025-12-16 23:58:02 +05:00
src feat: build deb (#3) 2025-12-12 05:26:52 +05:00
build.rs feat: add reporter, database 2025-12-10 04:50:14 +05:00
Cargo.toml chore(deps): bump libc from 0.2.177 to 0.2.183 (#40) 2026-03-09 12:32:36 +05:00
README.md feat: automatic reporting 2025-12-16 23:58:02 +05:00

Cheburcheck Reporter

Build Rust Application

Инструмент для автоматического сканирования и анализа блокировок. Позволяет сканировать большое количество доменов за короткий срок за счет параллелизации запросов.

Сборка

Чекер можно использовать на Debian-based дистрибутивах, собрав его через cargo-deb:

cargo deb

На прочих дистрибутивах и ОС можно запустить через:

cargo run

Использование

Important

Если вы используете большое количество одновременных запросов, убедитесь, что ограничение open files в вашей системе достаточное. Посмотреть и изменить значение можно через ulimit -n.

В программе заранее установлены настройки по-умолчанию для сканирования топ-100,000 доменов из Tranco list от 26 ноября 2025. Для этого достаточно запустить его:

  1. Сохранить результаты в CSV

    cheburchecker output.csv
    
  2. Отправить результаты в Cheburcheck Agency

    cheburchecker -k <API-ключ>
    

Для того чтобы получить API-ключ, обратитесь по адресу agency@cheburcheck.ru.

В письме укажите ваш интернет-провайдер и регион.

Конфигурация

Параметр Описание Значение по-умолчанию
-f, --fake <FAKE> Использовать один домен для всех запросов
-c, --count <COUNT> Количество доменов, которые будут проверены (берутся с начала списка) 100,000
-t, --timeout-secs <TIMEOUT_SECS> Максимальное время ожидания ответа от сервера 5 секунд
-p, --probes <PROBE_COUNT> Максимальное количество одновременных запросов 1000
-v, --verbosity <VERBOSITY> Отображение результатов сканирования в консоли [silent, error, block, all] silent
-r, --retry-count <RETRY_COUNT> Количество попыток запросов на один домен 2
-H, --http Использовать plain-HTTP (без TLS)
-x, --tx Отправлять мусорные данные 64кб на сервер
-i, --ip <IP> IP-адрес сервера, на который будут идти запросы (должен отвечать >64kb на любые домены) 5.78.7.195
-P, --path <PATH> Путь к файлу на сервере 100MB.bin
-a, --endpoint <AGENCY_ENDPOINT> Адрес сервера, на который будут загружены результаты сканирования https://cheburcheck.ru/agency/report
-k, --key <KEY> API-ключ

Автоматическое сканирование по расписанию (Systemd)

Для автоматического и регулярного запуска чекера на Debian-based системах, вы можете использовать systemd таймеры. Этот проект поставляется с преднастроенными systemd юнитами, которые автоматически устанавливаются с помощью cargo-deb.

Установка

  1. Установка пакета: При установке автоматически будут размещены systemd юниты и включены таймеры.

    sudo apt install cheburchecker_*.deb
    
  2. Настройка API-ключа (обязательно): Чекер отправляет результаты в Cheburcheck Agency. Для этого требуется API-ключ. Его необходимо сохранить в файле /etc/default/cheburchecker.

    echo "AGENCY_KEY=ВАШ_API_КЛЮЧ" | sudo tee /etc/default/cheburchecker
    

    Замените ВАШ_API_КЛЮЧ на ваш реальный ключ.

Расписание задач

Предусмотрено два автоматических расписания:

  • cheburchecker.100k.timer: Запускает проверку 100,000 доменов каждые 6 часов (в 06:00, 12:00, 18:00 UTC).
  • cheburchecker.1kk.timer: Запускает проверку 1,000,000 доменов ежедневно (в 00:00 UTC).

Таймеры настроены таким образом, чтобы не конфликтовать друг с другом.

Проверка статуса и логов

Вы можете проверить статус таймеров и служб, а также просмотреть их логи:

  • Статус таймеров:
    systemctl status cheburchecker.100k.timer
    systemctl status cheburchecker.1kk.timer
    
  • Логи служб:
    journalctl -u cheburchecker@100000.service
    journalctl -u cheburchecker@1000000.service
    
    Отчеты сохраняются в /var/log/cheburchecker/ с именем файла, включающим количество доменов (например, report-100000.csv).