WebGhost — это программа (утилита), которая создаёт многостраничный корпоративный сайт и имитирует вокруг него реалистичную посещаемость.
Зачем это нужно: чтобы ваш HTTPS-прокси трафик было невозможно отличить от обычного корпоративного сайта. WebGhost подходит для маскировки прокси-серверов, работающих через HTTPS на 443 порту: NaiveProxy, Hysteria (с HTTP-маскировкой), Xray (VLESS+XTLS), Trojan и других.
- Генерирует полноценный сайт — блог, раздел «О компании», контакты, карта сайта, robots.txt, sitemap.xml и все необходимые ресурсы (CSS, JS, изображения, шрифты)
- Имитирует реальных посетителей — разные браузеры (Chrome, Firefox, Safari, Edge), паузы чтения, переходы по ссылкам, отправка форм, UTM-метки
- Добавляет фоновый шум — запросы от поисковых ботов, сканеров безопасности, попытки доступа к несуществующим страницам
- Поддерживает взаимную имитацию — два сервера могут генерировать трафик друг для друга
- Обновляется одной командой —
webghost update
WebGhost не создаёт одинаковые сайты. При генерации используется доменное имя как источник энтропии, поэтому каждый домен получает:
- Уникальный логотип — название компании в верхнем регистре
- Индивидуальную цветовую схему — оттенки акцентного цвета, градиенты и прозрачности слегка отличаются от сайта к сайту
- Персональные контакты — email и телефон привязаны к вашему домену
Визуально все сайты выглядят в едином корпоративном стиле, но повторная установка на другом домене создаст похожий, но не идентичный дизайн. Это усложняет создание сигнатур DPI на основе внешнего вида сайта.
⚠️ Заменитеexmple.comна свой собственный домен.
wget https://github.com/krdn-dev/webghost/releases/latest/download/webghost-linux-amd64 -O /usr/local/bin/webghost
chmod +x /usr/local/bin/webghost
webghost example.com installили
wget -O /usr/local/bin/webghost https://github.com/krdn-dev/webghost/releases/latest/download/webghost-linux-amd64 && chmod +x /usr/local/bin/webghost && webghost example.com installwebghost example.com installПосле выполнения:
- В
/var/www/htmlсгенерируется полноценный корпоративный сайт. - Настроится systemd‑таймер, запускающий имитацию трафика.
- Сразу выполнится первый прогон симуляции, чтобы лог начал наполняться.
webghost example.com install --postwebghost example.com install --quiet
webghost example.com install --post --quietЭтот режим полезен при автоматической установке через скрипты – консоль остаётся чистой, а WebGhost продолжает работать в фоне.
webghost my-site.com partner-site.com installWebGhost будет слать запросы к my-site.com, а также к partner-site.com, имитируя взаимные визиты.
cat /var/log/webghost-activity.logВ логе вы увидите посещения страниц (HTTP 200, 304, 404), загрузку ресурсов, смену User-Agent и фоновый шум, отвлечения, аналитика Google и т.д.
webghost uninstallТаймер и скрипт автоматического запуска будут удалены. Сайт останется нетронутым.
webghost uninstall-allУдаляются: systemd‑таймер, сгенерированный сайт /var/www/html, бинарник /usr/local/bin/webghost и лог‑файл /var/log/webghost-activity.log.
webghost updateПо умолчанию, без флага --post, WebGhost не добавляет форму обратной связи на главную страницу.
Почему: POST-запросы обрабатывает не WebGhost, а веб-сервер (Caddy, Nginx, Apache). WebGhost генерирует статические HTML-страницы, но не может управлять тем, как веб-сервер отвечает на POST-запросы. Если форма есть, а веб-сервер не настроен на приём POST, он вернёт ошибку 405 Method Not Allowed. Любые ошибки в логах привлекают внимание DPI и могут демаскировать прокси-трафик. Поэтому по умолчанию форма отключена — WebGhost не должен ничего создавать, что могло бы сгенерировать подозрительный ответ сервера.
Если вы хотите добавить работающую форму, используйте флаг --post
webghost example.com install --post и дополнительно настройте веб-сервер (примеры настройки приведены ниже).
- На главной странице появится форма с полями: имя, email, сообщение
- Будет создана страница благодарности
/contact/thank-you.html - POST-запросы к
/contactбудут возвращать 302 с редиректом на страницу благодарности
Для корректной работы формы необходимо настроить ваш веб-сервер (Caddy, Nginx) на обработку POST-запросов к /contact с редиректом на /contact/thank-you.html.
@post method POST
handle @post {
handle /contact* {
header Location "/contact/thank-you.html"
respond "" 302
}
}location /contact {
if ($request_method = POST) {
return 302 /contact/thank-you.html;
}
try_files $uri $uri/ =404;
}Эта информация намеренно не раскрывается. Чем меньше деталей о внутренних алгоритмах и шаблонах попадает в открытый доступ, тем сложнее разработчикам систем глубокого анализа трафика (DPI) разработать контрмеры. Разработчики на «той стороне» тоже читают документацию, поэтому самые эффективные настройки остаются внутри кода.
А что, DPI не видит, что трафик идёт с локального сервера, а не от реальных посетителей из интернета?
DPI провайдера видит общий поток данных, проходящий через сервер. Он анализирует метаданные (IP, объём, тайминги), но не всегда может определить точный источник запроса внутри сети. WebGhost смешивает имитированный трафик с реальным, усложняя выделение настоящих прокси-соединений на общем фоне. Однако некоторые продвинутые DPI могут анализировать задержки или сетевые потоки (NetFlow) и заметить, что часть запросов исходит с локального хоста. Именно поэтому мы рекомендуем использовать WebGhost в режиме взаимной имитации — когда два сервера обмениваются трафиком, создавая двустороннюю картину, которую значительно сложнее отличить от реальной.
WebGhost поддерживает два режима работы:
-
Локальный режим — имитация посетителей только на вашем сервере. Используется по умолчанию, создаёт полноценную картину активного сайта.
-
Режим взаимной имитации — оба сервера обмениваются трафиком. Ваш сервер создаёт облегчённую имитацию для себя и полноценную для удалённого. Это делает трафик двусторонним и ещё более естественным для DPI.
Точные параметры (количество сессий, вероятность всплесков) не раскрываются по соображениям безопасности — они являются частью стратегии обхода DPI.
Вся активность записывается в лог /var/log/webghost-activity.log.
Чтобы просмотреть накопленные записи, выполните команду в терминале: cat /var/log/webghost-activity.log.
В логе вы увидите: посещения страниц (HTTP 200), запросы к ресурсам (favicon.ico, style.css, картинки), смену User‑Agent и эмуляцию разных браузеров, фоновый шум (редкие запросы к несуществующим страницам) и многое другое.
Для максимальной реалистичности — да. WebGhost при взаимной имитации запрашивает те же страницы, которые генерирует при setup-site. Если на удалённом сервере нет такого сайта, он будет отвечать ошибками 404, что неестественно для корпоративного портала и может привлечь внимание DPI.
Да, веб‑сервер обязателен. WebGhost создаёт сайт и имитирует трафик, но сам не обрабатывает входящие HTTPS‑запросы. Веб‑сервер (Caddy, Nginx и т.д.) должен быть установлен и настроен отдельно, чтобы сайт был доступен из интернета. Если вы используете NaiveProxy Manager, веб‑сервер устанавливается автоматически.
- Linux (amd64 или arm64)
- Домен, привязанный к серверу (A-запись должна указывать на ваш IP)
- Доступ к порту 443 (HTTPS)
- Права root (для записи в
/var/www/htmlи/usr/local/bin) - Работающий веб‑сервер, отвечающий по HTTPS на вашем домене (Caddy, Nginx и т.д.)
Проект распространяется под проприетарной лицензией
Все права защищены.
Разрешено:
- Свободное использование бинарника в личных и коммерческих целях
- Копирование и распространение бинарника с сохранением авторства
Запрещено:
- Модификация, декомпиляция и reverse engineering
- Публикация исходного кода или его производных
Если хотите поддержать развитие проекта, можете отправить небольшое пожертвование
bc1p4ttkpfrgzpm7nyymyzdgyd2y6z04s62nxpygk38yylcp3t47m98qwnuhen
❤️ Спасибо за поддержку!
⭐ Поставьте звезду репозиторию, если скрипт вам помог!