mirror of
https://github.com/LowderPlay/cheburcheck.git
synced 2026-09-29 02:08:08 +03:00
105 lines
7.2 KiB
Markdown
105 lines
7.2 KiB
Markdown
# Cheburcheck Reporter
|
|
[](https://github.com/LowderPlay/cheburcheck/actions/workflows/build.yml)
|
|
|
|
Инструмент для автоматического сканирования и анализа блокировок.
|
|
Позволяет сканировать большое количество доменов за короткий срок за счет параллелизации запросов.
|
|
|
|
## Сборка
|
|
|
|
Чекер можно использовать на Debian-based дистрибутивах, собрав его через cargo-deb:
|
|
|
|
```shell
|
|
cargo deb
|
|
```
|
|
|
|
На прочих дистрибутивах и ОС можно запустить через:
|
|
|
|
```shell
|
|
cargo run
|
|
```
|
|
|
|
## Использование
|
|
|
|
> [!IMPORTANT]
|
|
> Если вы используете большое количество одновременных запросов, убедитесь, что ограничение
|
|
> `open files` в вашей системе достаточное. Посмотреть и изменить значение можно через `ulimit -n`.
|
|
|
|
В программе заранее установлены настройки по-умолчанию для сканирования топ-100,000 доменов из [Tranco list от 26 ноября 2025](https://tranco-list.eu/list/2NPQ9).
|
|
Для этого достаточно запустить его:
|
|
|
|
1. Сохранить результаты в CSV
|
|
```shell
|
|
cheburchecker output.csv
|
|
```
|
|
|
|
2. Отправить результаты в **Cheburcheck Agency**
|
|
```shell
|
|
cheburchecker -k <API-ключ>
|
|
```
|
|
|
|
> Для того чтобы получить API-ключ,
|
|
> обратитесь по адресу [agency@cheburcheck.ru](mailto: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 юниты и включены таймеры.
|
|
```shell
|
|
sudo apt install cheburchecker_*.deb
|
|
```
|
|
|
|
2. **Настройка API-ключа (обязательно):**
|
|
Чекер отправляет результаты в Cheburcheck Agency. Для этого требуется API-ключ. Его необходимо сохранить в файле `/etc/default/cheburchecker`.
|
|
```bash
|
|
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).
|
|
|
|
Таймеры настроены таким образом, чтобы не конфликтовать друг с другом.
|
|
|
|
### Проверка статуса и логов
|
|
|
|
Вы можете проверить статус таймеров и служб, а также просмотреть их логи:
|
|
|
|
* **Статус таймеров:**
|
|
```bash
|
|
systemctl status cheburchecker.100k.timer
|
|
systemctl status cheburchecker.1kk.timer
|
|
```
|
|
* **Логи служб:**
|
|
```bash
|
|
journalctl -u cheburchecker@100000.service
|
|
journalctl -u cheburchecker@1000000.service
|
|
```
|
|
Отчеты сохраняются в `/var/log/cheburchecker/` с именем файла, включающим количество доменов (например, `report-100000.csv`).
|