WhatWeb

Reconnaissance v0.6.4 · 02.04.2026 активный

Идентификатор веб-технологий: определяет CMS, фреймворки, серверы, библиотеки и версии ПО по сигнатурам из 1800+ плагинов.

v0.6.4
02.04.2026 current
Добавлен 16.06.2026 · Обновлён 16.06.2026 · Reconnaissance
Установка
sudo apt install whatweb
# Или из исходников:
git clone https://github.com/urbanadventurer/WhatWeb
cd WhatWeb
ruby whatweb http://target.com
переведено ИИ

Лицензия Стабильная версия Плагины WhatWeb Репозитории

logo

WhatWeb - Сканер веб-сайтов нового поколения

Разработан Эндрю Хортоном urbanadventurer и Бренданом Коулзом bcoles

Последний релиз: v0.6.4. 3 апреля 2026 г.

Лицензия: GPLv2

Данный продукт регулируется условиями, изложенными в соглашении об лицензии. Для получения дополнительной информации о WhatWeb посетите https://github.com/urbanadventurer/

Wiki: https://github.com/urbanadventurer/WhatWeb/wiki/

Если у вас есть какие-либо вопросы, комментарии или замечания относительно WhatWeb, пожалуйста, сначала ознакомьтесь с документацией, прежде чем связываться с одним из разработчиков. Мы всегда приветствуем ваш обратный отклик.

Содержание

  • О WhatWeb
  • Примеры использования
  • Использование
  • Логирование и вывод
  • Плагины
  • Агрессивность
  • Производительность и стабильность
  • Дополнительные зависимости
  • Написание плагинов
  • Обновления и дополнительная информация
  • История релизов
  • Благодарности

О WhatWeb

WhatWeb идентифицирует веб-сайты. Его цель — ответить на вопрос: «Что это за веб-сайт?». WhatWeb распознает веб-технологии, включая системы управления контентом (CMS), платформы для блогов, пакеты статистики/аналитики, библиотеки JavaScript, веб-серверы и встраиваемые устройства. WhatWeb имеет более 1800 плагинов, каждый из которых предназначен для распознавания чего-то разного. WhatWeb также определяет номера версий, адреса электронной почты, идентификаторы аккаунтов, модули веб-фреймворков, ошибки SQL и многое другое.

WhatWeb может быть незаметным и быстрым или тщательным, но медленным. WhatWeb поддерживает уровень агрессивности для управления компромиссом между скоростью и надежностью. Когда вы посещаете веб-сайт в своем браузере, транзакция включает множество подсказок о том, какие веб-технологии задействованы на этом сайте. Иногда одного посещения веб-страницы достаточно для идентификации сайта, но если это не так, WhatWeb может дополнительно запросить информацию у сайта. Уровень агрессивности по умолчанию, называемый «незаметным», является самым быстрым и требует только одного HTTP-запроса к сайту. Это подходит для сканирования публичных веб-сайтов. Более агрессивные режимы были разработаны для использования при тестировании на проникновение.

Большинство плагинов WhatWeb являются тщательными и распознают ряд подсказок — от незаметных до очевидных. Например, большинство сайтов на WordPress можно идентифицировать по мета-тегу HTML, например '', но у меньшинства сайтов на WordPress этот идентифицирующий тег удален, однако это не мешает WhatWeb. Плагин WhatWeb для WordPress имеет более 15 тестов, которые включают проверку фавикона, файлов установки по умолчанию, страниц входа и проверку наличия "/wp-content/" в относительных ссылках.

Возможности

  • Более 1800 плагинов
  • Управление компромиссом между скоростью/незаметностью и надежностью
  • Настройка производительности. Контроль количества одновременно сканируемых веб-сайтов с автоматической оптимизацией вывода.
  • Несколько форматов журнала: Краткий (grep-формат), Подробный (читаемый человеком), XML, JSON, MagicTree, RubyObject, MongoDB, ElasticSearch, SQL.
  • Поддержка прокси, включая TOR
  • Пользовательские HTTP-заголовки
  • Базовая HTTP-аутентификация
  • Управление перенаправлением веб-страниц
  • Диапазоны IP-адресов
  • Нечеткое сопоставление
  • Осведомленность о достоверности результатов
  • Пользовательские плагины, определяемые в командной строке
  • Поддержка IDN (интернационализированных доменных имен)
  • Двухпротокольное сканирование для простых имен хостов (автоматически проверяет как HTTP, так и HTTPS)

Примеры использования

Использование WhatWeb для сканирования reddit.com.

$ ./whatweb reddit.com
http://reddit.com [301 Moved Permanently] Country[UNITED STATES][US], HTTPServer[snooserv], IP[151.101.65.140], RedirectLocation[https://www.reddit.com/], UncommonHeaders[retry-after,x-served-by,x-cache-hits,x-timer], Via-Proxy[1.1 varnish]
https://www.reddit.com/ [200 OK] Cookies[edgebucket,eu_cookie_v2,loid,rabt,rseor3,session_tracker,token], Country[UNITED STATES][US], Email[banner@2x.png,snoo-home@2x.png], Frame, HTML5, HTTPServer[snooserv], HttpOnly[token], IP[151.101.37.140], Open-Graph-Protocol[website], Script[text/javascript], Strict-Transport-Security[max-age=15552000; includeSubDomains; preload], Title[reddit: the front page of the internet], UncommonHeaders[fastly-restarts,x-served-by,x-cache-hits,x-timer], Via-Proxy[1.1 varnish], X-Frame-Options[SAMEORIGIN]

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


.$$$     $.                                   .$$$     $.         
$$$$     $$. .$$$  $$$ .$$$$$$.  .$$$$$$$$$$. $$$$     $$. .$$$$$$$. .$$$$$$. 
$ $$     $$$ $ $$  $$$ $ $$$$$$. $$$$$ $$$$$$ $ $$     $$$ $ $$   $$ $ $$$$$$.
$ `$     $$$ $ `$  $$$ $ `$  $$$ $$' $ `$ `$$ $ `$     $$$ $ `$      $ `$  $$$'
$. $     $$$ $. $$$$$$ $. $$$$$$ `$  $. $  :' $. $     $$$ $. $$$$   $. $$$$$.
$::$  .  $$$ $::$  $$$ $::$  $$$     $::$     $::$  .  $$$ $::$      $::$  $$$$
$;;$ $$$ $$$ $;;$  $$$ $;;$  $$$     $;;$     $;;$ $$$ $$$ $;;$      $;;$  $$$$
$$$$$$ $$$$$ $$$$  $$$ $$$$  $$$     $$$$     $$$$$$ $$$$$ $$$$$$$$$ $$$$$$$$$'

WhatWeb - Сканер веб-сайтов нового поколения, версия 0.6.4.
Разработан Эндрю Хортоном (urbanadventurer) и Бренданом Коулзом (bcoles)
Домашняя страница: https://morningstarsecurity.com/research/whatweb

Использование: whatweb [опции] <URL-адреса>

ВЫБОР ЦЕЛИ:
  <ЦЕЛИ>               Введите URL-адреса, имена хостов, IP-адреса, имена файлов или
                        диапазоны IP-адресов в формате CIDR, x.x.x-x или x.x.x.x-x.x.x.x.
  --input-file=ФАЙЛ, -i Чтение целей из файла. Вы можете передавать
                        имена хостов или URL-адреса напрямую с помощью -i /dev/stdin.

ИЗМЕНЕНИЕ ЦЕЛИ:
  --url-prefix          Добавить префикс к целевым URL-адресам.
  --url-suffix          Добавить суффикс к целевым URL-адресам.
  --url-pattern         Вставить цели в URL-адрес. Требуется --input-file,
                        например www.example.com/%insert%/robots.txt

АГРЕССИВНОСТЬ:
  Уровень агрессивности управляет компромиссом между скоростью/незаметностью
  и надежностью.
  --aggression, -a=УРОВЕНЬ   Установить уровень агрессивности. По умолчанию: 1.
  Уровни агрессивности:
  1. Незаметный    Делает один HTTP-запрос на цель. Также следует перенаправлениям.
  3. Агрессивный   Если сопоставлен плагин уровня 1, будут сделаны дополнительные запросы.
  4. Тяжелый       Делает много HTTP-запросов на цель. Агрессивные тесты из
      всех плагинов используются для всех URL-адресов.

ОПЦИИ HTTP:
  --user-agent, -U=АГЕНТ   Идентифицироваться как АГЕНТ вместо WhatWeb/0.6.3.
  --header, -H             Добавить HTTP-заголовок, например "Foo:Bar". Указание стандартного
                           заголовка заменит его. Указание пустого значения, например
                           "User-Agent:", удалит заголовок.
  --follow-redirect=КОГДА  Контролировать, когда следовать перенаправлениям. КОГДА может быть
                           `never' (никогда), `http-only' (только HTTP), `meta-only' (только meta),
                           `same-site' (тот же сайт) или `always' (всегда).
                           По умолчанию: always.
  --max-redirects=ЧИСЛО    Максимальное количество последовательных перенаправлений. По умолчанию: 10.

АУТЕНТИФИКАЦИЯ:
  --user, -u=<пользователь:пароль> Базовая HTTP-аутентификация.
  --cookie, -c=КУКИ         Предоставить куки, например 'name=value; name2=value2'.
  --cookiejar=ФАЙЛ          Прочитать куки из файла.
  --no-cookies              Отключить автоматическую обработку куки (улучшает производительность
                            при большом количестве потоков).

### Обработка куки

WhatWeb автоматически обрабатывает куки между перенаправлениями по умолчанию. Это повышает точность фингерпринтинга на сайтах, требующих управления сессиями.

- `--cookie, -c=COOKIES` — Установить начальные куки вручную
- `--cookie-jar=FILE` — Загрузить куки из файла
- `--no-cookies` — Отключить автоматическую обработку куки

**Заметка о производительности:** При большом количестве потоков (>100) обработка куки может повлиять на производительность. Используйте `--no-cookies` для максимальной скорости при массовых сканированиях.

ПРОКСИ:
  --proxy           <hostname[:port]> Задать имя хоста и порт прокси.
                    По умолчанию: 8080.
  --proxy-user      <username:password> Задать имя пользователя и пароль прокси.

ПЛАГИНЫ:
  --list-plugins, -l            Вывести список всех плагинов.
  --info-plugins, -I=[SEARCH]   Вывести список всех плагинов с подробной информацией.
                                Опционально поиск по ключевым словам через запятую.
  --search-plugins=STRING       Поиск плагинов по ключевому слову.
  --plugins, -p=LIST  Выбрать плагины. LIST — список через запятую выбранных
                      плагинов. По умолчанию — все.
                      Каждый элемент может быть директорией, файлом или именем плагина и
                      может иметь опциональный модификатор, например + или -
                      Примеры: +/tmp/moo.rb,+/tmp/foo.rb
                      title,md5,+./plugins-disabled/
                      ./plugins-disabled,-md5
                      -p + является сокращением для -p +plugins-disabled.

  --grep, -g=STRING|REGEXP      Поиск строки STRING или регулярного выражения. Показывает
                                только совпадающие результаты.
                                Примеры: --grep "hello"
                                --grep "/he[l]*o/"
  --custom-plugin=DEFINITION  Определить пользовательский плагин с именем Custom-Plugin,
                        Примеры: ":text=>'powered by abc'"
                        ":version=>/powered[ ]?by ab[0-9]/"
                        ":ghdb=>'intitle:abc \"powered by abc\"'"
                        ":md5=>'8666257030b94d3bdb46e05945f60b42'"
  --dorks=PLUGIN        Вывести Google dorks для выбранного плагина.

ВЫВОД:
  --verbose, -v         Подробный вывод включает описания плагинов. Использовать дважды
                        для отладки.
  --colour,--color=WHEN управление использованием цвета. WHEN может быть `never',
                        `always' или `auto'.
  --quiet, -q           Не отображать краткий лог в STDOUT.
  --no-errors           Подавлять сообщения об ошибках.

ЖУРНАЛИРОВАНИЕ:
  --log-brief=FILE        Запись краткой, однострочной информации.
  --log-verbose=FILE      Запись подробной информации.
  --log-errors=FILE       Запись ошибок.
  --log-xml=FILE          Запись в формате XML.
  --log-json=FILE         Запись в формате JSON.
  --log-sql=FILE          Запись SQL INSERT операторов.
  --log-sql-create=FILE   Создание таблиц базы данных SQL.
  --log-json-verbose=FILE Запись в подробном формате JSON.
  --log-magictree=FILE    Запись в формате MagicTree XML.
  --log-object=FILE       Запись в формате инспекции объектов Ruby.
  --log-mongo-database    Имя базы данных MongoDB.
  --log-mongo-collection  Имя коллекции MongoDB. По умолчанию: whatweb.
  --log-mongo-host        Имя хоста или IP-адрес MongoDB. По умолчанию: 0.0.0.0.
  --log-mongo-username    Имя пользователя MongoDB. По умолчанию: nil.
  --log-mongo-password    Пароль MongoDB. По умолчанию: nil.
  --log-elastic-index     Имя индекса для хранения результатов. По умолчанию: whatweb
  --log-elastic-host      Хост:порт HTTP-интерфейса Elasticsearch. По умолчанию: 127.0.0.1:9200

ПРОИЗВОДИТЕЛЬНОСТЬ И СТАБИЛЬНОСТЬ:
  --max-threads, -t       Количество одновременных потоков. По умолчанию: 25.
  --open-timeout          Время в секундах. По умолчанию: 15.
  --read-timeout          Время в секундах. По умолчанию: 30.
  --wait=SECONDS          Пауза SECONDS секунд между соединениями.
                          Полезно при использовании одного потока.

СПРАВКА И РАЗНОЕ:
  --short-help            Краткая справка по использованию.
  --help, -h              Полная справка по использованию.
  --debug                 Вызывать ошибки в плагинах.
  --version               Вывести информацию о версии. (WhatWeb 0.6.4).

ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ:
* Сканирование example.com.
  ./whatweb example.com
* Сканирование reddit.com slashdot.org с подробными описаниями плагинов.
  ./whatweb -v reddit.com slashdot.org
* Агрессивное сканирование wired.com для определения точной версии WordPress.
  ./whatweb -a 3 www.wired.com
* Быстрое сканирование локальной сети с подавлением ошибок.
  whatweb --no-errors 192.168.0.0/24
* Сканирование локальной сети на наличие веб-сайтов https.
  whatweb --no-errors --url-prefix https:// 192.168.0.0/24
* Сканирование политик crossdomain в Alexa Top 1000.
  ./whatweb -i plugin-development/alexa-top-100.txt \
  --url-suffix /crossdomain.xml -p crossdomain_xml

Журналирование и вывод

Поддерживаются следующие типы журналирования: * --log-brief=FILE Краткий, однострочный, grep-совместимый формат * --log-verbose=FILE Подробный * --log-xml=FILE Формат XML. Предоставлен XSL-стиль * --log-json=FILE Формат JSON * --log-json-verbose=FILE Подробный формат JSON * --log-magictree=FILE Формат MagicTree XML * --log-object=FILE Формат инспекции объектов Ruby * --log-mongo-database Имя базы данных MongoDB * --log-mongo-collection Имя коллекции MongoDB. По умолчанию: whatweb * --log-mongo-host Имя хоста или IP-адрес MongoDB. По умолчанию: 0.0.0.0 * --log-mongo-username Имя пользователя MongoDB. По умолчанию: nil * --log-mongo-password Пароль MongoDB. По умолчанию: nil * --log-elastic-index Имя индекса для хранения результатов. По умолчанию: whatweb * --log-elastic-host Хост:порт HTTP-интерфейса Elasticsearch. По умолчанию: 127.0.0.1:9200 * --log-errors=FILE Запись ошибок. Обычно выводится на экран красным цветом.

Вы можете выводить в несколько журналов одновременно, указав несколько параметров журналирования в командной строке. Продвинутые пользователи, желающие получить вывод в формате SQL, должны ознакомиться с исходным кодом для получения информации о неподдерживаемых функциях.

Плагины

Совпадения определяются с помощью: * Текстовых строк (с учетом регистра) * Регулярных выражений * Запросов Google Hack Database (ограниченный набор ключевых слов) * Хешей MD5 * Распознавания URL * Паттернов HTML-тегов * Пользовательского кода Ruby для пассивных и агрессивных операций

Чтобы увидеть список поддерживаемых плагинов:

$ ./whatweb -l

Список плагинов WhatWeb

Имя плагина - Описание
--------------------------------------------------------------------------------
1024-CMS - 1024 - одна из немногих CMS, лидирующей с реализацией...
360-Web-Manager - 360-Web-Manager
3COM-NBX - Телефонная система 3COM NBX. Утилита NBX NetSet является веб-интерфейсом i...
3dcart - 3dcart - Программное обеспечение для корзины 3dcart является.complete ecommerce s...
4D - Сервер развертывания веб-приложений 4D
4images - 4images - это мощная система управления веб-галереей изображений. Fe...
... (сокращено)

Поиск плагинов

Чтобы увидеть больше деталей о плагине или найти плагины по ключевому слову:

$ ./whatweb -I phpBB

Подробный список плагинов WhatWeb
Поиск по phpBB
================================================================================
Плагин:         phpBB
--------------------------------------------------------------------------------
Описание:    phpBB - это бесплатный форум
Веб-сайт:        http://phpbb.org/

Автор:         Andrew Horton
Версия:        0.3

Возможности:       [Да]  Сопоставление паттернов (7)
                [Да]  Определение версии по паттерну
                [Да]  Функция для пассивных совпадений
                [Да]  Функция для агрессивных совпадений
                [Да]  Google Dorks (1)

Google Dorks:
[1] "Powered by phpBB"
================================================================================

Выбор плагинов

По умолчанию загружаются все плагины.

Плагины можно выбирать по директориям, файлам или именам плагинов в виде списка через запятую с помощью опции командной строки -p или --plugin.

Каждый элемент списка может иметь модификатор: + добавляет к полному набору, - удаляет из полного набора, а отсутствие модификатора переопределяет настройки по умолчанию.

Примеры

  • --plugins +plugins-disabled,-foobar
  • --plugins +/tmp/moo.rb
  • --plugins foobar (выбрать только foobar)
  • -p title,md5,+./plugins-disabled/
  • -p ./plugins-disabled,-md5

Опция командной строки --dorks <имя плагина> возвращает Google dorks для выбранного плагина. Например, --dorks wordpress возвращает "is proudly powered by WordPress"

Опция командной строки --grep, -g ищет выбранную строку на целевой странице и возвращает совпадение в плагине с именем Grep, если оно найдено.

Агрессивность

WhatWeb предлагает несколько уровней агрессивности. По умолчанию уровень агрессивности установлен на 1 (маскировочный), что отправляет один HTTP-запрос GET и также следует редиректам.

--aggression, -a

  1. Маскировочный. Выполняет один HTTP-запрос к каждой цели. Также следует редиректам.
    2. Не используется.
  3. Агрессивный. Может выполнить несколько HTTP-запросов к каждой цели. Это активирует агрессивные плагины для целей только в том случае, если эти плагины были идентифицированы с помощью запроса уровня 1.
  4. Навязчивый. Выполняет множество HTTP-запросов к каждой цели. Агрессивные тесты от всех плагинов используются для всех URL-адресов.

Агрессивные плагины уровня 3 будут угадывать больше URL-адресов и выполнять действия, которые потенциально неприемлемы без разрешения. В настоящее время WhatWeb не поддерживает тесты вторжения/эксплуатации в плагинах.

Пример различий в результатах между уровнями 1 и 3:

Сканирование уровня 1 (маскировочное) определяет, что сайт smartor.is-root.com/forum/ использует phpBB версии 2:

$ ./whatweb smartor.is-root.com/forum/
http://smartor.is-root.com/forum/ [200] PasswordField[password], HTTPServer[Apache/2.2.15], PoweredBy[phpBB], Apache[2.2.15], IP[88.198.177.36], phpBB[2], PHP[5.2.13], X-Powered-By[PHP/5.2.13], Cookies[phpbb2mysql_data,phpbb2mysql_sid], Title[Smartors Mods Forums - Reloaded], Country[GERMANY][DE]

Сканирование уровня 3 (агрессивное) запускает дополнительные тесты в плагине phpBB, которые определяют, что сайт использует phpBB версии 2.0.20 или выше:

$ ./whatweb -p plugins/phpbb.rb -a 3 smartor.is-root.com/forum/
http://smartor.is-root.com/forum/ [200] phpBB[2,>2.0.20]

Обратите внимание на использование аргумента -p для выбора только плагина phpBB. Рекомендуется, но не обязательно, выбирать конкретный плагин при попытке определить версию ПО в агрессивном режиме. Этот подход гораздо более маскировочный, так как он ограничивает количество запросов.

WhatWeb не имеет кэширования, поэтому при использовании агрессивных плагинов на URL-адресах с редиректами вы можете загружать одни и те же файлы несколько раз.

Производительность и стабильность

WhatWeb предлагает несколько опций для повышения производительности и стабильности.

  • --max-threads, -t Количество одновременных потоков. По умолчанию: 25.
  • --open-timeout Время в секундах. По умолчанию: 15
  • --read-timeout Время в секундах. По умолчанию: 30
  • --wait=SECONDS Ждать SECONDS между соединениями. Это полезно при использовании одного потока.
  • --output-sync Принудительно очищать буфер вывода на экран и в журналы для мониторинга в реальном времени (медленнее при большом количестве потоков).
  • --output-buffer-size=SIZE Установить размер буфера вывода для экрана и журналов. 0=без буферизации, по умолчанию=автоматически на основе количества потоков.

Команды --wait и --max-threads можно использовать для обхода IDS.

Оптимизация производительности вывода

WhatWeb автоматически оптимизирует производительность вывода как для экрана, так и для файлов журналов на основе количества потоков:

  • Малое количество потоков (1-5):
  • Синхронизация: Включена (немедленная очистка буфера)
  • Размер буфера: 1 (минимальная буферизация для вывода в реальном времени)
  • Сценарий использования: Интерактивное сканирование, мониторинг в реальном времени.

  • Среднее количество потоков (6-50):

  • Синхронизация: Выключена (асинхронный ввод-вывод)
  • Размер буфера: 10 (небольшой буфер для сбалансированной производительности)
  • Сценарий использования: Стандартное пакетное сканирование, включая параметр по умолчанию (25 потоков).

  • Большое количество потоков (51+):

  • Синхронизация: Выключена (асинхронный ввод-вывод)
  • Размер буфера: 25 (больший буфер для минимизации конфликтов ввода-вывода)
  • Сценарий использования: Сканирование с высоким объемом, большие списки целей (100+ потоков).

Вы можете переопределить эти значения по умолчанию как для вывода на экран, так и для файлов журналов:

# Принудительно выводить в реальном времени на экран и в журналы (медленнее, но немедленно)
./whatweb --output-sync -t 100 --log-brief=results.txt targets.txt

# Пользовательский размер буфера для логирования с высоким объемом
./whatweb --output-buffer-size=50 -t 100 --log-verbose=detailed.log targets.txt

# Полностью отключить буферизацию для немедленной записи в файлы
./whatweb --output-buffer-size=0 -t 10 --log-json=results.json targets.txt

Эти оптимизации применяются ко всем форматам вывода, включая краткий, подробный, XML, JSON и другие форматы журналов.

Технические подробности

Поведение синхронизации вывода: - Включена: Каждая строка вывода немедленно записывается на диск/экран (медленнее, но в реальном времени) - Выключена: Вывод буферизуется в памяти перед записью (быстрее, но с задержкой)

Влияние размера буфера: - Размер 1: Минимальная буферизация, почти немедленный вывод - Размер 10: Небольшой буфер удерживает ~10 результатов перед записью - Размер 25+: Больший буфер уменьшает количество системных вызовов ввода-вывода для повышения производительности - Размер 0: Полностью без буферизации (эквивалентно включенной синхронизации)

Поддержка профилирования

Включите профилирование производительности для выявления узких мест:

# Базовое профилирование в stderr
WHATWEB_PROFILE=1 ./whatweb -t 25 targets.txt

# Сохранить профиль в файл
WHATWEB_PROFILE=1 WHATWEB_PROFILE_FILE=profile.txt ./whatweb -t 25 targets.txt

Примечание: Для профилирования необходим гем ruby-prof: gem install ruby-prof

Изменение user-агента с помощью опции командной строки -U или --user-agent позволит избежать правила Snort IDS для WhatWeb.

Если вы сканируете диапазоны IP-адресов, гораздо эффективнее использовать сканер портов, например massscan, чтобы обнаружить, какие порты 80 открыты, перед сканированием с помощью WhatWeb.

Определение набора символов с помощью плагина Charset резко снижает производительность из-за повышенного потребления CPU. Это требуется для логирования в форматах JSON и MongoDB.

Необязательные зависимости

WhatWeb поддерживает необязательные зависимости для логирования в MongoDB и определения набора символов.

Необязательные зависимости — это причина, по которой Gemfile разделен на группы, и WhatWeb не поставляется с Gemfile.lock. Если вам нужен Gemfile.lock, он будет создан при запуске bundle install.

Вы можете установить их с помощью групп Bundler:

Поддержка MongoDB

Для включения логирования в MongoDB:

# Установить зависимости
bundle install --with mongo

# Если вы используете старую версию Bundler
GEMFILE_GROUPS="default mongo" bundle install

Определение набора символов

Для включения определения набора символов (требуется для логирования в форматах JSON и MongoDB):

# Установить зависимости
bundle install --with rchardet

# Если вы используете старую версию Bundler
GEMFILE_GROUPS="default rchardet" bundle install

# Скопировать плагин набора символов
cp plugins-disabled/charset.rb my-plugins/

Все необязательные зависимости

Для установки всех необязательных зависимостей одновременно:

# Установить все необязательные группы
bundle install --with mongo rchardet

# Если вы используете старую версию Bundler
GEMFILE_GROUPS="default mongo rchardet" bundle install

Примечание: Определение набора символов резко снижает производительность из-за повышенного потребления CPU. Включайте его только при необходимости.

Написание плагинов

Плагины писать легко. Начните с изучения руководств по плагинам в папке my-plugins/.

Обзор руководств по плагинам находится здесь. plugin-tutorials.txt

После изучения руководств прочитайте раздел "Разработка" на вики.

Обновления и дополнительная информация

Сборка WhatWeb для разработки регулярно обновляется.

  • Проверяйте ветки разработки для неопубликованных обновлений.

Просматривайте вики для получения дополнительной документации и продвинутых техник использования.

  • Вики: https://github.com/urbanadventurer/WhatWeb/wiki/

История релизов

  • Версия 0.6.4 Выпущена 3 апреля 2026
  • Версия 0.6.3 Выпущена 18 октября 2025
  • Версия 0.6.2 Выпущена 25 августа 2025
  • Версия 0.6.1 Выпущена 30 июля 2025
  • Версия 0.5.4 Выпущена 14 декабря 2020
  • Версия 0.5.3 Выпущена 1 октября 2020
  • Версия 0.5.2 Выпущена 9 июня 2020
  • Версия 0.5.1 Выпущена 25 февраля 2020
  • Версия 0.5.0 Выпущена 9 июня 2019
  • Версия 0.4.9 Выпущена 23 ноября 2017
  • Версия 0.4.8-dev (Непрерывный релиз с 2012 по 2017)
  • Версия 0.4.7 Выпущена 5 апреля 2011
  • Версия 0.4.6 Выпущена 25 марта 2011
  • Версия 0.4.5 Выпущена 17 августа 2010
  • Версия 0.4.4 Выпущена 29 июня 2010
  • Версия 0.4.3 Выпущена 24 мая 2010
  • Версия 0.4.2 Выпущена 30 апреля 2010
  • Версия 0.4.1 Выпущена 28 апреля 2010
  • Версия 0.4 Выпущена 14 марта 2010
  • Версия 0.3 Выпущена на Kiwicon III (kiwicon.org), 2 ноября 2009

Благодарности

Разработчики

  • Andrew Horton (@urbanadventurer)
  • Brendan Coles (@bcoles)

Участники

Благодарим следующих людей, внёсших вклад в развитие WhatWeb.

  • Emilio Casbas
  • Louis Nyffenegger
  • Patrik Wallström (@pawal)
  • Caleb Anderson (@dirtyfilthy)
  • Tonmoy Saikia
  • Aung Khant (@yehgdotnet)
  • Erik Inge Bolsø
  • nk@dsigned.gr
  • Steve Milner (@ashcrow)
  • Michal Ambroz
  • Gremwell
  • Sagar Prakash Junnarkar (@sagarjunnarkar)
  • GertBerger
  • Quintin Poirier
  • Eric Sesterhenn
  • dengjw (@jawa)
  • Pedro Worcel (@droop)
  • Matthieu Keller (@maggick)
  • Peter (2pvdl)
  • Napz (@RootCon)
  • @nilx042
  • Fabian Affolter (@fabaff)
  • Andrew Silvernail (@buff3r)
  • Andre Ricardo (@andrericardo)
  • nikosk
  • Patrick Thomas (@coffeetocode)
  • Guillaume Delcaour (@guikcd)
  • Sean (@wiifm69)
  • Matthieu Keller (@maggick)
  • Raul (@raurodse)
  • Andrew Petro (@apetro)
  • Artem Taranyuk (@610)
  • Matti Paksula (@matti)
  • Tim Smith (@tas50)
  • Sarthak Munshi (@saru95)
  • @rdubourguais
  • @SlivTaMere
  • @Code0x58
  • @iGeek098
  • @andreas-becker
  • @csalazar
  • Igor Rzegocki (@ajgon)
  • @juananpe
  • @lins05
  • @anozoozian
  • Bhavin Senjaliya (@bhavin1223)
  • Chad Brigance (@ChadBrigance)
  • Daniel Maldonado
  • Elias Dorneles (@eliasdorneles)
  • Eugene Amirov
  • Gregory Boddin (@gboddin)
  • Guillaume Delacour
  • Janosch Maier (@phylu)
  • Max Davitt (@themaxdavitt)
  • Naglis Jonaitis (@naglis)
  • Shuai Lin
  • Sigit Dewanto (@sigit)
  • @wh1tenoise
  • @golewski
  • @Allactaga
  • @elcodigok
  • @SlivTaMere
  • @rmaksimov
  • Melvil Guillaume (@mguillau42)
  • @LrsK
  • @abenson
  • @blshkv
  • Weidsom Nascimento (@weidsom)
  • Marcelo Gimenes (@cgimenes)
  • @xambroz
  • Baptiste Fontaine (@bfontaine)
  • @definity
  • @huntertl
  • Michael Ippolito (@spookycave)
  • @mkauschi
  • @frapava98
  • John de Kroon (@johndekroon)
  • @mtisec
  • Claude от Anthropic

Следить за всеми, кто внёс вклад в WhatWeb, довольно сложно. Если ваше имя отсутствует в списке, пожалуйста, дайте мне знать.

Комментарии
Войдите, чтобы оставить комментарий