О проекте
О проекте IPGet
Сетевая диагностика, в которой приватность заложена в устройство, а не дописана в правилах.
IPGet — это набор диагностических инструментов, отвечающих на вопросы о соединении: какой у вас адрес, какие записи отдаёт домен, какой сертификат предъявляет узел, открыт ли порт, что именно видит о вас браузер. Каждый инструмент решает одну задачу и говорит, откуда взялся ответ.
Проект существует потому, что очевидный путь к таким инструментам — собрать о посетителе всё, что можно, и разобраться с этим потом. Здесь выбран обратный подход: не собирать того, что не нужно для ответа, и честно писать, что именно нужно.
Для кого это
Прежде всего для тех, кто уже посреди проблемы. Человек, у которого сайт перестал открываться после переноса, администратор, выясняющий, почему письма уходят в спам, разработчик, у которого запрос упирается в сертификат, — им нужен ответ сейчас, а не регистрация и не подписка.
Пользуются IPGet и те, кто просто хочет понять, как устроен интернет: чем публичный адрес отличается от частного, почему у телефона и ноутбука он один и тот же, что на самом деле скрывает VPN. Для них написаны пояснения рядом с каждым инструментом.
Чего эти инструменты не делают
Диагностический инструмент, который всегда выдаёт уверенный ответ, не точнее того, который иногда признаёт, что не смог проверить. Поэтому здесь есть состояние «не определено», и оно означает ровно то, что написано: проверка не завершилась. Это честнее, чем превращать неудачу в уверенное утверждение.
То же касается того, чего инструменты сознательно не утверждают. Геолокация по IP-адресу подписана как оценка, потому что она и есть оценка: страна обычно верна, город — часто нет. Определение VPN названо признаком, а не фактом, потому что оно смотрит на то, кому выделен диапазон адресов, а не на то, что установлено на вашем устройстве.
Инструменты не опознают людей. Каждый из них описывает соединение, домен или устройство — не человека. IP-адрес называет подключение и его оператора, и за одним адресом могут стоять тысячи абонентов.
И здесь не продают рекомендации. На сайте есть реклама, о чём сказано прямо, но ни один результат проверки не зависит от того, кто платит: вердикт формируется до того, как страница вообще узнаёт о существовании рекламного блока.
Как это сделано
Каждый инструмент покрыт автоматическими тестами, которые выполняются перед каждой выкладкой, — в том числе тестами на то, что перечислено выше: что состояние «не определено» доходит до страницы, что оценки подписаны как оценки, что локализованная страница не показывает английский текст.
Справочные данные — список производителей по MAC-адресам, таблицы кодов ответа, наборы публичных резолверов — берутся из открытых реестров и обновляются вместе с кодом. Ничего не выдумывается: если данных нет, инструмент об этом говорит.
- Ни один инструмент не требует учётной записи.
- Введённые адреса и домены не сохраняются после ответа.
- История измерений скорости и адресов живёт только в вашем браузере.
- Страницы работают без JavaScript настолько, насколько это вообще возможно для каждого инструмента.
В браузере или на сервере — почему это разделение важно
Сведения о браузере — размер экрана, часовой пояс, язык, платформа, строка User-Agent — читаются локально и никуда не отправляются. Страница показывает то, что ваш собственный браузер о себе сообщает, и на этом всё заканчивается.
Сетевые проверки так работать не могут. Открыт ли порт, какой сертификат отдаёт узел, что отвечает публичный резолвер — на эти вопросы браузер ответить не в состоянии, и запрос выполняет сервер IPGet. Там, где это так, на странице написано именно это.
Каждая проверка, принимающая цель, сверяет её до установления соединения: имя разрешается, полученные адреса сопоставляются с частными, зарезервированными и служебными диапазонами облачных метаданных, и запрос к ним не выполняется. Иначе публичный инструмент стал бы удобным способом заглядывать во внутренние сети.
Сам сайт отдаётся со строгой политикой безопасности содержимого — без unsafe-inline, без unsafe-eval, без подстановочных источников. Список разрешённых источников короткий, и каждое расширение этого списка — отдельное решение, а не побочный эффект.
| Технология | Зачем она здесь |
|---|---|
| Astro | Статическая сборка страниц; интерактивность добавляется точечно |
| TypeScript | Словари переводов типизированы, поэтому пропущенный ключ ломает сборку |
| Node.js | Серверные проверки: DNS, порты, сертификаты, заголовки |
| CSP | Строгая политика источников без исключений для встроенных скриптов |
Сайт работает на семи языках: английском, испанском, арабском, турецком, немецком, русском и персидском. Перевод — это не только подписи кнопок: пояснения, сообщения об ошибках, состояния результатов и вопросы с ответами написаны на каждом из них.
Частые вопросы
Сохраняются ли мои запросы?
Нет. Адрес или домен, который вы вводите, нужен только для того, чтобы выполнить проверку, и после ответа не сохраняется. История измерений скорости и смены адреса, если вы ею пользуетесь, хранится в вашем браузере и на сервер не уходит.
Почему определение города бывает неверным?
Потому что геолокация по IP-адресу — это оценка, построенная на регистрационных данных и маршрутизации, а не измерение. Страна обычно определяется верно, город — заметно реже, особенно в мобильных сетях и за CGNAT, где выходная точка может находиться в сотнях километров от абонента.
Почему часть проверок выполняется на сервере?
Потому что браузер не может открыть произвольное TCP-соединение, прочитать сертификат чужого узла или опросить публичный резолвер. Всё, что можно выполнить локально, выполняется локально; остальное выполняет сервер, и на странице написано, какой именно случай перед вами.
Есть ли API?
Да, те же самые JSON-эндпоинты, которые вызывают сами инструменты, документированы и доступны публично. Отдельного «серверного» API, отличающегося от того, что работает на страницах, не существует.
На каких языках доступен сайт?
На семи: английском, испанском, арабском, турецком, немецком, русском и персидском. Переведены не только интерфейсы, но и пояснения, сообщения об ошибках и разделы вопросов и ответов.