v0.1.0 · Лицензия MIT
Видьте каждый запросна своей машине
Reqeek запускает прокси HTTP/HTTPS локально и записывает всё, что через него проходит, — метод, статус, время, время до первого байта, тело целиком. Без расширений ядра, без правок роутера, и трафик не покидает машину.
Доступно для macOS и Windows
Нажмите на группу хостов, чтобы раскрыть запросы, или переключите вкладки типов выше, чтобы отфильтровать список.
Всё, что стоит сохранить
От обычного HTTP до расшифрованного HTTPS, от заголовков запроса до тел ответов — Reqeek показывает запрос целиком.
Перехват HTTP
Пересылает обычные HTTP-запросы и записывает метод, URL, код статуса, время, время до первого байта и объём переданных данных в обе стороны.
Расшифровка HTTPS
По каждому запросу CONNECT на лету выпускает сертификат сайта, так что видны заголовки запроса, заголовки ответа и тела целиком. Хосты, на которых не проходит рукопожатие, переходят в прозрачный туннель.
WebSocket
Работает с обычным ws и расшифрованным wss. После успешного переключения протокола байты пересылаются как есть, а трафик считается в обе стороны.
Детали запроса
Пять панелей: Headers, Payload, Preview, Response и Timing. JSON и XML показываются сворачиваемым деревом, изображения и HTML можно посмотреть на месте.
Приложение-источник
Определяет локальное приложение, отправившее запрос, по исходному порту клиента. Боковая панель суммирует запросы по приложениям — нажмите на приложение, чтобы видеть только его трафик.
Фильтры и поиск
Фильтрация по типу ресурса или ключевому слову, с инверсией поиска, режимом «только ошибки» и скрытием туннелей. Список сгруппирован по хостам, каждый столбец сортируется.
Управление системным прокси
Включает системный прокси при старте записи и возвращает прежние настройки при остановке или выходе. Перед изменениями текущая конфигурация сохраняется на диск, поэтому неудачная привязка порта не тронет настройки сети.
Управление сертификатами
Создание корневого CA, установка и добавление в доверенные, проверка состояния доверия и удаление — всё внутри приложения, без копания в Keychain Access или certmgr.
Как это работает
Без расширений ядра, без сетевого драйвера, без выхода трафика за пределы машины. Reqeek использует самый простой из доступных подходов: прокси, запущенный локально.
- 1
Сначала проверка доверия к корневому сертификату
Когда вы нажимаете «Начать запись», Reqeek сначала проверяет, доверен ли корневой CA. Если нет — запись отклоняется, а интерфейс остаётся на экране настройки сертификата: лучше сказать об этом сразу, чем оставить вас перед окном, которое ничего не записывает.
- 2
Запуск прокси, затем перехват системного прокси
Прокси запускается на 127.0.0.1. Системные настройки прокси меняются только после успешной привязки порта, так что конфликт портов не отрежет вас от сети.
- 3
Пересылка и запись
Обычный HTTP пересылается и записывается напрямую. HTTPS приходит через CONNECT и по умолчанию расшифровывается только на порту 443. Хосты Apple Push и OCSP исключены из коробки и записываются как туннели — только хост, объём и длительность.
- 4
Восстановление при остановке
Остановка сначала возвращает системный прокси и только потом выключает сам прокси. Если приложение завершилось неожиданно, при следующем запуске системный прокси восстанавливается из сохранённого ранее снимка.
Несколько значений по умолчанию, о которых вы могли спросить
Каждое число здесь взято из исходного кода, а не угадано.
- Адрес прослушивания
- 127.0.0.1
- Только локальные подключения — больше никто в вашей сети до него не дотянется
- Порт прокси
- 8989
- Настраивается в параметрах, от 1024 до 65535
- Расшифровка по умолчанию
- Порт 443
- Всё остальное идёт как туннель
- Исключённые хосты
- push.apple.com и другие
- Включая push.services.apple.com и все хосты OCSP — они никогда не расшифровываются
- Тело на один элемент
- 5 MiB
- Сверх этого остаётся только счётчик байт
- Бюджет памяти на детали
- 64 MiB
- Вытеснение LRU целыми записями — перехваченное содержимое никогда не пишется на диск
- Срок действия корневого CA
- 10 лет
- Сертификаты сайтов действуют 199 дней и кэшируются для 512 хостов
Поддержка платформ
macOS и Windows поддерживаются полностью. Linux пока не умеет перехватывать.
| Возможность | macOS | Windows | Linux |
|---|---|---|---|
| Автоматически задавать системный прокси | Доступно | Доступно | Недоступно |
| Устанавливать корневой сертификат и доверять ему | Доступно | Доступно | Недоступно |
| Начинать запись | Доступно | Доступно | Недоступно |
| Фильтровать по приложению-источнику | Доступно | Доступно | Недоступно |
В Linux есть только конфигурация сборки — драйверов для системного прокси и доверия сертификатам нет. Состояние доверия всегда сообщается как неподдерживаемое, а для начала записи нужен доверенный сертификат, поэтому запуск отклоняется. CI тоже не собирает установщики для Linux.
Драйверы системного прокси и доверия сертификатам в Windows реализованы по открытой документации и пока не проверены полностью на реальном железе. Сообщения о проблемах приветствуются.
Горячие клавиши
Запуск, очистка и поиск — не отрывая рук от клавиатуры.
- Начать / остановить записьCmd/Ctrl+R
- Очистить записиCmd/Ctrl+K
- Искать по запросамCmd/Ctrl+F
- Открыть настройкиCmd/Ctrl+,
- Перемещаться по списку запросов↑+↓
Безопасность и приватность
Инструмент перехвата видит весь ваш трафик, так что он должен быть достоин доверия.
Только локальные подключения
Прокси привязан к 127.0.0.1 и не принимает ничего из локальной сети или из интернета.
Приватный ключ остаётся здесь
Сертификат корневого CA и ключ лежат в каталоге данных приложения: права 0700 на каталог и 0600 на файл ключа. Любой, у кого есть этот ключ, может подделать любой сайт по HTTPS — никогда не делитесь ca.key.
Ничего не пишется на диск
Детали запросов хранятся только в памяти и вытесняются по LRU в рамках бюджета 64 MiB. После выхода ничего не остаётся.
Само приложение не стучится наружу
Reqeek никуда не отправляет данные. Ни аккаунта, ни аналитики, ни телеметрии.
Один экземпляр за раз
Блокировка на единственный экземпляр не даёт двум копиям восстанавливать настройки системного прокси друг друга.
Скачать Reqeek
Текущая версия v0.1.0. Выберите установщик для своей машины.
Ссылки ведут на GitHub Releases. Если из вашего региона они медленные, есть ретранслятор для материкового Китая.
Все релизыЧто скажет система при первом запуске
- macOS
- Сборка для macOS подписана ad-hoc и не нотаризована Apple. Gatekeeper заблокирует первый запуск — выберите «Всё равно открыть» в разделе «Системные настройки → Конфиденциальность и безопасность» или щёлкните приложение правой кнопкой в Finder и выберите «Открыть».
- Windows
- У сборки для Windows нет сертификата подписи кода, поэтому SmartScreen может предупредить, что Windows защитила ваш компьютер. Нажмите «Подробнее», затем «Выполнить в любом случае».
Частые вопросы
Почему обязательно нужно доверять корневому сертификату?
Расшифровка HTTPS по определению — это человек посередине. Reqeek создаёт корневой CA на вашей машине и выпускает через него временный сертификат для каждого посещаемого хоста. Браузеры принимают такие сертификаты, только если система доверяет этому корневому CA. Без него трафик HTTPS можно записывать лишь как туннели — хост, объём и длительность, без содержимого.
Некоторые приложения не расшифровываются. Это поломка?
Нет. Приложения с привязкой к сертификату (certificate pinning) намеренно отказываются расшифровываться — так и должна работать их модель безопасности. Когда рукопожатие не проходит, Reqeek добавляет хост в список исключений и больше не пытается его расшифровать, записывая как туннель.
macOS говорит, что разработчика нельзя проверить, или что приложение повреждено.
Текущая сборка подписана ad-hoc и не нотаризована Apple. При первом запуске найдите уведомление о блокировке в разделе «Системные настройки → Конфиденциальность и безопасность» и выберите «Всё равно открыть». Либо щёлкните приложение правой кнопкой в Finder, выберите «Открыть» и подтвердите в диалоге.
Почему в Linux нет перехвата?
В Linux есть только конфигурация сборки electron-builder — нет драйверов для системного прокси и доверия сертификатам. Состояние доверия всегда сообщается как неподдерживаемое, а для начала записи нужен доверенный сертификат, поэтому запуск отклоняется сразу. CI тоже не собирает и не загружает установщики для Linux.
Порт 8989 уже занят. Что делать?
Смените порт в настройках — подойдёт любой от 1024 до 65535. Reqeek сначала убеждается, что новый порт привязывается, и только потом трогает настройки системного прокси, так что конфликт никогда не ломает сеть.
Останется ли системный прокси после выхода?
Обычная остановка записи или выход восстанавливают его автоматически. Если процесс убили принудительно, при следующем запуске системный прокси восстанавливается из сохранённого ранее снимка. Можно также отключить его вручную в разделе «Системные настройки → Сеть → Прокси».