Простой способ получить пинг, mtr (и многое другое) от посетителей вашего сайта
Привет, Хабр. В последнее время интернет в России стал работать совсем плохо. Наверное все админы российских сайтов уже столкнулись с жалобами от посетителей на то, что «сайт не открывается». При том, что сайт находится на российском хостинге а домен/ip роскомнадзором не заблокирован, и вообще всё должно работать нормально.
Ещё N лет назад такая проблема была редкостью и каждый случай недоступности сайта ты расследовал в индивидуальном порядке. Обычно изучение проблемы проходило так:
Пользователь жалуется «у меня не открывается сайт».
Админ начинает запрашивать у него пинг, трассировку, mtr, скриншот в браузере и так далее
Если повезёт, то пользователь пришлёт вам всю диагностическую информацию. А может не повезёт и ничего не пришлёт.
Но в последнее время жалоб стало так много, что требовать с каждого клиента всю диагностическую информацию стало нереально. Тем более, что большинство даже не знают, что такое пинг и командная строка. Поэтому я решил написать программку, которая в один клик соберёт за клиента всю диагностическую информацию и сформирует отчёт работает-ли сайт и если нет, то почему.

Пользователю нужно просто ввести URL сайта и нажать кнопочку "проверить". После чего программа сама запустит все проверки и сохранит отчёт с результатами проверки в zip-архив. В отчёт входит:
IP-адрес сайта и прочие DNS-записи. Запрашивается системным gethostbyname(), системным ресолвером (jndi-dns) а также с сервров 8.8.8.8 и 1.1.1.1.
Устанавливается-ли TCP-соединение с сайтом и если нет, то почему.
Нормально-ли устанавливается TLS-сессия. Если нет, то пытается установить её игнорируя ошибки TLS. Также в отчёт попадает цепочка SSL-сертификатов сайта, полученная от сервера.
Нормально-ли проходит HTTP-запрос
Пинг до сервера
MTR до сервера (20 пингов)
Далее пользователь отправляет отчёт админу сайта и вы уже по этому отчёту смотрите в каком месте возникла проблема.
Скачать программу можно на моём сайте
На данный момент есть билды под Windows и Macos. Под Linux она тоже работает, но пока билды под него не выкладывал.
Планы на будущее:
Добавить в отчёт скриншот сайта, консоль ошибок и лог сети браузера
Убрать запрос админского пароля в версии под Macos
Сделать версию под Android
Заранее извиняюсь за возможные баги. Если что-то работает неправильно, то можете писать об этом в комментах или по контактам на сайте программы.